diff --git a/externals/cg-linux/bin/cgc b/externals/cg-linux/bin/cgc new file mode 100644 index 000000000..b695ece93 Binary files /dev/null and b/externals/cg-linux/bin/cgc differ diff --git a/externals/cg-linux/bin/cgfxcat b/externals/cg-linux/bin/cgfxcat new file mode 100644 index 000000000..00ba53df0 Binary files /dev/null and b/externals/cg-linux/bin/cgfxcat differ diff --git a/externals/cg-linux/bin/cginfo b/externals/cg-linux/bin/cginfo new file mode 100644 index 000000000..392a09489 Binary files /dev/null and b/externals/cg-linux/bin/cginfo differ diff --git a/externals/cg-linux/cg-config-version.cmake b/externals/cg-linux/cg-config-version.cmake new file mode 100644 index 000000000..17b611ca7 --- /dev/null +++ b/externals/cg-linux/cg-config-version.cmake @@ -0,0 +1,24 @@ +set(PACKAGE_VERSION "3.1.0013") + +if("3.1.0013" MATCHES "^([0-9]+\\.[0-9]+\\.[0-9]+)\\.") # strip the tweak version + set(CVF_VERSION_NO_TWEAK "${CMAKE_MATCH_1}") +else() + set(CVF_VERSION_NO_TWEAK "3.1.0013") +endif() + +if(PACKAGE_FIND_VERSION MATCHES "^([0-9]+\\.[0-9]+\\.[0-9]+)\\.") # strip the tweak version + set(REQUESTED_VERSION_NO_TWEAK "${CMAKE_MATCH_1}") +else() + set(REQUESTED_VERSION_NO_TWEAK "${PACKAGE_FIND_VERSION}") +endif() + +if(REQUESTED_VERSION_NO_TWEAK STREQUAL CVF_VERSION_NO_TWEAK) + set(PACKAGE_VERSION_COMPATIBLE TRUE) +else() + set(PACKAGE_VERSION_COMPATIBLE FALSE) +endif() + +if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) +endif() + diff --git a/externals/cg-linux/cg-config.cmake b/externals/cg-linux/cg-config.cmake new file mode 100644 index 000000000..01f7581d7 --- /dev/null +++ b/externals/cg-linux/cg-config.cmake @@ -0,0 +1,105 @@ +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6) + + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget Cg CgGL) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target Cg +add_library(Cg STATIC IMPORTED) +add_library(CgGL STATIC IMPORTED) + +set_target_properties(Cg PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include/Cg" +) + +# Import target "Cg" for configuration "debug" +set_property(TARGET Cg APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) +set_target_properties(Cg PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/libCg.so" + ) + +list(APPEND _IMPORT_CHECK_TARGETS Cg ) +#list(APPEND _IMPORT_CHECK_FILES_FOR_Cg "${_IMPORT_PREFIX}/lib/libCg.a") + +set_target_properties(CgGL PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include/Cg" +) + +# Import target "CgGL" for configuration "debug" +set_property(TARGET CgGL APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) +set_target_properties(CgGL PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/libCgGL.so" + ) + +list(APPEND _IMPORT_CHECK_TARGETS CgGL ) + + + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) \ No newline at end of file diff --git a/externals/cg-linux/include/Cg/cg.h b/externals/cg-linux/include/Cg/cg.h new file mode 100644 index 000000000..11d94b41e --- /dev/null +++ b/externals/cg-linux/include/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/externals/cg-linux/include/Cg/cgGL.h b/externals/cg-linux/include/Cg/cgGL.h new file mode 100644 index 000000000..07d1f93fd --- /dev/null +++ b/externals/cg-linux/include/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 diff --git a/externals/cg-linux/lib/libCg.so b/externals/cg-linux/lib/libCg.so new file mode 100644 index 000000000..e0f8cbe90 Binary files /dev/null and b/externals/cg-linux/lib/libCg.so differ diff --git a/externals/cg-linux/lib/libCgGL.so b/externals/cg-linux/lib/libCgGL.so new file mode 100644 index 000000000..44b8f9477 Binary files /dev/null and b/externals/cg-linux/lib/libCgGL.so differ diff --git a/externals/cmakemodules/GetCompilerAndPlatform.cmake b/externals/cmakemodules/GetCompilerAndPlatform.cmake index f85668a9b..efaee8805 100644 --- a/externals/cmakemodules/GetCompilerAndPlatform.cmake +++ b/externals/cmakemodules/GetCompilerAndPlatform.cmake @@ -23,6 +23,8 @@ FUNCTION(GetCompiler _ret) ENDIF() ELSEIF (GHSMULTI) SET(COMPILER_SUFFIX "ghs") + ELSEIF (MSVC_VERSION GREATER_EQUAL 1920) + SET(COMPILER_SUFFIX "vc142") ELSEIF (MSVC_VERSION GREATER_EQUAL 1910) SET(COMPILER_SUFFIX "vc141") ELSEIF (MSVC14) @@ -107,9 +109,13 @@ FUNCTION (GetPlatformBinName PLATFORM_BIN_NAME LIBPATH_SUFFIX) ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "xboxone") SET(RETVAL "xboxone.${COMPILER}") ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "switch") + IF (${CMAKE_GENERATOR_PLATFORM} STREQUAL "NX32") + SET(RETVAL "switch32") + ELSEIF (${CMAKE_GENERATOR_PLATFORM} STREQUAL "NX64") SET(RETVAL "switch64") + ENDIF() ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "android") - SET(RETVAL "android.arm.fp-soft") + SET(RETVAL "android.${ANDROID_ABI}.fp-soft") ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "linux") IF (${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "x86_64-unknown-linux-gnu" OR ${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "x86_64-linux-gnu") SET(RETVAL "linux.clang") diff --git a/externals/cmakemodules/ios/ios.toolchain.cmake b/externals/cmakemodules/ios/ios.toolchain.cmake index 1f6ed459d..94ed6cab8 100644 --- a/externals/cmakemodules/ios/ios.toolchain.cmake +++ b/externals/cmakemodules/ios/ios.toolchain.cmake @@ -113,7 +113,7 @@ set(IOS_PLATFORM ${IOS_PLATFORM} CACHE STRING # from the specified IOS_PLATFORM name. if (IOS_PLATFORM STREQUAL "OS") set(XCODE_IOS_PLATFORM iphoneos) - set(IOS_ARCH armv7 armv7s arm64) + set(IOS_ARCH arm64) elseif (IOS_PLATFORM STREQUAL "SIMULATOR") set(XCODE_IOS_PLATFORM iphonesimulator) set(IOS_ARCH i386) diff --git a/externals/glew-linux/LICENSE.txt b/externals/glew-linux/LICENSE.txt new file mode 100644 index 000000000..f7078042e --- /dev/null +++ b/externals/glew-linux/LICENSE.txt @@ -0,0 +1,73 @@ +The OpenGL Extension Wrangler Library +Copyright (C) 2002-2007, Milan Ikits +Copyright (C) 2002-2007, Marcelo E. Magallon +Copyright (C) 2002, Lev Povalahev +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +* The name of the author may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + + +Mesa 3-D graphics library +Version: 7.0 + +Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Copyright (c) 2007 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. diff --git a/externals/glew-linux/glew-config-version.cmake b/externals/glew-linux/glew-config-version.cmake new file mode 100644 index 000000000..0bf98c05d --- /dev/null +++ b/externals/glew-linux/glew-config-version.cmake @@ -0,0 +1,24 @@ +set(PACKAGE_VERSION "1.13.0") + +if("1.13.0" MATCHES "^([0-9]+\\.[0-9]+\\.[0-9]+)\\.") # strip the tweak version + set(CVF_VERSION_NO_TWEAK "${CMAKE_MATCH_1}") +else() + set(CVF_VERSION_NO_TWEAK "1.13.0") +endif() + +if(PACKAGE_FIND_VERSION MATCHES "^([0-9]+\\.[0-9]+\\.[0-9]+)\\.") # strip the tweak version + set(REQUESTED_VERSION_NO_TWEAK "${CMAKE_MATCH_1}") +else() + set(REQUESTED_VERSION_NO_TWEAK "${PACKAGE_FIND_VERSION}") +endif() + +if(REQUESTED_VERSION_NO_TWEAK STREQUAL CVF_VERSION_NO_TWEAK) + set(PACKAGE_VERSION_COMPATIBLE TRUE) +else() + set(PACKAGE_VERSION_COMPATIBLE FALSE) +endif() + +if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) +endif() + diff --git a/externals/glew-linux/glew-config.cmake b/externals/glew-linux/glew-config.cmake new file mode 100644 index 000000000..460fab705 --- /dev/null +++ b/externals/glew-linux/glew-config.cmake @@ -0,0 +1,91 @@ +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6) + + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget glew) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target glew +add_library(glew STATIC IMPORTED) + +set_target_properties(glew PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" +) + + +# Import target "glew" for configuration "debug" +set_property(TARGET glew APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) +set_target_properties(glew PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/libGLEW.a" + ) + +list(APPEND _IMPORT_CHECK_TARGETS glew ) +list(APPEND _IMPORT_CHECK_FILES_FOR_glew "${_IMPORT_PREFIX}/lib/libGLEW.a") + + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) \ No newline at end of file diff --git a/externals/glew-linux/include/GL/glew.h b/externals/glew-linux/include/GL/glew.h new file mode 100644 index 000000000..ba545de88 --- /dev/null +++ b/externals/glew-linux/include/GL/glew.h @@ -0,0 +1,19763 @@ +/* +** The OpenGL Extension Wrangler Library +** Copyright (C) 2008-2015, Nigel Stewart +** Copyright (C) 2002-2008, Milan Ikits +** Copyright (C) 2002-2008, Marcelo E. Magallon +** Copyright (C) 2002, Lev Povalahev +** All rights reserved. +** +** Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are met: +** +** * Redistributions of source code must retain the above copyright notice, +** this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright notice, +** this list of conditions and the following disclaimer in the documentation +** and/or other materials provided with the distribution. +** * The name of the author may be used to endorse or promote products +** derived from this software without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +** THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + * Mesa 3-D graphics library + * Version: 7.0 + * + * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/* +** Copyright (c) 2007 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +#ifndef __glew_h__ +#define __glew_h__ +#define __GLEW_H__ + +#if defined(__gl_h_) || defined(__GL_H__) || defined(_GL_H) || defined(__X_GL_H) +#error gl.h included before glew.h +#endif +#if defined(__gl2_h_) +#error gl2.h included before glew.h +#endif +#if defined(__gltypes_h_) +#error gltypes.h included before glew.h +#endif +#if defined(__REGAL_H__) +#error Regal.h included before glew.h +#endif +#if defined(__glext_h_) || defined(__GLEXT_H_) +#error glext.h included before glew.h +#endif +#if defined(__gl_ATI_h_) +#error glATI.h included before glew.h +#endif + +#define __gl_h_ +#define __gl2_h_ +#define __GL_H__ +#define _GL_H +#define __gltypes_h_ +#define __REGAL_H__ +#define __X_GL_H +#define __glext_h_ +#define __GLEXT_H_ +#define __gl_ATI_h_ + +#if defined(_WIN32) + +/* + * GLEW does not include to avoid name space pollution. + * GL needs GLAPI and GLAPIENTRY, GLU needs APIENTRY, CALLBACK, and wchar_t + * defined properly. + */ +/* and */ +#ifdef APIENTRY +# ifndef GLAPIENTRY +# define GLAPIENTRY APIENTRY +# endif +# ifndef GLEWAPIENTRY +# define GLEWAPIENTRY APIENTRY +# endif +#else +#define GLEW_APIENTRY_DEFINED +# if defined(__MINGW32__) || defined(__CYGWIN__) || (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) +# define APIENTRY __stdcall +# ifndef GLAPIENTRY +# define GLAPIENTRY __stdcall +# endif +# ifndef GLEWAPIENTRY +# define GLEWAPIENTRY __stdcall +# endif +# else +# define APIENTRY +# endif +#endif +#ifndef GLAPI +# if defined(__MINGW32__) || defined(__CYGWIN__) +# define GLAPI extern +# endif +#endif +/* */ +#ifndef CALLBACK +#define GLEW_CALLBACK_DEFINED +# if defined(__MINGW32__) || defined(__CYGWIN__) +# define CALLBACK __attribute__ ((__stdcall__)) +# elif (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +#endif +/* and */ +#ifndef WINGDIAPI +#define GLEW_WINGDIAPI_DEFINED +#define WINGDIAPI __declspec(dllimport) +#endif +/* */ +#if (defined(_MSC_VER) || defined(__BORLANDC__)) && !defined(_WCHAR_T_DEFINED) +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +#endif +/* */ +#if !defined(_W64) +# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && defined(_MSC_VER) && _MSC_VER >= 1300 +# define _W64 __w64 +# else +# define _W64 +# endif +#endif +#if !defined(_PTRDIFF_T_DEFINED) && !defined(_PTRDIFF_T_) && !defined(__MINGW64__) +# ifdef _WIN64 +typedef __int64 ptrdiff_t; +# else +typedef _W64 int ptrdiff_t; +# endif +# define _PTRDIFF_T_DEFINED +# define _PTRDIFF_T_ +#endif + +#ifndef GLAPI +# if defined(__MINGW32__) || defined(__CYGWIN__) +# define GLAPI extern +# else +# define GLAPI WINGDIAPI +# endif +#endif + +/* + * GLEW_STATIC is defined for static library. + * GLEW_BUILD is defined for building the DLL library. + */ + +#ifdef GLEW_STATIC +# define GLEWAPI extern +#else +# ifdef GLEW_BUILD +# define GLEWAPI extern __declspec(dllexport) +# else +# define GLEWAPI extern __declspec(dllimport) +# endif +#endif + +#else /* _UNIX */ + +/* + * Needed for ptrdiff_t in turn needed by VBO. This is defined by ISO + * C. On my system, this amounts to _3 lines_ of included code, all of + * them pretty much harmless. If you know of a way of detecting 32 vs + * 64 _targets_ at compile time you are free to replace this with + * something that's portable. For now, _this_ is the portable solution. + * (mem, 2004-01-04) + */ + +#include + +/* SGI MIPSPro doesn't like stdint.h in C++ mode */ +/* ID: 3376260 Solaris 9 has inttypes.h, but not stdint.h */ + +#if (defined(__sgi) || defined(__sun)) && !defined(__GNUC__) +#include +#else +#include +#endif + +#define GLEW_APIENTRY_DEFINED +#define APIENTRY + +/* + * GLEW_STATIC is defined for static library. + */ + +#ifdef GLEW_STATIC +# define GLEWAPI extern +#else +# if defined(__GNUC__) && __GNUC__>=4 +# define GLEWAPI extern __attribute__ ((visibility("default"))) +# elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) +# define GLEWAPI extern __global +# else +# define GLEWAPI extern +# endif +#endif + +/* */ +#ifndef GLAPI +#define GLAPI extern +#endif + +#endif /* _WIN32 */ + +#ifndef GLAPIENTRY +#define GLAPIENTRY +#endif + +#ifndef GLEWAPIENTRY +#define GLEWAPIENTRY +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* ----------------------------- GL_VERSION_1_1 ---------------------------- */ + +#ifndef GL_VERSION_1_1 +#define GL_VERSION_1_1 1 + +typedef unsigned int GLenum; +typedef unsigned int GLbitfield; +typedef unsigned int GLuint; +typedef int GLint; +typedef int GLsizei; +typedef unsigned char GLboolean; +typedef signed char GLbyte; +typedef short GLshort; +typedef unsigned char GLubyte; +typedef unsigned short GLushort; +typedef unsigned long GLulong; +typedef float GLfloat; +typedef float GLclampf; +typedef double GLdouble; +typedef double GLclampd; +typedef void GLvoid; +#if defined(_MSC_VER) && _MSC_VER < 1400 +typedef __int64 GLint64EXT; +typedef unsigned __int64 GLuint64EXT; +#elif defined(_MSC_VER) || defined(__BORLANDC__) +typedef signed long long GLint64EXT; +typedef unsigned long long GLuint64EXT; +#else +# if defined(__MINGW32__) || defined(__CYGWIN__) +#include +# endif +typedef int64_t GLint64EXT; +typedef uint64_t GLuint64EXT; +#endif +typedef GLint64EXT GLint64; +typedef GLuint64EXT GLuint64; +typedef struct __GLsync *GLsync; + +typedef char GLchar; + +#define GL_ZERO 0 +#define GL_FALSE 0 +#define GL_LOGIC_OP 0x0BF1 +#define GL_NONE 0 +#define GL_TEXTURE_COMPONENTS 0x1003 +#define GL_NO_ERROR 0 +#define GL_POINTS 0x0000 +#define GL_CURRENT_BIT 0x00000001 +#define GL_TRUE 1 +#define GL_ONE 1 +#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001 +#define GL_LINES 0x0001 +#define GL_LINE_LOOP 0x0002 +#define GL_POINT_BIT 0x00000002 +#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002 +#define GL_LINE_STRIP 0x0003 +#define GL_LINE_BIT 0x00000004 +#define GL_TRIANGLES 0x0004 +#define GL_TRIANGLE_STRIP 0x0005 +#define GL_TRIANGLE_FAN 0x0006 +#define GL_QUADS 0x0007 +#define GL_QUAD_STRIP 0x0008 +#define GL_POLYGON_BIT 0x00000008 +#define GL_POLYGON 0x0009 +#define GL_POLYGON_STIPPLE_BIT 0x00000010 +#define GL_PIXEL_MODE_BIT 0x00000020 +#define GL_LIGHTING_BIT 0x00000040 +#define GL_FOG_BIT 0x00000080 +#define GL_DEPTH_BUFFER_BIT 0x00000100 +#define GL_ACCUM 0x0100 +#define GL_LOAD 0x0101 +#define GL_RETURN 0x0102 +#define GL_MULT 0x0103 +#define GL_ADD 0x0104 +#define GL_NEVER 0x0200 +#define GL_ACCUM_BUFFER_BIT 0x00000200 +#define GL_LESS 0x0201 +#define GL_EQUAL 0x0202 +#define GL_LEQUAL 0x0203 +#define GL_GREATER 0x0204 +#define GL_NOTEQUAL 0x0205 +#define GL_GEQUAL 0x0206 +#define GL_ALWAYS 0x0207 +#define GL_SRC_COLOR 0x0300 +#define GL_ONE_MINUS_SRC_COLOR 0x0301 +#define GL_SRC_ALPHA 0x0302 +#define GL_ONE_MINUS_SRC_ALPHA 0x0303 +#define GL_DST_ALPHA 0x0304 +#define GL_ONE_MINUS_DST_ALPHA 0x0305 +#define GL_DST_COLOR 0x0306 +#define GL_ONE_MINUS_DST_COLOR 0x0307 +#define GL_SRC_ALPHA_SATURATE 0x0308 +#define GL_STENCIL_BUFFER_BIT 0x00000400 +#define GL_FRONT_LEFT 0x0400 +#define GL_FRONT_RIGHT 0x0401 +#define GL_BACK_LEFT 0x0402 +#define GL_BACK_RIGHT 0x0403 +#define GL_FRONT 0x0404 +#define GL_BACK 0x0405 +#define GL_LEFT 0x0406 +#define GL_RIGHT 0x0407 +#define GL_FRONT_AND_BACK 0x0408 +#define GL_AUX0 0x0409 +#define GL_AUX1 0x040A +#define GL_AUX2 0x040B +#define GL_AUX3 0x040C +#define GL_INVALID_ENUM 0x0500 +#define GL_INVALID_VALUE 0x0501 +#define GL_INVALID_OPERATION 0x0502 +#define GL_STACK_OVERFLOW 0x0503 +#define GL_STACK_UNDERFLOW 0x0504 +#define GL_OUT_OF_MEMORY 0x0505 +#define GL_2D 0x0600 +#define GL_3D 0x0601 +#define GL_3D_COLOR 0x0602 +#define GL_3D_COLOR_TEXTURE 0x0603 +#define GL_4D_COLOR_TEXTURE 0x0604 +#define GL_PASS_THROUGH_TOKEN 0x0700 +#define GL_POINT_TOKEN 0x0701 +#define GL_LINE_TOKEN 0x0702 +#define GL_POLYGON_TOKEN 0x0703 +#define GL_BITMAP_TOKEN 0x0704 +#define GL_DRAW_PIXEL_TOKEN 0x0705 +#define GL_COPY_PIXEL_TOKEN 0x0706 +#define GL_LINE_RESET_TOKEN 0x0707 +#define GL_EXP 0x0800 +#define GL_VIEWPORT_BIT 0x00000800 +#define GL_EXP2 0x0801 +#define GL_CW 0x0900 +#define GL_CCW 0x0901 +#define GL_COEFF 0x0A00 +#define GL_ORDER 0x0A01 +#define GL_DOMAIN 0x0A02 +#define GL_CURRENT_COLOR 0x0B00 +#define GL_CURRENT_INDEX 0x0B01 +#define GL_CURRENT_NORMAL 0x0B02 +#define GL_CURRENT_TEXTURE_COORDS 0x0B03 +#define GL_CURRENT_RASTER_COLOR 0x0B04 +#define GL_CURRENT_RASTER_INDEX 0x0B05 +#define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06 +#define GL_CURRENT_RASTER_POSITION 0x0B07 +#define GL_CURRENT_RASTER_POSITION_VALID 0x0B08 +#define GL_CURRENT_RASTER_DISTANCE 0x0B09 +#define GL_POINT_SMOOTH 0x0B10 +#define GL_POINT_SIZE 0x0B11 +#define GL_POINT_SIZE_RANGE 0x0B12 +#define GL_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_LINE_SMOOTH 0x0B20 +#define GL_LINE_WIDTH 0x0B21 +#define GL_LINE_WIDTH_RANGE 0x0B22 +#define GL_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_LINE_STIPPLE 0x0B24 +#define GL_LINE_STIPPLE_PATTERN 0x0B25 +#define GL_LINE_STIPPLE_REPEAT 0x0B26 +#define GL_LIST_MODE 0x0B30 +#define GL_MAX_LIST_NESTING 0x0B31 +#define GL_LIST_BASE 0x0B32 +#define GL_LIST_INDEX 0x0B33 +#define GL_POLYGON_MODE 0x0B40 +#define GL_POLYGON_SMOOTH 0x0B41 +#define GL_POLYGON_STIPPLE 0x0B42 +#define GL_EDGE_FLAG 0x0B43 +#define GL_CULL_FACE 0x0B44 +#define GL_CULL_FACE_MODE 0x0B45 +#define GL_FRONT_FACE 0x0B46 +#define GL_LIGHTING 0x0B50 +#define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51 +#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 +#define GL_LIGHT_MODEL_AMBIENT 0x0B53 +#define GL_SHADE_MODEL 0x0B54 +#define GL_COLOR_MATERIAL_FACE 0x0B55 +#define GL_COLOR_MATERIAL_PARAMETER 0x0B56 +#define GL_COLOR_MATERIAL 0x0B57 +#define GL_FOG 0x0B60 +#define GL_FOG_INDEX 0x0B61 +#define GL_FOG_DENSITY 0x0B62 +#define GL_FOG_START 0x0B63 +#define GL_FOG_END 0x0B64 +#define GL_FOG_MODE 0x0B65 +#define GL_FOG_COLOR 0x0B66 +#define GL_DEPTH_RANGE 0x0B70 +#define GL_DEPTH_TEST 0x0B71 +#define GL_DEPTH_WRITEMASK 0x0B72 +#define GL_DEPTH_CLEAR_VALUE 0x0B73 +#define GL_DEPTH_FUNC 0x0B74 +#define GL_ACCUM_CLEAR_VALUE 0x0B80 +#define GL_STENCIL_TEST 0x0B90 +#define GL_STENCIL_CLEAR_VALUE 0x0B91 +#define GL_STENCIL_FUNC 0x0B92 +#define GL_STENCIL_VALUE_MASK 0x0B93 +#define GL_STENCIL_FAIL 0x0B94 +#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 +#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 +#define GL_STENCIL_REF 0x0B97 +#define GL_STENCIL_WRITEMASK 0x0B98 +#define GL_MATRIX_MODE 0x0BA0 +#define GL_NORMALIZE 0x0BA1 +#define GL_VIEWPORT 0x0BA2 +#define GL_MODELVIEW_STACK_DEPTH 0x0BA3 +#define GL_PROJECTION_STACK_DEPTH 0x0BA4 +#define GL_TEXTURE_STACK_DEPTH 0x0BA5 +#define GL_MODELVIEW_MATRIX 0x0BA6 +#define GL_PROJECTION_MATRIX 0x0BA7 +#define GL_TEXTURE_MATRIX 0x0BA8 +#define GL_ATTRIB_STACK_DEPTH 0x0BB0 +#define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1 +#define GL_ALPHA_TEST 0x0BC0 +#define GL_ALPHA_TEST_FUNC 0x0BC1 +#define GL_ALPHA_TEST_REF 0x0BC2 +#define GL_DITHER 0x0BD0 +#define GL_BLEND_DST 0x0BE0 +#define GL_BLEND_SRC 0x0BE1 +#define GL_BLEND 0x0BE2 +#define GL_LOGIC_OP_MODE 0x0BF0 +#define GL_INDEX_LOGIC_OP 0x0BF1 +#define GL_COLOR_LOGIC_OP 0x0BF2 +#define GL_AUX_BUFFERS 0x0C00 +#define GL_DRAW_BUFFER 0x0C01 +#define GL_READ_BUFFER 0x0C02 +#define GL_SCISSOR_BOX 0x0C10 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_INDEX_CLEAR_VALUE 0x0C20 +#define GL_INDEX_WRITEMASK 0x0C21 +#define GL_COLOR_CLEAR_VALUE 0x0C22 +#define GL_COLOR_WRITEMASK 0x0C23 +#define GL_INDEX_MODE 0x0C30 +#define GL_RGBA_MODE 0x0C31 +#define GL_DOUBLEBUFFER 0x0C32 +#define GL_STEREO 0x0C33 +#define GL_RENDER_MODE 0x0C40 +#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 +#define GL_POINT_SMOOTH_HINT 0x0C51 +#define GL_LINE_SMOOTH_HINT 0x0C52 +#define GL_POLYGON_SMOOTH_HINT 0x0C53 +#define GL_FOG_HINT 0x0C54 +#define GL_TEXTURE_GEN_S 0x0C60 +#define GL_TEXTURE_GEN_T 0x0C61 +#define GL_TEXTURE_GEN_R 0x0C62 +#define GL_TEXTURE_GEN_Q 0x0C63 +#define GL_PIXEL_MAP_I_TO_I 0x0C70 +#define GL_PIXEL_MAP_S_TO_S 0x0C71 +#define GL_PIXEL_MAP_I_TO_R 0x0C72 +#define GL_PIXEL_MAP_I_TO_G 0x0C73 +#define GL_PIXEL_MAP_I_TO_B 0x0C74 +#define GL_PIXEL_MAP_I_TO_A 0x0C75 +#define GL_PIXEL_MAP_R_TO_R 0x0C76 +#define GL_PIXEL_MAP_G_TO_G 0x0C77 +#define GL_PIXEL_MAP_B_TO_B 0x0C78 +#define GL_PIXEL_MAP_A_TO_A 0x0C79 +#define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0 +#define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1 +#define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2 +#define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3 +#define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4 +#define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5 +#define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6 +#define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7 +#define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8 +#define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9 +#define GL_UNPACK_SWAP_BYTES 0x0CF0 +#define GL_UNPACK_LSB_FIRST 0x0CF1 +#define GL_UNPACK_ROW_LENGTH 0x0CF2 +#define GL_UNPACK_SKIP_ROWS 0x0CF3 +#define GL_UNPACK_SKIP_PIXELS 0x0CF4 +#define GL_UNPACK_ALIGNMENT 0x0CF5 +#define GL_PACK_SWAP_BYTES 0x0D00 +#define GL_PACK_LSB_FIRST 0x0D01 +#define GL_PACK_ROW_LENGTH 0x0D02 +#define GL_PACK_SKIP_ROWS 0x0D03 +#define GL_PACK_SKIP_PIXELS 0x0D04 +#define GL_PACK_ALIGNMENT 0x0D05 +#define GL_MAP_COLOR 0x0D10 +#define GL_MAP_STENCIL 0x0D11 +#define GL_INDEX_SHIFT 0x0D12 +#define GL_INDEX_OFFSET 0x0D13 +#define GL_RED_SCALE 0x0D14 +#define GL_RED_BIAS 0x0D15 +#define GL_ZOOM_X 0x0D16 +#define GL_ZOOM_Y 0x0D17 +#define GL_GREEN_SCALE 0x0D18 +#define GL_GREEN_BIAS 0x0D19 +#define GL_BLUE_SCALE 0x0D1A +#define GL_BLUE_BIAS 0x0D1B +#define GL_ALPHA_SCALE 0x0D1C +#define GL_ALPHA_BIAS 0x0D1D +#define GL_DEPTH_SCALE 0x0D1E +#define GL_DEPTH_BIAS 0x0D1F +#define GL_MAX_EVAL_ORDER 0x0D30 +#define GL_MAX_LIGHTS 0x0D31 +#define GL_MAX_CLIP_PLANES 0x0D32 +#define GL_MAX_TEXTURE_SIZE 0x0D33 +#define GL_MAX_PIXEL_MAP_TABLE 0x0D34 +#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35 +#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 +#define GL_MAX_NAME_STACK_DEPTH 0x0D37 +#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 +#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 +#define GL_MAX_VIEWPORT_DIMS 0x0D3A +#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B +#define GL_SUBPIXEL_BITS 0x0D50 +#define GL_INDEX_BITS 0x0D51 +#define GL_RED_BITS 0x0D52 +#define GL_GREEN_BITS 0x0D53 +#define GL_BLUE_BITS 0x0D54 +#define GL_ALPHA_BITS 0x0D55 +#define GL_DEPTH_BITS 0x0D56 +#define GL_STENCIL_BITS 0x0D57 +#define GL_ACCUM_RED_BITS 0x0D58 +#define GL_ACCUM_GREEN_BITS 0x0D59 +#define GL_ACCUM_BLUE_BITS 0x0D5A +#define GL_ACCUM_ALPHA_BITS 0x0D5B +#define GL_NAME_STACK_DEPTH 0x0D70 +#define GL_AUTO_NORMAL 0x0D80 +#define GL_MAP1_COLOR_4 0x0D90 +#define GL_MAP1_INDEX 0x0D91 +#define GL_MAP1_NORMAL 0x0D92 +#define GL_MAP1_TEXTURE_COORD_1 0x0D93 +#define GL_MAP1_TEXTURE_COORD_2 0x0D94 +#define GL_MAP1_TEXTURE_COORD_3 0x0D95 +#define GL_MAP1_TEXTURE_COORD_4 0x0D96 +#define GL_MAP1_VERTEX_3 0x0D97 +#define GL_MAP1_VERTEX_4 0x0D98 +#define GL_MAP2_COLOR_4 0x0DB0 +#define GL_MAP2_INDEX 0x0DB1 +#define GL_MAP2_NORMAL 0x0DB2 +#define GL_MAP2_TEXTURE_COORD_1 0x0DB3 +#define GL_MAP2_TEXTURE_COORD_2 0x0DB4 +#define GL_MAP2_TEXTURE_COORD_3 0x0DB5 +#define GL_MAP2_TEXTURE_COORD_4 0x0DB6 +#define GL_MAP2_VERTEX_3 0x0DB7 +#define GL_MAP2_VERTEX_4 0x0DB8 +#define GL_MAP1_GRID_DOMAIN 0x0DD0 +#define GL_MAP1_GRID_SEGMENTS 0x0DD1 +#define GL_MAP2_GRID_DOMAIN 0x0DD2 +#define GL_MAP2_GRID_SEGMENTS 0x0DD3 +#define GL_TEXTURE_1D 0x0DE0 +#define GL_TEXTURE_2D 0x0DE1 +#define GL_FEEDBACK_BUFFER_POINTER 0x0DF0 +#define GL_FEEDBACK_BUFFER_SIZE 0x0DF1 +#define GL_FEEDBACK_BUFFER_TYPE 0x0DF2 +#define GL_SELECTION_BUFFER_POINTER 0x0DF3 +#define GL_SELECTION_BUFFER_SIZE 0x0DF4 +#define GL_TEXTURE_WIDTH 0x1000 +#define GL_TRANSFORM_BIT 0x00001000 +#define GL_TEXTURE_HEIGHT 0x1001 +#define GL_TEXTURE_INTERNAL_FORMAT 0x1003 +#define GL_TEXTURE_BORDER_COLOR 0x1004 +#define GL_TEXTURE_BORDER 0x1005 +#define GL_DONT_CARE 0x1100 +#define GL_FASTEST 0x1101 +#define GL_NICEST 0x1102 +#define GL_AMBIENT 0x1200 +#define GL_DIFFUSE 0x1201 +#define GL_SPECULAR 0x1202 +#define GL_POSITION 0x1203 +#define GL_SPOT_DIRECTION 0x1204 +#define GL_SPOT_EXPONENT 0x1205 +#define GL_SPOT_CUTOFF 0x1206 +#define GL_CONSTANT_ATTENUATION 0x1207 +#define GL_LINEAR_ATTENUATION 0x1208 +#define GL_QUADRATIC_ATTENUATION 0x1209 +#define GL_COMPILE 0x1300 +#define GL_COMPILE_AND_EXECUTE 0x1301 +#define GL_BYTE 0x1400 +#define GL_UNSIGNED_BYTE 0x1401 +#define GL_SHORT 0x1402 +#define GL_UNSIGNED_SHORT 0x1403 +#define GL_INT 0x1404 +#define GL_UNSIGNED_INT 0x1405 +#define GL_FLOAT 0x1406 +#define GL_2_BYTES 0x1407 +#define GL_3_BYTES 0x1408 +#define GL_4_BYTES 0x1409 +#define GL_DOUBLE 0x140A +#define GL_CLEAR 0x1500 +#define GL_AND 0x1501 +#define GL_AND_REVERSE 0x1502 +#define GL_COPY 0x1503 +#define GL_AND_INVERTED 0x1504 +#define GL_NOOP 0x1505 +#define GL_XOR 0x1506 +#define GL_OR 0x1507 +#define GL_NOR 0x1508 +#define GL_EQUIV 0x1509 +#define GL_INVERT 0x150A +#define GL_OR_REVERSE 0x150B +#define GL_COPY_INVERTED 0x150C +#define GL_OR_INVERTED 0x150D +#define GL_NAND 0x150E +#define GL_SET 0x150F +#define GL_EMISSION 0x1600 +#define GL_SHININESS 0x1601 +#define GL_AMBIENT_AND_DIFFUSE 0x1602 +#define GL_COLOR_INDEXES 0x1603 +#define GL_MODELVIEW 0x1700 +#define GL_PROJECTION 0x1701 +#define GL_TEXTURE 0x1702 +#define GL_COLOR 0x1800 +#define GL_DEPTH 0x1801 +#define GL_STENCIL 0x1802 +#define GL_COLOR_INDEX 0x1900 +#define GL_STENCIL_INDEX 0x1901 +#define GL_DEPTH_COMPONENT 0x1902 +#define GL_RED 0x1903 +#define GL_GREEN 0x1904 +#define GL_BLUE 0x1905 +#define GL_ALPHA 0x1906 +#define GL_RGB 0x1907 +#define GL_RGBA 0x1908 +#define GL_LUMINANCE 0x1909 +#define GL_LUMINANCE_ALPHA 0x190A +#define GL_BITMAP 0x1A00 +#define GL_POINT 0x1B00 +#define GL_LINE 0x1B01 +#define GL_FILL 0x1B02 +#define GL_RENDER 0x1C00 +#define GL_FEEDBACK 0x1C01 +#define GL_SELECT 0x1C02 +#define GL_FLAT 0x1D00 +#define GL_SMOOTH 0x1D01 +#define GL_KEEP 0x1E00 +#define GL_REPLACE 0x1E01 +#define GL_INCR 0x1E02 +#define GL_DECR 0x1E03 +#define GL_VENDOR 0x1F00 +#define GL_RENDERER 0x1F01 +#define GL_VERSION 0x1F02 +#define GL_EXTENSIONS 0x1F03 +#define GL_S 0x2000 +#define GL_ENABLE_BIT 0x00002000 +#define GL_T 0x2001 +#define GL_R 0x2002 +#define GL_Q 0x2003 +#define GL_MODULATE 0x2100 +#define GL_DECAL 0x2101 +#define GL_TEXTURE_ENV_MODE 0x2200 +#define GL_TEXTURE_ENV_COLOR 0x2201 +#define GL_TEXTURE_ENV 0x2300 +#define GL_EYE_LINEAR 0x2400 +#define GL_OBJECT_LINEAR 0x2401 +#define GL_SPHERE_MAP 0x2402 +#define GL_TEXTURE_GEN_MODE 0x2500 +#define GL_OBJECT_PLANE 0x2501 +#define GL_EYE_PLANE 0x2502 +#define GL_NEAREST 0x2600 +#define GL_LINEAR 0x2601 +#define GL_NEAREST_MIPMAP_NEAREST 0x2700 +#define GL_LINEAR_MIPMAP_NEAREST 0x2701 +#define GL_NEAREST_MIPMAP_LINEAR 0x2702 +#define GL_LINEAR_MIPMAP_LINEAR 0x2703 +#define GL_TEXTURE_MAG_FILTER 0x2800 +#define GL_TEXTURE_MIN_FILTER 0x2801 +#define GL_TEXTURE_WRAP_S 0x2802 +#define GL_TEXTURE_WRAP_T 0x2803 +#define GL_CLAMP 0x2900 +#define GL_REPEAT 0x2901 +#define GL_POLYGON_OFFSET_UNITS 0x2A00 +#define GL_POLYGON_OFFSET_POINT 0x2A01 +#define GL_POLYGON_OFFSET_LINE 0x2A02 +#define GL_R3_G3_B2 0x2A10 +#define GL_V2F 0x2A20 +#define GL_V3F 0x2A21 +#define GL_C4UB_V2F 0x2A22 +#define GL_C4UB_V3F 0x2A23 +#define GL_C3F_V3F 0x2A24 +#define GL_N3F_V3F 0x2A25 +#define GL_C4F_N3F_V3F 0x2A26 +#define GL_T2F_V3F 0x2A27 +#define GL_T4F_V4F 0x2A28 +#define GL_T2F_C4UB_V3F 0x2A29 +#define GL_T2F_C3F_V3F 0x2A2A +#define GL_T2F_N3F_V3F 0x2A2B +#define GL_T2F_C4F_N3F_V3F 0x2A2C +#define GL_T4F_C4F_N3F_V4F 0x2A2D +#define GL_CLIP_PLANE0 0x3000 +#define GL_CLIP_PLANE1 0x3001 +#define GL_CLIP_PLANE2 0x3002 +#define GL_CLIP_PLANE3 0x3003 +#define GL_CLIP_PLANE4 0x3004 +#define GL_CLIP_PLANE5 0x3005 +#define GL_LIGHT0 0x4000 +#define GL_COLOR_BUFFER_BIT 0x00004000 +#define GL_LIGHT1 0x4001 +#define GL_LIGHT2 0x4002 +#define GL_LIGHT3 0x4003 +#define GL_LIGHT4 0x4004 +#define GL_LIGHT5 0x4005 +#define GL_LIGHT6 0x4006 +#define GL_LIGHT7 0x4007 +#define GL_HINT_BIT 0x00008000 +#define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_POLYGON_OFFSET_FACTOR 0x8038 +#define GL_ALPHA4 0x803B +#define GL_ALPHA8 0x803C +#define GL_ALPHA12 0x803D +#define GL_ALPHA16 0x803E +#define GL_LUMINANCE4 0x803F +#define GL_LUMINANCE8 0x8040 +#define GL_LUMINANCE12 0x8041 +#define GL_LUMINANCE16 0x8042 +#define GL_LUMINANCE4_ALPHA4 0x8043 +#define GL_LUMINANCE6_ALPHA2 0x8044 +#define GL_LUMINANCE8_ALPHA8 0x8045 +#define GL_LUMINANCE12_ALPHA4 0x8046 +#define GL_LUMINANCE12_ALPHA12 0x8047 +#define GL_LUMINANCE16_ALPHA16 0x8048 +#define GL_INTENSITY 0x8049 +#define GL_INTENSITY4 0x804A +#define GL_INTENSITY8 0x804B +#define GL_INTENSITY12 0x804C +#define GL_INTENSITY16 0x804D +#define GL_RGB4 0x804F +#define GL_RGB5 0x8050 +#define GL_RGB8 0x8051 +#define GL_RGB10 0x8052 +#define GL_RGB12 0x8053 +#define GL_RGB16 0x8054 +#define GL_RGBA2 0x8055 +#define GL_RGBA4 0x8056 +#define GL_RGB5_A1 0x8057 +#define GL_RGBA8 0x8058 +#define GL_RGB10_A2 0x8059 +#define GL_RGBA12 0x805A +#define GL_RGBA16 0x805B +#define GL_TEXTURE_RED_SIZE 0x805C +#define GL_TEXTURE_GREEN_SIZE 0x805D +#define GL_TEXTURE_BLUE_SIZE 0x805E +#define GL_TEXTURE_ALPHA_SIZE 0x805F +#define GL_TEXTURE_LUMINANCE_SIZE 0x8060 +#define GL_TEXTURE_INTENSITY_SIZE 0x8061 +#define GL_PROXY_TEXTURE_1D 0x8063 +#define GL_PROXY_TEXTURE_2D 0x8064 +#define GL_TEXTURE_PRIORITY 0x8066 +#define GL_TEXTURE_RESIDENT 0x8067 +#define GL_TEXTURE_BINDING_1D 0x8068 +#define GL_TEXTURE_BINDING_2D 0x8069 +#define GL_VERTEX_ARRAY 0x8074 +#define GL_NORMAL_ARRAY 0x8075 +#define GL_COLOR_ARRAY 0x8076 +#define GL_INDEX_ARRAY 0x8077 +#define GL_TEXTURE_COORD_ARRAY 0x8078 +#define GL_EDGE_FLAG_ARRAY 0x8079 +#define GL_VERTEX_ARRAY_SIZE 0x807A +#define GL_VERTEX_ARRAY_TYPE 0x807B +#define GL_VERTEX_ARRAY_STRIDE 0x807C +#define GL_NORMAL_ARRAY_TYPE 0x807E +#define GL_NORMAL_ARRAY_STRIDE 0x807F +#define GL_COLOR_ARRAY_SIZE 0x8081 +#define GL_COLOR_ARRAY_TYPE 0x8082 +#define GL_COLOR_ARRAY_STRIDE 0x8083 +#define GL_INDEX_ARRAY_TYPE 0x8085 +#define GL_INDEX_ARRAY_STRIDE 0x8086 +#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 +#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 +#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A +#define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C +#define GL_VERTEX_ARRAY_POINTER 0x808E +#define GL_NORMAL_ARRAY_POINTER 0x808F +#define GL_COLOR_ARRAY_POINTER 0x8090 +#define GL_INDEX_ARRAY_POINTER 0x8091 +#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 +#define GL_EDGE_FLAG_ARRAY_POINTER 0x8093 +#define GL_COLOR_INDEX1_EXT 0x80E2 +#define GL_COLOR_INDEX2_EXT 0x80E3 +#define GL_COLOR_INDEX4_EXT 0x80E4 +#define GL_COLOR_INDEX8_EXT 0x80E5 +#define GL_COLOR_INDEX12_EXT 0x80E6 +#define GL_COLOR_INDEX16_EXT 0x80E7 +#define GL_EVAL_BIT 0x00010000 +#define GL_LIST_BIT 0x00020000 +#define GL_TEXTURE_BIT 0x00040000 +#define GL_SCISSOR_BIT 0x00080000 +#define GL_ALL_ATTRIB_BITS 0x000fffff +#define GL_CLIENT_ALL_ATTRIB_BITS 0xffffffff + +GLAPI void GLAPIENTRY glAccum (GLenum op, GLfloat value); +GLAPI void GLAPIENTRY glAlphaFunc (GLenum func, GLclampf ref); +GLAPI GLboolean GLAPIENTRY glAreTexturesResident (GLsizei n, const GLuint *textures, GLboolean *residences); +GLAPI void GLAPIENTRY glArrayElement (GLint i); +GLAPI void GLAPIENTRY glBegin (GLenum mode); +GLAPI void GLAPIENTRY glBindTexture (GLenum target, GLuint texture); +GLAPI void GLAPIENTRY glBitmap (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap); +GLAPI void GLAPIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); +GLAPI void GLAPIENTRY glCallList (GLuint list); +GLAPI void GLAPIENTRY glCallLists (GLsizei n, GLenum type, const void *lists); +GLAPI void GLAPIENTRY glClear (GLbitfield mask); +GLAPI void GLAPIENTRY glClearAccum (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI void GLAPIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); +GLAPI void GLAPIENTRY glClearDepth (GLclampd depth); +GLAPI void GLAPIENTRY glClearIndex (GLfloat c); +GLAPI void GLAPIENTRY glClearStencil (GLint s); +GLAPI void GLAPIENTRY glClipPlane (GLenum plane, const GLdouble *equation); +GLAPI void GLAPIENTRY glColor3b (GLbyte red, GLbyte green, GLbyte blue); +GLAPI void GLAPIENTRY glColor3bv (const GLbyte *v); +GLAPI void GLAPIENTRY glColor3d (GLdouble red, GLdouble green, GLdouble blue); +GLAPI void GLAPIENTRY glColor3dv (const GLdouble *v); +GLAPI void GLAPIENTRY glColor3f (GLfloat red, GLfloat green, GLfloat blue); +GLAPI void GLAPIENTRY glColor3fv (const GLfloat *v); +GLAPI void GLAPIENTRY glColor3i (GLint red, GLint green, GLint blue); +GLAPI void GLAPIENTRY glColor3iv (const GLint *v); +GLAPI void GLAPIENTRY glColor3s (GLshort red, GLshort green, GLshort blue); +GLAPI void GLAPIENTRY glColor3sv (const GLshort *v); +GLAPI void GLAPIENTRY glColor3ub (GLubyte red, GLubyte green, GLubyte blue); +GLAPI void GLAPIENTRY glColor3ubv (const GLubyte *v); +GLAPI void GLAPIENTRY glColor3ui (GLuint red, GLuint green, GLuint blue); +GLAPI void GLAPIENTRY glColor3uiv (const GLuint *v); +GLAPI void GLAPIENTRY glColor3us (GLushort red, GLushort green, GLushort blue); +GLAPI void GLAPIENTRY glColor3usv (const GLushort *v); +GLAPI void GLAPIENTRY glColor4b (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha); +GLAPI void GLAPIENTRY glColor4bv (const GLbyte *v); +GLAPI void GLAPIENTRY glColor4d (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); +GLAPI void GLAPIENTRY glColor4dv (const GLdouble *v); +GLAPI void GLAPIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI void GLAPIENTRY glColor4fv (const GLfloat *v); +GLAPI void GLAPIENTRY glColor4i (GLint red, GLint green, GLint blue, GLint alpha); +GLAPI void GLAPIENTRY glColor4iv (const GLint *v); +GLAPI void GLAPIENTRY glColor4s (GLshort red, GLshort green, GLshort blue, GLshort alpha); +GLAPI void GLAPIENTRY glColor4sv (const GLshort *v); +GLAPI void GLAPIENTRY glColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); +GLAPI void GLAPIENTRY glColor4ubv (const GLubyte *v); +GLAPI void GLAPIENTRY glColor4ui (GLuint red, GLuint green, GLuint blue, GLuint alpha); +GLAPI void GLAPIENTRY glColor4uiv (const GLuint *v); +GLAPI void GLAPIENTRY glColor4us (GLushort red, GLushort green, GLushort blue, GLushort alpha); +GLAPI void GLAPIENTRY glColor4usv (const GLushort *v); +GLAPI void GLAPIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +GLAPI void GLAPIENTRY glColorMaterial (GLenum face, GLenum mode); +GLAPI void GLAPIENTRY glColorPointer (GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI void GLAPIENTRY glCopyPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type); +GLAPI void GLAPIENTRY glCopyTexImage1D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border); +GLAPI void GLAPIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +GLAPI void GLAPIENTRY glCopyTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +GLAPI void GLAPIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void GLAPIENTRY glCullFace (GLenum mode); +GLAPI void GLAPIENTRY glDeleteLists (GLuint list, GLsizei range); +GLAPI void GLAPIENTRY glDeleteTextures (GLsizei n, const GLuint *textures); +GLAPI void GLAPIENTRY glDepthFunc (GLenum func); +GLAPI void GLAPIENTRY glDepthMask (GLboolean flag); +GLAPI void GLAPIENTRY glDepthRange (GLclampd zNear, GLclampd zFar); +GLAPI void GLAPIENTRY glDisable (GLenum cap); +GLAPI void GLAPIENTRY glDisableClientState (GLenum array); +GLAPI void GLAPIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); +GLAPI void GLAPIENTRY glDrawBuffer (GLenum mode); +GLAPI void GLAPIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices); +GLAPI void GLAPIENTRY glDrawPixels (GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +GLAPI void GLAPIENTRY glEdgeFlag (GLboolean flag); +GLAPI void GLAPIENTRY glEdgeFlagPointer (GLsizei stride, const void *pointer); +GLAPI void GLAPIENTRY glEdgeFlagv (const GLboolean *flag); +GLAPI void GLAPIENTRY glEnable (GLenum cap); +GLAPI void GLAPIENTRY glEnableClientState (GLenum array); +GLAPI void GLAPIENTRY glEnd (void); +GLAPI void GLAPIENTRY glEndList (void); +GLAPI void GLAPIENTRY glEvalCoord1d (GLdouble u); +GLAPI void GLAPIENTRY glEvalCoord1dv (const GLdouble *u); +GLAPI void GLAPIENTRY glEvalCoord1f (GLfloat u); +GLAPI void GLAPIENTRY glEvalCoord1fv (const GLfloat *u); +GLAPI void GLAPIENTRY glEvalCoord2d (GLdouble u, GLdouble v); +GLAPI void GLAPIENTRY glEvalCoord2dv (const GLdouble *u); +GLAPI void GLAPIENTRY glEvalCoord2f (GLfloat u, GLfloat v); +GLAPI void GLAPIENTRY glEvalCoord2fv (const GLfloat *u); +GLAPI void GLAPIENTRY glEvalMesh1 (GLenum mode, GLint i1, GLint i2); +GLAPI void GLAPIENTRY glEvalMesh2 (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2); +GLAPI void GLAPIENTRY glEvalPoint1 (GLint i); +GLAPI void GLAPIENTRY glEvalPoint2 (GLint i, GLint j); +GLAPI void GLAPIENTRY glFeedbackBuffer (GLsizei size, GLenum type, GLfloat *buffer); +GLAPI void GLAPIENTRY glFinish (void); +GLAPI void GLAPIENTRY glFlush (void); +GLAPI void GLAPIENTRY glFogf (GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glFogfv (GLenum pname, const GLfloat *params); +GLAPI void GLAPIENTRY glFogi (GLenum pname, GLint param); +GLAPI void GLAPIENTRY glFogiv (GLenum pname, const GLint *params); +GLAPI void GLAPIENTRY glFrontFace (GLenum mode); +GLAPI void GLAPIENTRY glFrustum (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +GLAPI GLuint GLAPIENTRY glGenLists (GLsizei range); +GLAPI void GLAPIENTRY glGenTextures (GLsizei n, GLuint *textures); +GLAPI void GLAPIENTRY glGetBooleanv (GLenum pname, GLboolean *params); +GLAPI void GLAPIENTRY glGetClipPlane (GLenum plane, GLdouble *equation); +GLAPI void GLAPIENTRY glGetDoublev (GLenum pname, GLdouble *params); +GLAPI GLenum GLAPIENTRY glGetError (void); +GLAPI void GLAPIENTRY glGetFloatv (GLenum pname, GLfloat *params); +GLAPI void GLAPIENTRY glGetIntegerv (GLenum pname, GLint *params); +GLAPI void GLAPIENTRY glGetLightfv (GLenum light, GLenum pname, GLfloat *params); +GLAPI void GLAPIENTRY glGetLightiv (GLenum light, GLenum pname, GLint *params); +GLAPI void GLAPIENTRY glGetMapdv (GLenum target, GLenum query, GLdouble *v); +GLAPI void GLAPIENTRY glGetMapfv (GLenum target, GLenum query, GLfloat *v); +GLAPI void GLAPIENTRY glGetMapiv (GLenum target, GLenum query, GLint *v); +GLAPI void GLAPIENTRY glGetMaterialfv (GLenum face, GLenum pname, GLfloat *params); +GLAPI void GLAPIENTRY glGetMaterialiv (GLenum face, GLenum pname, GLint *params); +GLAPI void GLAPIENTRY glGetPixelMapfv (GLenum map, GLfloat *values); +GLAPI void GLAPIENTRY glGetPixelMapuiv (GLenum map, GLuint *values); +GLAPI void GLAPIENTRY glGetPixelMapusv (GLenum map, GLushort *values); +GLAPI void GLAPIENTRY glGetPointerv (GLenum pname, void* *params); +GLAPI void GLAPIENTRY glGetPolygonStipple (GLubyte *mask); +GLAPI const GLubyte * GLAPIENTRY glGetString (GLenum name); +GLAPI void GLAPIENTRY glGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params); +GLAPI void GLAPIENTRY glGetTexEnviv (GLenum target, GLenum pname, GLint *params); +GLAPI void GLAPIENTRY glGetTexGendv (GLenum coord, GLenum pname, GLdouble *params); +GLAPI void GLAPIENTRY glGetTexGenfv (GLenum coord, GLenum pname, GLfloat *params); +GLAPI void GLAPIENTRY glGetTexGeniv (GLenum coord, GLenum pname, GLint *params); +GLAPI void GLAPIENTRY glGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, void *pixels); +GLAPI void GLAPIENTRY glGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params); +GLAPI void GLAPIENTRY glGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params); +GLAPI void GLAPIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params); +GLAPI void GLAPIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params); +GLAPI void GLAPIENTRY glHint (GLenum target, GLenum mode); +GLAPI void GLAPIENTRY glIndexMask (GLuint mask); +GLAPI void GLAPIENTRY glIndexPointer (GLenum type, GLsizei stride, const void *pointer); +GLAPI void GLAPIENTRY glIndexd (GLdouble c); +GLAPI void GLAPIENTRY glIndexdv (const GLdouble *c); +GLAPI void GLAPIENTRY glIndexf (GLfloat c); +GLAPI void GLAPIENTRY glIndexfv (const GLfloat *c); +GLAPI void GLAPIENTRY glIndexi (GLint c); +GLAPI void GLAPIENTRY glIndexiv (const GLint *c); +GLAPI void GLAPIENTRY glIndexs (GLshort c); +GLAPI void GLAPIENTRY glIndexsv (const GLshort *c); +GLAPI void GLAPIENTRY glIndexub (GLubyte c); +GLAPI void GLAPIENTRY glIndexubv (const GLubyte *c); +GLAPI void GLAPIENTRY glInitNames (void); +GLAPI void GLAPIENTRY glInterleavedArrays (GLenum format, GLsizei stride, const void *pointer); +GLAPI GLboolean GLAPIENTRY glIsEnabled (GLenum cap); +GLAPI GLboolean GLAPIENTRY glIsList (GLuint list); +GLAPI GLboolean GLAPIENTRY glIsTexture (GLuint texture); +GLAPI void GLAPIENTRY glLightModelf (GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glLightModelfv (GLenum pname, const GLfloat *params); +GLAPI void GLAPIENTRY glLightModeli (GLenum pname, GLint param); +GLAPI void GLAPIENTRY glLightModeliv (GLenum pname, const GLint *params); +GLAPI void GLAPIENTRY glLightf (GLenum light, GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glLightfv (GLenum light, GLenum pname, const GLfloat *params); +GLAPI void GLAPIENTRY glLighti (GLenum light, GLenum pname, GLint param); +GLAPI void GLAPIENTRY glLightiv (GLenum light, GLenum pname, const GLint *params); +GLAPI void GLAPIENTRY glLineStipple (GLint factor, GLushort pattern); +GLAPI void GLAPIENTRY glLineWidth (GLfloat width); +GLAPI void GLAPIENTRY glListBase (GLuint base); +GLAPI void GLAPIENTRY glLoadIdentity (void); +GLAPI void GLAPIENTRY glLoadMatrixd (const GLdouble *m); +GLAPI void GLAPIENTRY glLoadMatrixf (const GLfloat *m); +GLAPI void GLAPIENTRY glLoadName (GLuint name); +GLAPI void GLAPIENTRY glLogicOp (GLenum opcode); +GLAPI void GLAPIENTRY glMap1d (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points); +GLAPI void GLAPIENTRY glMap1f (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points); +GLAPI void GLAPIENTRY glMap2d (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points); +GLAPI void GLAPIENTRY glMap2f (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points); +GLAPI void GLAPIENTRY glMapGrid1d (GLint un, GLdouble u1, GLdouble u2); +GLAPI void GLAPIENTRY glMapGrid1f (GLint un, GLfloat u1, GLfloat u2); +GLAPI void GLAPIENTRY glMapGrid2d (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2); +GLAPI void GLAPIENTRY glMapGrid2f (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2); +GLAPI void GLAPIENTRY glMaterialf (GLenum face, GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glMaterialfv (GLenum face, GLenum pname, const GLfloat *params); +GLAPI void GLAPIENTRY glMateriali (GLenum face, GLenum pname, GLint param); +GLAPI void GLAPIENTRY glMaterialiv (GLenum face, GLenum pname, const GLint *params); +GLAPI void GLAPIENTRY glMatrixMode (GLenum mode); +GLAPI void GLAPIENTRY glMultMatrixd (const GLdouble *m); +GLAPI void GLAPIENTRY glMultMatrixf (const GLfloat *m); +GLAPI void GLAPIENTRY glNewList (GLuint list, GLenum mode); +GLAPI void GLAPIENTRY glNormal3b (GLbyte nx, GLbyte ny, GLbyte nz); +GLAPI void GLAPIENTRY glNormal3bv (const GLbyte *v); +GLAPI void GLAPIENTRY glNormal3d (GLdouble nx, GLdouble ny, GLdouble nz); +GLAPI void GLAPIENTRY glNormal3dv (const GLdouble *v); +GLAPI void GLAPIENTRY glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz); +GLAPI void GLAPIENTRY glNormal3fv (const GLfloat *v); +GLAPI void GLAPIENTRY glNormal3i (GLint nx, GLint ny, GLint nz); +GLAPI void GLAPIENTRY glNormal3iv (const GLint *v); +GLAPI void GLAPIENTRY glNormal3s (GLshort nx, GLshort ny, GLshort nz); +GLAPI void GLAPIENTRY glNormal3sv (const GLshort *v); +GLAPI void GLAPIENTRY glNormalPointer (GLenum type, GLsizei stride, const void *pointer); +GLAPI void GLAPIENTRY glOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +GLAPI void GLAPIENTRY glPassThrough (GLfloat token); +GLAPI void GLAPIENTRY glPixelMapfv (GLenum map, GLsizei mapsize, const GLfloat *values); +GLAPI void GLAPIENTRY glPixelMapuiv (GLenum map, GLsizei mapsize, const GLuint *values); +GLAPI void GLAPIENTRY glPixelMapusv (GLenum map, GLsizei mapsize, const GLushort *values); +GLAPI void GLAPIENTRY glPixelStoref (GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glPixelStorei (GLenum pname, GLint param); +GLAPI void GLAPIENTRY glPixelTransferf (GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glPixelTransferi (GLenum pname, GLint param); +GLAPI void GLAPIENTRY glPixelZoom (GLfloat xfactor, GLfloat yfactor); +GLAPI void GLAPIENTRY glPointSize (GLfloat size); +GLAPI void GLAPIENTRY glPolygonMode (GLenum face, GLenum mode); +GLAPI void GLAPIENTRY glPolygonOffset (GLfloat factor, GLfloat units); +GLAPI void GLAPIENTRY glPolygonStipple (const GLubyte *mask); +GLAPI void GLAPIENTRY glPopAttrib (void); +GLAPI void GLAPIENTRY glPopClientAttrib (void); +GLAPI void GLAPIENTRY glPopMatrix (void); +GLAPI void GLAPIENTRY glPopName (void); +GLAPI void GLAPIENTRY glPrioritizeTextures (GLsizei n, const GLuint *textures, const GLclampf *priorities); +GLAPI void GLAPIENTRY glPushAttrib (GLbitfield mask); +GLAPI void GLAPIENTRY glPushClientAttrib (GLbitfield mask); +GLAPI void GLAPIENTRY glPushMatrix (void); +GLAPI void GLAPIENTRY glPushName (GLuint name); +GLAPI void GLAPIENTRY glRasterPos2d (GLdouble x, GLdouble y); +GLAPI void GLAPIENTRY glRasterPos2dv (const GLdouble *v); +GLAPI void GLAPIENTRY glRasterPos2f (GLfloat x, GLfloat y); +GLAPI void GLAPIENTRY glRasterPos2fv (const GLfloat *v); +GLAPI void GLAPIENTRY glRasterPos2i (GLint x, GLint y); +GLAPI void GLAPIENTRY glRasterPos2iv (const GLint *v); +GLAPI void GLAPIENTRY glRasterPos2s (GLshort x, GLshort y); +GLAPI void GLAPIENTRY glRasterPos2sv (const GLshort *v); +GLAPI void GLAPIENTRY glRasterPos3d (GLdouble x, GLdouble y, GLdouble z); +GLAPI void GLAPIENTRY glRasterPos3dv (const GLdouble *v); +GLAPI void GLAPIENTRY glRasterPos3f (GLfloat x, GLfloat y, GLfloat z); +GLAPI void GLAPIENTRY glRasterPos3fv (const GLfloat *v); +GLAPI void GLAPIENTRY glRasterPos3i (GLint x, GLint y, GLint z); +GLAPI void GLAPIENTRY glRasterPos3iv (const GLint *v); +GLAPI void GLAPIENTRY glRasterPos3s (GLshort x, GLshort y, GLshort z); +GLAPI void GLAPIENTRY glRasterPos3sv (const GLshort *v); +GLAPI void GLAPIENTRY glRasterPos4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void GLAPIENTRY glRasterPos4dv (const GLdouble *v); +GLAPI void GLAPIENTRY glRasterPos4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void GLAPIENTRY glRasterPos4fv (const GLfloat *v); +GLAPI void GLAPIENTRY glRasterPos4i (GLint x, GLint y, GLint z, GLint w); +GLAPI void GLAPIENTRY glRasterPos4iv (const GLint *v); +GLAPI void GLAPIENTRY glRasterPos4s (GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI void GLAPIENTRY glRasterPos4sv (const GLshort *v); +GLAPI void GLAPIENTRY glReadBuffer (GLenum mode); +GLAPI void GLAPIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); +GLAPI void GLAPIENTRY glRectd (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2); +GLAPI void GLAPIENTRY glRectdv (const GLdouble *v1, const GLdouble *v2); +GLAPI void GLAPIENTRY glRectf (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2); +GLAPI void GLAPIENTRY glRectfv (const GLfloat *v1, const GLfloat *v2); +GLAPI void GLAPIENTRY glRecti (GLint x1, GLint y1, GLint x2, GLint y2); +GLAPI void GLAPIENTRY glRectiv (const GLint *v1, const GLint *v2); +GLAPI void GLAPIENTRY glRects (GLshort x1, GLshort y1, GLshort x2, GLshort y2); +GLAPI void GLAPIENTRY glRectsv (const GLshort *v1, const GLshort *v2); +GLAPI GLint GLAPIENTRY glRenderMode (GLenum mode); +GLAPI void GLAPIENTRY glRotated (GLdouble angle, GLdouble x, GLdouble y, GLdouble z); +GLAPI void GLAPIENTRY glRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z); +GLAPI void GLAPIENTRY glScaled (GLdouble x, GLdouble y, GLdouble z); +GLAPI void GLAPIENTRY glScalef (GLfloat x, GLfloat y, GLfloat z); +GLAPI void GLAPIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void GLAPIENTRY glSelectBuffer (GLsizei size, GLuint *buffer); +GLAPI void GLAPIENTRY glShadeModel (GLenum mode); +GLAPI void GLAPIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); +GLAPI void GLAPIENTRY glStencilMask (GLuint mask); +GLAPI void GLAPIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); +GLAPI void GLAPIENTRY glTexCoord1d (GLdouble s); +GLAPI void GLAPIENTRY glTexCoord1dv (const GLdouble *v); +GLAPI void GLAPIENTRY glTexCoord1f (GLfloat s); +GLAPI void GLAPIENTRY glTexCoord1fv (const GLfloat *v); +GLAPI void GLAPIENTRY glTexCoord1i (GLint s); +GLAPI void GLAPIENTRY glTexCoord1iv (const GLint *v); +GLAPI void GLAPIENTRY glTexCoord1s (GLshort s); +GLAPI void GLAPIENTRY glTexCoord1sv (const GLshort *v); +GLAPI void GLAPIENTRY glTexCoord2d (GLdouble s, GLdouble t); +GLAPI void GLAPIENTRY glTexCoord2dv (const GLdouble *v); +GLAPI void GLAPIENTRY glTexCoord2f (GLfloat s, GLfloat t); +GLAPI void GLAPIENTRY glTexCoord2fv (const GLfloat *v); +GLAPI void GLAPIENTRY glTexCoord2i (GLint s, GLint t); +GLAPI void GLAPIENTRY glTexCoord2iv (const GLint *v); +GLAPI void GLAPIENTRY glTexCoord2s (GLshort s, GLshort t); +GLAPI void GLAPIENTRY glTexCoord2sv (const GLshort *v); +GLAPI void GLAPIENTRY glTexCoord3d (GLdouble s, GLdouble t, GLdouble r); +GLAPI void GLAPIENTRY glTexCoord3dv (const GLdouble *v); +GLAPI void GLAPIENTRY glTexCoord3f (GLfloat s, GLfloat t, GLfloat r); +GLAPI void GLAPIENTRY glTexCoord3fv (const GLfloat *v); +GLAPI void GLAPIENTRY glTexCoord3i (GLint s, GLint t, GLint r); +GLAPI void GLAPIENTRY glTexCoord3iv (const GLint *v); +GLAPI void GLAPIENTRY glTexCoord3s (GLshort s, GLshort t, GLshort r); +GLAPI void GLAPIENTRY glTexCoord3sv (const GLshort *v); +GLAPI void GLAPIENTRY glTexCoord4d (GLdouble s, GLdouble t, GLdouble r, GLdouble q); +GLAPI void GLAPIENTRY glTexCoord4dv (const GLdouble *v); +GLAPI void GLAPIENTRY glTexCoord4f (GLfloat s, GLfloat t, GLfloat r, GLfloat q); +GLAPI void GLAPIENTRY glTexCoord4fv (const GLfloat *v); +GLAPI void GLAPIENTRY glTexCoord4i (GLint s, GLint t, GLint r, GLint q); +GLAPI void GLAPIENTRY glTexCoord4iv (const GLint *v); +GLAPI void GLAPIENTRY glTexCoord4s (GLshort s, GLshort t, GLshort r, GLshort q); +GLAPI void GLAPIENTRY glTexCoord4sv (const GLshort *v); +GLAPI void GLAPIENTRY glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI void GLAPIENTRY glTexEnvf (GLenum target, GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params); +GLAPI void GLAPIENTRY glTexEnvi (GLenum target, GLenum pname, GLint param); +GLAPI void GLAPIENTRY glTexEnviv (GLenum target, GLenum pname, const GLint *params); +GLAPI void GLAPIENTRY glTexGend (GLenum coord, GLenum pname, GLdouble param); +GLAPI void GLAPIENTRY glTexGendv (GLenum coord, GLenum pname, const GLdouble *params); +GLAPI void GLAPIENTRY glTexGenf (GLenum coord, GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glTexGenfv (GLenum coord, GLenum pname, const GLfloat *params); +GLAPI void GLAPIENTRY glTexGeni (GLenum coord, GLenum pname, GLint param); +GLAPI void GLAPIENTRY glTexGeniv (GLenum coord, GLenum pname, const GLint *params); +GLAPI void GLAPIENTRY glTexImage1D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI void GLAPIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +GLAPI void GLAPIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); +GLAPI void GLAPIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params); +GLAPI void GLAPIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); +GLAPI void GLAPIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params); +GLAPI void GLAPIENTRY glTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +GLAPI void GLAPIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +GLAPI void GLAPIENTRY glTranslated (GLdouble x, GLdouble y, GLdouble z); +GLAPI void GLAPIENTRY glTranslatef (GLfloat x, GLfloat y, GLfloat z); +GLAPI void GLAPIENTRY glVertex2d (GLdouble x, GLdouble y); +GLAPI void GLAPIENTRY glVertex2dv (const GLdouble *v); +GLAPI void GLAPIENTRY glVertex2f (GLfloat x, GLfloat y); +GLAPI void GLAPIENTRY glVertex2fv (const GLfloat *v); +GLAPI void GLAPIENTRY glVertex2i (GLint x, GLint y); +GLAPI void GLAPIENTRY glVertex2iv (const GLint *v); +GLAPI void GLAPIENTRY glVertex2s (GLshort x, GLshort y); +GLAPI void GLAPIENTRY glVertex2sv (const GLshort *v); +GLAPI void GLAPIENTRY glVertex3d (GLdouble x, GLdouble y, GLdouble z); +GLAPI void GLAPIENTRY glVertex3dv (const GLdouble *v); +GLAPI void GLAPIENTRY glVertex3f (GLfloat x, GLfloat y, GLfloat z); +GLAPI void GLAPIENTRY glVertex3fv (const GLfloat *v); +GLAPI void GLAPIENTRY glVertex3i (GLint x, GLint y, GLint z); +GLAPI void GLAPIENTRY glVertex3iv (const GLint *v); +GLAPI void GLAPIENTRY glVertex3s (GLshort x, GLshort y, GLshort z); +GLAPI void GLAPIENTRY glVertex3sv (const GLshort *v); +GLAPI void GLAPIENTRY glVertex4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void GLAPIENTRY glVertex4dv (const GLdouble *v); +GLAPI void GLAPIENTRY glVertex4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void GLAPIENTRY glVertex4fv (const GLfloat *v); +GLAPI void GLAPIENTRY glVertex4i (GLint x, GLint y, GLint z, GLint w); +GLAPI void GLAPIENTRY glVertex4iv (const GLint *v); +GLAPI void GLAPIENTRY glVertex4s (GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI void GLAPIENTRY glVertex4sv (const GLshort *v); +GLAPI void GLAPIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI void GLAPIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); + +#define GLEW_VERSION_1_1 GLEW_GET_VAR(__GLEW_VERSION_1_1) + +#endif /* GL_VERSION_1_1 */ + +/* ---------------------------------- GLU ---------------------------------- */ + +#ifndef GLEW_NO_GLU +# ifdef __APPLE__ +# include +# if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) +# define GLEW_NO_GLU +# endif +# endif +#endif + +#ifndef GLEW_NO_GLU +/* this is where we can safely include GLU */ +# if defined(__APPLE__) && defined(__MACH__) +# include +# else +# include +# endif +#endif + +/* ----------------------------- GL_VERSION_1_2 ---------------------------- */ + +#ifndef GL_VERSION_1_2 +#define GL_VERSION_1_2 1 + +#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 +#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 +#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 +#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 +#define GL_UNSIGNED_BYTE_3_3_2 0x8032 +#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 +#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 +#define GL_UNSIGNED_INT_8_8_8_8 0x8035 +#define GL_UNSIGNED_INT_10_10_10_2 0x8036 +#define GL_RESCALE_NORMAL 0x803A +#define GL_TEXTURE_BINDING_3D 0x806A +#define GL_PACK_SKIP_IMAGES 0x806B +#define GL_PACK_IMAGE_HEIGHT 0x806C +#define GL_UNPACK_SKIP_IMAGES 0x806D +#define GL_UNPACK_IMAGE_HEIGHT 0x806E +#define GL_TEXTURE_3D 0x806F +#define GL_PROXY_TEXTURE_3D 0x8070 +#define GL_TEXTURE_DEPTH 0x8071 +#define GL_TEXTURE_WRAP_R 0x8072 +#define GL_MAX_3D_TEXTURE_SIZE 0x8073 +#define GL_BGR 0x80E0 +#define GL_BGRA 0x80E1 +#define GL_MAX_ELEMENTS_VERTICES 0x80E8 +#define GL_MAX_ELEMENTS_INDICES 0x80E9 +#define GL_CLAMP_TO_EDGE 0x812F +#define GL_TEXTURE_MIN_LOD 0x813A +#define GL_TEXTURE_MAX_LOD 0x813B +#define GL_TEXTURE_BASE_LEVEL 0x813C +#define GL_TEXTURE_MAX_LEVEL 0x813D +#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8 +#define GL_SINGLE_COLOR 0x81F9 +#define GL_SEPARATE_SPECULAR_COLOR 0x81FA +#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 +#define GL_UNSIGNED_SHORT_5_6_5 0x8363 +#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 +#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 +#define GL_ALIASED_POINT_SIZE_RANGE 0x846D +#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E + +typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); +typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); + +#define glCopyTexSubImage3D GLEW_GET_FUN(__glewCopyTexSubImage3D) +#define glDrawRangeElements GLEW_GET_FUN(__glewDrawRangeElements) +#define glTexImage3D GLEW_GET_FUN(__glewTexImage3D) +#define glTexSubImage3D GLEW_GET_FUN(__glewTexSubImage3D) + +#define GLEW_VERSION_1_2 GLEW_GET_VAR(__GLEW_VERSION_1_2) + +#endif /* GL_VERSION_1_2 */ + +/* ---------------------------- GL_VERSION_1_2_1 --------------------------- */ + +#ifndef GL_VERSION_1_2_1 +#define GL_VERSION_1_2_1 1 + +#define GLEW_VERSION_1_2_1 GLEW_GET_VAR(__GLEW_VERSION_1_2_1) + +#endif /* GL_VERSION_1_2_1 */ + +/* ----------------------------- GL_VERSION_1_3 ---------------------------- */ + +#ifndef GL_VERSION_1_3 +#define GL_VERSION_1_3 1 + +#define GL_MULTISAMPLE 0x809D +#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE 0x809F +#define GL_SAMPLE_COVERAGE 0x80A0 +#define GL_SAMPLE_BUFFERS 0x80A8 +#define GL_SAMPLES 0x80A9 +#define GL_SAMPLE_COVERAGE_VALUE 0x80AA +#define GL_SAMPLE_COVERAGE_INVERT 0x80AB +#define GL_CLAMP_TO_BORDER 0x812D +#define GL_TEXTURE0 0x84C0 +#define GL_TEXTURE1 0x84C1 +#define GL_TEXTURE2 0x84C2 +#define GL_TEXTURE3 0x84C3 +#define GL_TEXTURE4 0x84C4 +#define GL_TEXTURE5 0x84C5 +#define GL_TEXTURE6 0x84C6 +#define GL_TEXTURE7 0x84C7 +#define GL_TEXTURE8 0x84C8 +#define GL_TEXTURE9 0x84C9 +#define GL_TEXTURE10 0x84CA +#define GL_TEXTURE11 0x84CB +#define GL_TEXTURE12 0x84CC +#define GL_TEXTURE13 0x84CD +#define GL_TEXTURE14 0x84CE +#define GL_TEXTURE15 0x84CF +#define GL_TEXTURE16 0x84D0 +#define GL_TEXTURE17 0x84D1 +#define GL_TEXTURE18 0x84D2 +#define GL_TEXTURE19 0x84D3 +#define GL_TEXTURE20 0x84D4 +#define GL_TEXTURE21 0x84D5 +#define GL_TEXTURE22 0x84D6 +#define GL_TEXTURE23 0x84D7 +#define GL_TEXTURE24 0x84D8 +#define GL_TEXTURE25 0x84D9 +#define GL_TEXTURE26 0x84DA +#define GL_TEXTURE27 0x84DB +#define GL_TEXTURE28 0x84DC +#define GL_TEXTURE29 0x84DD +#define GL_TEXTURE30 0x84DE +#define GL_TEXTURE31 0x84DF +#define GL_ACTIVE_TEXTURE 0x84E0 +#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 +#define GL_MAX_TEXTURE_UNITS 0x84E2 +#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3 +#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4 +#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5 +#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6 +#define GL_SUBTRACT 0x84E7 +#define GL_COMPRESSED_ALPHA 0x84E9 +#define GL_COMPRESSED_LUMINANCE 0x84EA +#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB +#define GL_COMPRESSED_INTENSITY 0x84EC +#define GL_COMPRESSED_RGB 0x84ED +#define GL_COMPRESSED_RGBA 0x84EE +#define GL_TEXTURE_COMPRESSION_HINT 0x84EF +#define GL_NORMAL_MAP 0x8511 +#define GL_REFLECTION_MAP 0x8512 +#define GL_TEXTURE_CUBE_MAP 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A +#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C +#define GL_COMBINE 0x8570 +#define GL_COMBINE_RGB 0x8571 +#define GL_COMBINE_ALPHA 0x8572 +#define GL_RGB_SCALE 0x8573 +#define GL_ADD_SIGNED 0x8574 +#define GL_INTERPOLATE 0x8575 +#define GL_CONSTANT 0x8576 +#define GL_PRIMARY_COLOR 0x8577 +#define GL_PREVIOUS 0x8578 +#define GL_SOURCE0_RGB 0x8580 +#define GL_SOURCE1_RGB 0x8581 +#define GL_SOURCE2_RGB 0x8582 +#define GL_SOURCE0_ALPHA 0x8588 +#define GL_SOURCE1_ALPHA 0x8589 +#define GL_SOURCE2_ALPHA 0x858A +#define GL_OPERAND0_RGB 0x8590 +#define GL_OPERAND1_RGB 0x8591 +#define GL_OPERAND2_RGB 0x8592 +#define GL_OPERAND0_ALPHA 0x8598 +#define GL_OPERAND1_ALPHA 0x8599 +#define GL_OPERAND2_ALPHA 0x859A +#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 +#define GL_TEXTURE_COMPRESSED 0x86A1 +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 +#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 +#define GL_DOT3_RGB 0x86AE +#define GL_DOT3_RGBA 0x86AF +#define GL_MULTISAMPLE_BIT 0x20000000 + +typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREPROC) (GLenum texture); +typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint lod, void *img); +typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble m[16]); +typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat m[16]); +typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble m[16]); +typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat m[16]); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert); + +#define glActiveTexture GLEW_GET_FUN(__glewActiveTexture) +#define glClientActiveTexture GLEW_GET_FUN(__glewClientActiveTexture) +#define glCompressedTexImage1D GLEW_GET_FUN(__glewCompressedTexImage1D) +#define glCompressedTexImage2D GLEW_GET_FUN(__glewCompressedTexImage2D) +#define glCompressedTexImage3D GLEW_GET_FUN(__glewCompressedTexImage3D) +#define glCompressedTexSubImage1D GLEW_GET_FUN(__glewCompressedTexSubImage1D) +#define glCompressedTexSubImage2D GLEW_GET_FUN(__glewCompressedTexSubImage2D) +#define glCompressedTexSubImage3D GLEW_GET_FUN(__glewCompressedTexSubImage3D) +#define glGetCompressedTexImage GLEW_GET_FUN(__glewGetCompressedTexImage) +#define glLoadTransposeMatrixd GLEW_GET_FUN(__glewLoadTransposeMatrixd) +#define glLoadTransposeMatrixf GLEW_GET_FUN(__glewLoadTransposeMatrixf) +#define glMultTransposeMatrixd GLEW_GET_FUN(__glewMultTransposeMatrixd) +#define glMultTransposeMatrixf GLEW_GET_FUN(__glewMultTransposeMatrixf) +#define glMultiTexCoord1d GLEW_GET_FUN(__glewMultiTexCoord1d) +#define glMultiTexCoord1dv GLEW_GET_FUN(__glewMultiTexCoord1dv) +#define glMultiTexCoord1f GLEW_GET_FUN(__glewMultiTexCoord1f) +#define glMultiTexCoord1fv GLEW_GET_FUN(__glewMultiTexCoord1fv) +#define glMultiTexCoord1i GLEW_GET_FUN(__glewMultiTexCoord1i) +#define glMultiTexCoord1iv GLEW_GET_FUN(__glewMultiTexCoord1iv) +#define glMultiTexCoord1s GLEW_GET_FUN(__glewMultiTexCoord1s) +#define glMultiTexCoord1sv GLEW_GET_FUN(__glewMultiTexCoord1sv) +#define glMultiTexCoord2d GLEW_GET_FUN(__glewMultiTexCoord2d) +#define glMultiTexCoord2dv GLEW_GET_FUN(__glewMultiTexCoord2dv) +#define glMultiTexCoord2f GLEW_GET_FUN(__glewMultiTexCoord2f) +#define glMultiTexCoord2fv GLEW_GET_FUN(__glewMultiTexCoord2fv) +#define glMultiTexCoord2i GLEW_GET_FUN(__glewMultiTexCoord2i) +#define glMultiTexCoord2iv GLEW_GET_FUN(__glewMultiTexCoord2iv) +#define glMultiTexCoord2s GLEW_GET_FUN(__glewMultiTexCoord2s) +#define glMultiTexCoord2sv GLEW_GET_FUN(__glewMultiTexCoord2sv) +#define glMultiTexCoord3d GLEW_GET_FUN(__glewMultiTexCoord3d) +#define glMultiTexCoord3dv GLEW_GET_FUN(__glewMultiTexCoord3dv) +#define glMultiTexCoord3f GLEW_GET_FUN(__glewMultiTexCoord3f) +#define glMultiTexCoord3fv GLEW_GET_FUN(__glewMultiTexCoord3fv) +#define glMultiTexCoord3i GLEW_GET_FUN(__glewMultiTexCoord3i) +#define glMultiTexCoord3iv GLEW_GET_FUN(__glewMultiTexCoord3iv) +#define glMultiTexCoord3s GLEW_GET_FUN(__glewMultiTexCoord3s) +#define glMultiTexCoord3sv GLEW_GET_FUN(__glewMultiTexCoord3sv) +#define glMultiTexCoord4d GLEW_GET_FUN(__glewMultiTexCoord4d) +#define glMultiTexCoord4dv GLEW_GET_FUN(__glewMultiTexCoord4dv) +#define glMultiTexCoord4f GLEW_GET_FUN(__glewMultiTexCoord4f) +#define glMultiTexCoord4fv GLEW_GET_FUN(__glewMultiTexCoord4fv) +#define glMultiTexCoord4i GLEW_GET_FUN(__glewMultiTexCoord4i) +#define glMultiTexCoord4iv GLEW_GET_FUN(__glewMultiTexCoord4iv) +#define glMultiTexCoord4s GLEW_GET_FUN(__glewMultiTexCoord4s) +#define glMultiTexCoord4sv GLEW_GET_FUN(__glewMultiTexCoord4sv) +#define glSampleCoverage GLEW_GET_FUN(__glewSampleCoverage) + +#define GLEW_VERSION_1_3 GLEW_GET_VAR(__GLEW_VERSION_1_3) + +#endif /* GL_VERSION_1_3 */ + +/* ----------------------------- GL_VERSION_1_4 ---------------------------- */ + +#ifndef GL_VERSION_1_4 +#define GL_VERSION_1_4 1 + +#define GL_BLEND_DST_RGB 0x80C8 +#define GL_BLEND_SRC_RGB 0x80C9 +#define GL_BLEND_DST_ALPHA 0x80CA +#define GL_BLEND_SRC_ALPHA 0x80CB +#define GL_POINT_SIZE_MIN 0x8126 +#define GL_POINT_SIZE_MAX 0x8127 +#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 +#define GL_POINT_DISTANCE_ATTENUATION 0x8129 +#define GL_GENERATE_MIPMAP 0x8191 +#define GL_GENERATE_MIPMAP_HINT 0x8192 +#define GL_DEPTH_COMPONENT16 0x81A5 +#define GL_DEPTH_COMPONENT24 0x81A6 +#define GL_DEPTH_COMPONENT32 0x81A7 +#define GL_MIRRORED_REPEAT 0x8370 +#define GL_FOG_COORDINATE_SOURCE 0x8450 +#define GL_FOG_COORDINATE 0x8451 +#define GL_FRAGMENT_DEPTH 0x8452 +#define GL_CURRENT_FOG_COORDINATE 0x8453 +#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454 +#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455 +#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456 +#define GL_FOG_COORDINATE_ARRAY 0x8457 +#define GL_COLOR_SUM 0x8458 +#define GL_CURRENT_SECONDARY_COLOR 0x8459 +#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A +#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B +#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C +#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D +#define GL_SECONDARY_COLOR_ARRAY 0x845E +#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD +#define GL_TEXTURE_FILTER_CONTROL 0x8500 +#define GL_TEXTURE_LOD_BIAS 0x8501 +#define GL_INCR_WRAP 0x8507 +#define GL_DECR_WRAP 0x8508 +#define GL_TEXTURE_DEPTH_SIZE 0x884A +#define GL_DEPTH_TEXTURE_MODE 0x884B +#define GL_TEXTURE_COMPARE_MODE 0x884C +#define GL_TEXTURE_COMPARE_FUNC 0x884D +#define GL_COMPARE_R_TO_TEXTURE 0x884E + +typedef void (GLAPIENTRY * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONPROC) (GLenum mode); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const void *pointer); +typedef void (GLAPIENTRY * PFNGLFOGCOORDDPROC) (GLdouble coord); +typedef void (GLAPIENTRY * PFNGLFOGCOORDDVPROC) (const GLdouble *coord); +typedef void (GLAPIENTRY * PFNGLFOGCOORDFPROC) (GLfloat coord); +typedef void (GLAPIENTRY * PFNGLFOGCOORDFVPROC) (const GLfloat *coord); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const* indices, GLsizei drawcount); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVPROC) (const GLdouble *p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVPROC) (const GLfloat *p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IPROC) (GLint x, GLint y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVPROC) (const GLint *p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVPROC) (const GLshort *p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVPROC) (const GLdouble *p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVPROC) (const GLfloat *p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVPROC) (const GLint *p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVPROC) (const GLshort *p); + +#define glBlendColor GLEW_GET_FUN(__glewBlendColor) +#define glBlendEquation GLEW_GET_FUN(__glewBlendEquation) +#define glBlendFuncSeparate GLEW_GET_FUN(__glewBlendFuncSeparate) +#define glFogCoordPointer GLEW_GET_FUN(__glewFogCoordPointer) +#define glFogCoordd GLEW_GET_FUN(__glewFogCoordd) +#define glFogCoorddv GLEW_GET_FUN(__glewFogCoorddv) +#define glFogCoordf GLEW_GET_FUN(__glewFogCoordf) +#define glFogCoordfv GLEW_GET_FUN(__glewFogCoordfv) +#define glMultiDrawArrays GLEW_GET_FUN(__glewMultiDrawArrays) +#define glMultiDrawElements GLEW_GET_FUN(__glewMultiDrawElements) +#define glPointParameterf GLEW_GET_FUN(__glewPointParameterf) +#define glPointParameterfv GLEW_GET_FUN(__glewPointParameterfv) +#define glPointParameteri GLEW_GET_FUN(__glewPointParameteri) +#define glPointParameteriv GLEW_GET_FUN(__glewPointParameteriv) +#define glSecondaryColor3b GLEW_GET_FUN(__glewSecondaryColor3b) +#define glSecondaryColor3bv GLEW_GET_FUN(__glewSecondaryColor3bv) +#define glSecondaryColor3d GLEW_GET_FUN(__glewSecondaryColor3d) +#define glSecondaryColor3dv GLEW_GET_FUN(__glewSecondaryColor3dv) +#define glSecondaryColor3f GLEW_GET_FUN(__glewSecondaryColor3f) +#define glSecondaryColor3fv GLEW_GET_FUN(__glewSecondaryColor3fv) +#define glSecondaryColor3i GLEW_GET_FUN(__glewSecondaryColor3i) +#define glSecondaryColor3iv GLEW_GET_FUN(__glewSecondaryColor3iv) +#define glSecondaryColor3s GLEW_GET_FUN(__glewSecondaryColor3s) +#define glSecondaryColor3sv GLEW_GET_FUN(__glewSecondaryColor3sv) +#define glSecondaryColor3ub GLEW_GET_FUN(__glewSecondaryColor3ub) +#define glSecondaryColor3ubv GLEW_GET_FUN(__glewSecondaryColor3ubv) +#define glSecondaryColor3ui GLEW_GET_FUN(__glewSecondaryColor3ui) +#define glSecondaryColor3uiv GLEW_GET_FUN(__glewSecondaryColor3uiv) +#define glSecondaryColor3us GLEW_GET_FUN(__glewSecondaryColor3us) +#define glSecondaryColor3usv GLEW_GET_FUN(__glewSecondaryColor3usv) +#define glSecondaryColorPointer GLEW_GET_FUN(__glewSecondaryColorPointer) +#define glWindowPos2d GLEW_GET_FUN(__glewWindowPos2d) +#define glWindowPos2dv GLEW_GET_FUN(__glewWindowPos2dv) +#define glWindowPos2f GLEW_GET_FUN(__glewWindowPos2f) +#define glWindowPos2fv GLEW_GET_FUN(__glewWindowPos2fv) +#define glWindowPos2i GLEW_GET_FUN(__glewWindowPos2i) +#define glWindowPos2iv GLEW_GET_FUN(__glewWindowPos2iv) +#define glWindowPos2s GLEW_GET_FUN(__glewWindowPos2s) +#define glWindowPos2sv GLEW_GET_FUN(__glewWindowPos2sv) +#define glWindowPos3d GLEW_GET_FUN(__glewWindowPos3d) +#define glWindowPos3dv GLEW_GET_FUN(__glewWindowPos3dv) +#define glWindowPos3f GLEW_GET_FUN(__glewWindowPos3f) +#define glWindowPos3fv GLEW_GET_FUN(__glewWindowPos3fv) +#define glWindowPos3i GLEW_GET_FUN(__glewWindowPos3i) +#define glWindowPos3iv GLEW_GET_FUN(__glewWindowPos3iv) +#define glWindowPos3s GLEW_GET_FUN(__glewWindowPos3s) +#define glWindowPos3sv GLEW_GET_FUN(__glewWindowPos3sv) + +#define GLEW_VERSION_1_4 GLEW_GET_VAR(__GLEW_VERSION_1_4) + +#endif /* GL_VERSION_1_4 */ + +/* ----------------------------- GL_VERSION_1_5 ---------------------------- */ + +#ifndef GL_VERSION_1_5 +#define GL_VERSION_1_5 1 + +#define GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE +#define GL_FOG_COORD GL_FOG_COORDINATE +#define GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY +#define GL_FOG_COORD_ARRAY_BUFFER_BINDING GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING +#define GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER +#define GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE +#define GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE +#define GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE +#define GL_SRC0_ALPHA GL_SOURCE0_ALPHA +#define GL_SRC0_RGB GL_SOURCE0_RGB +#define GL_SRC1_ALPHA GL_SOURCE1_ALPHA +#define GL_SRC1_RGB GL_SOURCE1_RGB +#define GL_SRC2_ALPHA GL_SOURCE2_ALPHA +#define GL_SRC2_RGB GL_SOURCE2_RGB +#define GL_BUFFER_SIZE 0x8764 +#define GL_BUFFER_USAGE 0x8765 +#define GL_QUERY_COUNTER_BITS 0x8864 +#define GL_CURRENT_QUERY 0x8865 +#define GL_QUERY_RESULT 0x8866 +#define GL_QUERY_RESULT_AVAILABLE 0x8867 +#define GL_ARRAY_BUFFER 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER 0x8893 +#define GL_ARRAY_BUFFER_BINDING 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 +#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 +#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 +#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 +#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899 +#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A +#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B +#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C +#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D +#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F +#define GL_READ_ONLY 0x88B8 +#define GL_WRITE_ONLY 0x88B9 +#define GL_READ_WRITE 0x88BA +#define GL_BUFFER_ACCESS 0x88BB +#define GL_BUFFER_MAPPED 0x88BC +#define GL_BUFFER_MAP_POINTER 0x88BD +#define GL_STREAM_DRAW 0x88E0 +#define GL_STREAM_READ 0x88E1 +#define GL_STREAM_COPY 0x88E2 +#define GL_STATIC_DRAW 0x88E4 +#define GL_STATIC_READ 0x88E5 +#define GL_STATIC_COPY 0x88E6 +#define GL_DYNAMIC_DRAW 0x88E8 +#define GL_DYNAMIC_READ 0x88E9 +#define GL_DYNAMIC_COPY 0x88EA +#define GL_SAMPLES_PASSED 0x8914 + +typedef ptrdiff_t GLintptr; +typedef ptrdiff_t GLsizeiptr; + +typedef void (GLAPIENTRY * PFNGLBEGINQUERYPROC) (GLenum target, GLuint id); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void* data, GLenum usage); +typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void* data); +typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint* buffers); +typedef void (GLAPIENTRY * PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLENDQUERYPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint* buffers); +typedef void (GLAPIENTRY * PFNGLGENQUERIESPROC) (GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, void** params); +typedef void (GLAPIENTRY * PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, void* data); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERPROC) (GLuint buffer); +typedef GLboolean (GLAPIENTRY * PFNGLISQUERYPROC) (GLuint id); +typedef void* (GLAPIENTRY * PFNGLMAPBUFFERPROC) (GLenum target, GLenum access); +typedef GLboolean (GLAPIENTRY * PFNGLUNMAPBUFFERPROC) (GLenum target); + +#define glBeginQuery GLEW_GET_FUN(__glewBeginQuery) +#define glBindBuffer GLEW_GET_FUN(__glewBindBuffer) +#define glBufferData GLEW_GET_FUN(__glewBufferData) +#define glBufferSubData GLEW_GET_FUN(__glewBufferSubData) +#define glDeleteBuffers GLEW_GET_FUN(__glewDeleteBuffers) +#define glDeleteQueries GLEW_GET_FUN(__glewDeleteQueries) +#define glEndQuery GLEW_GET_FUN(__glewEndQuery) +#define glGenBuffers GLEW_GET_FUN(__glewGenBuffers) +#define glGenQueries GLEW_GET_FUN(__glewGenQueries) +#define glGetBufferParameteriv GLEW_GET_FUN(__glewGetBufferParameteriv) +#define glGetBufferPointerv GLEW_GET_FUN(__glewGetBufferPointerv) +#define glGetBufferSubData GLEW_GET_FUN(__glewGetBufferSubData) +#define glGetQueryObjectiv GLEW_GET_FUN(__glewGetQueryObjectiv) +#define glGetQueryObjectuiv GLEW_GET_FUN(__glewGetQueryObjectuiv) +#define glGetQueryiv GLEW_GET_FUN(__glewGetQueryiv) +#define glIsBuffer GLEW_GET_FUN(__glewIsBuffer) +#define glIsQuery GLEW_GET_FUN(__glewIsQuery) +#define glMapBuffer GLEW_GET_FUN(__glewMapBuffer) +#define glUnmapBuffer GLEW_GET_FUN(__glewUnmapBuffer) + +#define GLEW_VERSION_1_5 GLEW_GET_VAR(__GLEW_VERSION_1_5) + +#endif /* GL_VERSION_1_5 */ + +/* ----------------------------- GL_VERSION_2_0 ---------------------------- */ + +#ifndef GL_VERSION_2_0 +#define GL_VERSION_2_0 1 + +#define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 +#define GL_CURRENT_VERTEX_ATTRIB 0x8626 +#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 +#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643 +#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 +#define GL_STENCIL_BACK_FUNC 0x8800 +#define GL_STENCIL_BACK_FAIL 0x8801 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 +#define GL_MAX_DRAW_BUFFERS 0x8824 +#define GL_DRAW_BUFFER0 0x8825 +#define GL_DRAW_BUFFER1 0x8826 +#define GL_DRAW_BUFFER2 0x8827 +#define GL_DRAW_BUFFER3 0x8828 +#define GL_DRAW_BUFFER4 0x8829 +#define GL_DRAW_BUFFER5 0x882A +#define GL_DRAW_BUFFER6 0x882B +#define GL_DRAW_BUFFER7 0x882C +#define GL_DRAW_BUFFER8 0x882D +#define GL_DRAW_BUFFER9 0x882E +#define GL_DRAW_BUFFER10 0x882F +#define GL_DRAW_BUFFER11 0x8830 +#define GL_DRAW_BUFFER12 0x8831 +#define GL_DRAW_BUFFER13 0x8832 +#define GL_DRAW_BUFFER14 0x8833 +#define GL_DRAW_BUFFER15 0x8834 +#define GL_BLEND_EQUATION_ALPHA 0x883D +#define GL_POINT_SPRITE 0x8861 +#define GL_COORD_REPLACE 0x8862 +#define GL_MAX_VERTEX_ATTRIBS 0x8869 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A +#define GL_MAX_TEXTURE_COORDS 0x8871 +#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 +#define GL_FRAGMENT_SHADER 0x8B30 +#define GL_VERTEX_SHADER 0x8B31 +#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 +#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A +#define GL_MAX_VARYING_FLOATS 0x8B4B +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D +#define GL_SHADER_TYPE 0x8B4F +#define GL_FLOAT_VEC2 0x8B50 +#define GL_FLOAT_VEC3 0x8B51 +#define GL_FLOAT_VEC4 0x8B52 +#define GL_INT_VEC2 0x8B53 +#define GL_INT_VEC3 0x8B54 +#define GL_INT_VEC4 0x8B55 +#define GL_BOOL 0x8B56 +#define GL_BOOL_VEC2 0x8B57 +#define GL_BOOL_VEC3 0x8B58 +#define GL_BOOL_VEC4 0x8B59 +#define GL_FLOAT_MAT2 0x8B5A +#define GL_FLOAT_MAT3 0x8B5B +#define GL_FLOAT_MAT4 0x8B5C +#define GL_SAMPLER_1D 0x8B5D +#define GL_SAMPLER_2D 0x8B5E +#define GL_SAMPLER_3D 0x8B5F +#define GL_SAMPLER_CUBE 0x8B60 +#define GL_SAMPLER_1D_SHADOW 0x8B61 +#define GL_SAMPLER_2D_SHADOW 0x8B62 +#define GL_DELETE_STATUS 0x8B80 +#define GL_COMPILE_STATUS 0x8B81 +#define GL_LINK_STATUS 0x8B82 +#define GL_VALIDATE_STATUS 0x8B83 +#define GL_INFO_LOG_LENGTH 0x8B84 +#define GL_ATTACHED_SHADERS 0x8B85 +#define GL_ACTIVE_UNIFORMS 0x8B86 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#define GL_SHADER_SOURCE_LENGTH 0x8B88 +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B +#define GL_SHADING_LANGUAGE_VERSION 0x8B8C +#define GL_CURRENT_PROGRAM 0x8B8D +#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 +#define GL_LOWER_LEFT 0x8CA1 +#define GL_UPPER_LEFT 0x8CA2 +#define GL_STENCIL_BACK_REF 0x8CA3 +#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 +#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 + +typedef void (GLAPIENTRY * PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader); +typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAPIENTRY * PFNGLCOMPILESHADERPROC) (GLuint shader); +typedef GLuint (GLAPIENTRY * PFNGLCREATEPROGRAMPROC) (void); +typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROC) (GLenum type); +typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPROC) (GLuint program); +typedef void (GLAPIENTRY * PFNGLDELETESHADERPROC) (GLuint shader); +typedef void (GLAPIENTRY * PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader); +typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index); +typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum* bufs); +typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index); +typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name); +typedef void (GLAPIENTRY * PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders); +typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog); +typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEPROC) (GLuint obj, GLsizei maxLength, GLsizei* length, GLchar* source); +typedef void (GLAPIENTRY * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint* param); +typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void** pointer); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMPROC) (GLuint program); +typedef GLboolean (GLAPIENTRY * PFNGLISSHADERPROC) (GLuint shader); +typedef void (GLAPIENTRY * PFNGLLINKPROGRAMPROC) (GLuint program); +typedef void (GLAPIENTRY * PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const* string, const GLint* length); +typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +typedef void (GLAPIENTRY * PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask); +typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); +typedef void (GLAPIENTRY * PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0); +typedef void (GLAPIENTRY * PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM1IPROC) (GLint location, GLint v0); +typedef void (GLAPIENTRY * PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1); +typedef void (GLAPIENTRY * PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1); +typedef void (GLAPIENTRY * PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (GLAPIENTRY * PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2); +typedef void (GLAPIENTRY * PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (GLAPIENTRY * PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (GLAPIENTRY * PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUSEPROGRAMPROC) (GLuint program); +typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPROC) (GLuint program); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* pointer); + +#define glAttachShader GLEW_GET_FUN(__glewAttachShader) +#define glBindAttribLocation GLEW_GET_FUN(__glewBindAttribLocation) +#define glBlendEquationSeparate GLEW_GET_FUN(__glewBlendEquationSeparate) +#define glCompileShader GLEW_GET_FUN(__glewCompileShader) +#define glCreateProgram GLEW_GET_FUN(__glewCreateProgram) +#define glCreateShader GLEW_GET_FUN(__glewCreateShader) +#define glDeleteProgram GLEW_GET_FUN(__glewDeleteProgram) +#define glDeleteShader GLEW_GET_FUN(__glewDeleteShader) +#define glDetachShader GLEW_GET_FUN(__glewDetachShader) +#define glDisableVertexAttribArray GLEW_GET_FUN(__glewDisableVertexAttribArray) +#define glDrawBuffers GLEW_GET_FUN(__glewDrawBuffers) +#define glEnableVertexAttribArray GLEW_GET_FUN(__glewEnableVertexAttribArray) +#define glGetActiveAttrib GLEW_GET_FUN(__glewGetActiveAttrib) +#define glGetActiveUniform GLEW_GET_FUN(__glewGetActiveUniform) +#define glGetAttachedShaders GLEW_GET_FUN(__glewGetAttachedShaders) +#define glGetAttribLocation GLEW_GET_FUN(__glewGetAttribLocation) +#define glGetProgramInfoLog GLEW_GET_FUN(__glewGetProgramInfoLog) +#define glGetProgramiv GLEW_GET_FUN(__glewGetProgramiv) +#define glGetShaderInfoLog GLEW_GET_FUN(__glewGetShaderInfoLog) +#define glGetShaderSource GLEW_GET_FUN(__glewGetShaderSource) +#define glGetShaderiv GLEW_GET_FUN(__glewGetShaderiv) +#define glGetUniformLocation GLEW_GET_FUN(__glewGetUniformLocation) +#define glGetUniformfv GLEW_GET_FUN(__glewGetUniformfv) +#define glGetUniformiv GLEW_GET_FUN(__glewGetUniformiv) +#define glGetVertexAttribPointerv GLEW_GET_FUN(__glewGetVertexAttribPointerv) +#define glGetVertexAttribdv GLEW_GET_FUN(__glewGetVertexAttribdv) +#define glGetVertexAttribfv GLEW_GET_FUN(__glewGetVertexAttribfv) +#define glGetVertexAttribiv GLEW_GET_FUN(__glewGetVertexAttribiv) +#define glIsProgram GLEW_GET_FUN(__glewIsProgram) +#define glIsShader GLEW_GET_FUN(__glewIsShader) +#define glLinkProgram GLEW_GET_FUN(__glewLinkProgram) +#define glShaderSource GLEW_GET_FUN(__glewShaderSource) +#define glStencilFuncSeparate GLEW_GET_FUN(__glewStencilFuncSeparate) +#define glStencilMaskSeparate GLEW_GET_FUN(__glewStencilMaskSeparate) +#define glStencilOpSeparate GLEW_GET_FUN(__glewStencilOpSeparate) +#define glUniform1f GLEW_GET_FUN(__glewUniform1f) +#define glUniform1fv GLEW_GET_FUN(__glewUniform1fv) +#define glUniform1i GLEW_GET_FUN(__glewUniform1i) +#define glUniform1iv GLEW_GET_FUN(__glewUniform1iv) +#define glUniform2f GLEW_GET_FUN(__glewUniform2f) +#define glUniform2fv GLEW_GET_FUN(__glewUniform2fv) +#define glUniform2i GLEW_GET_FUN(__glewUniform2i) +#define glUniform2iv GLEW_GET_FUN(__glewUniform2iv) +#define glUniform3f GLEW_GET_FUN(__glewUniform3f) +#define glUniform3fv GLEW_GET_FUN(__glewUniform3fv) +#define glUniform3i GLEW_GET_FUN(__glewUniform3i) +#define glUniform3iv GLEW_GET_FUN(__glewUniform3iv) +#define glUniform4f GLEW_GET_FUN(__glewUniform4f) +#define glUniform4fv GLEW_GET_FUN(__glewUniform4fv) +#define glUniform4i GLEW_GET_FUN(__glewUniform4i) +#define glUniform4iv GLEW_GET_FUN(__glewUniform4iv) +#define glUniformMatrix2fv GLEW_GET_FUN(__glewUniformMatrix2fv) +#define glUniformMatrix3fv GLEW_GET_FUN(__glewUniformMatrix3fv) +#define glUniformMatrix4fv GLEW_GET_FUN(__glewUniformMatrix4fv) +#define glUseProgram GLEW_GET_FUN(__glewUseProgram) +#define glValidateProgram GLEW_GET_FUN(__glewValidateProgram) +#define glVertexAttrib1d GLEW_GET_FUN(__glewVertexAttrib1d) +#define glVertexAttrib1dv GLEW_GET_FUN(__glewVertexAttrib1dv) +#define glVertexAttrib1f GLEW_GET_FUN(__glewVertexAttrib1f) +#define glVertexAttrib1fv GLEW_GET_FUN(__glewVertexAttrib1fv) +#define glVertexAttrib1s GLEW_GET_FUN(__glewVertexAttrib1s) +#define glVertexAttrib1sv GLEW_GET_FUN(__glewVertexAttrib1sv) +#define glVertexAttrib2d GLEW_GET_FUN(__glewVertexAttrib2d) +#define glVertexAttrib2dv GLEW_GET_FUN(__glewVertexAttrib2dv) +#define glVertexAttrib2f GLEW_GET_FUN(__glewVertexAttrib2f) +#define glVertexAttrib2fv GLEW_GET_FUN(__glewVertexAttrib2fv) +#define glVertexAttrib2s GLEW_GET_FUN(__glewVertexAttrib2s) +#define glVertexAttrib2sv GLEW_GET_FUN(__glewVertexAttrib2sv) +#define glVertexAttrib3d GLEW_GET_FUN(__glewVertexAttrib3d) +#define glVertexAttrib3dv GLEW_GET_FUN(__glewVertexAttrib3dv) +#define glVertexAttrib3f GLEW_GET_FUN(__glewVertexAttrib3f) +#define glVertexAttrib3fv GLEW_GET_FUN(__glewVertexAttrib3fv) +#define glVertexAttrib3s GLEW_GET_FUN(__glewVertexAttrib3s) +#define glVertexAttrib3sv GLEW_GET_FUN(__glewVertexAttrib3sv) +#define glVertexAttrib4Nbv GLEW_GET_FUN(__glewVertexAttrib4Nbv) +#define glVertexAttrib4Niv GLEW_GET_FUN(__glewVertexAttrib4Niv) +#define glVertexAttrib4Nsv GLEW_GET_FUN(__glewVertexAttrib4Nsv) +#define glVertexAttrib4Nub GLEW_GET_FUN(__glewVertexAttrib4Nub) +#define glVertexAttrib4Nubv GLEW_GET_FUN(__glewVertexAttrib4Nubv) +#define glVertexAttrib4Nuiv GLEW_GET_FUN(__glewVertexAttrib4Nuiv) +#define glVertexAttrib4Nusv GLEW_GET_FUN(__glewVertexAttrib4Nusv) +#define glVertexAttrib4bv GLEW_GET_FUN(__glewVertexAttrib4bv) +#define glVertexAttrib4d GLEW_GET_FUN(__glewVertexAttrib4d) +#define glVertexAttrib4dv GLEW_GET_FUN(__glewVertexAttrib4dv) +#define glVertexAttrib4f GLEW_GET_FUN(__glewVertexAttrib4f) +#define glVertexAttrib4fv GLEW_GET_FUN(__glewVertexAttrib4fv) +#define glVertexAttrib4iv GLEW_GET_FUN(__glewVertexAttrib4iv) +#define glVertexAttrib4s GLEW_GET_FUN(__glewVertexAttrib4s) +#define glVertexAttrib4sv GLEW_GET_FUN(__glewVertexAttrib4sv) +#define glVertexAttrib4ubv GLEW_GET_FUN(__glewVertexAttrib4ubv) +#define glVertexAttrib4uiv GLEW_GET_FUN(__glewVertexAttrib4uiv) +#define glVertexAttrib4usv GLEW_GET_FUN(__glewVertexAttrib4usv) +#define glVertexAttribPointer GLEW_GET_FUN(__glewVertexAttribPointer) + +#define GLEW_VERSION_2_0 GLEW_GET_VAR(__GLEW_VERSION_2_0) + +#endif /* GL_VERSION_2_0 */ + +/* ----------------------------- GL_VERSION_2_1 ---------------------------- */ + +#ifndef GL_VERSION_2_1 +#define GL_VERSION_2_1 1 + +#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F +#define GL_PIXEL_PACK_BUFFER 0x88EB +#define GL_PIXEL_UNPACK_BUFFER 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF +#define GL_FLOAT_MAT2x3 0x8B65 +#define GL_FLOAT_MAT2x4 0x8B66 +#define GL_FLOAT_MAT3x2 0x8B67 +#define GL_FLOAT_MAT3x4 0x8B68 +#define GL_FLOAT_MAT4x2 0x8B69 +#define GL_FLOAT_MAT4x3 0x8B6A +#define GL_SRGB 0x8C40 +#define GL_SRGB8 0x8C41 +#define GL_SRGB_ALPHA 0x8C42 +#define GL_SRGB8_ALPHA8 0x8C43 +#define GL_SLUMINANCE_ALPHA 0x8C44 +#define GL_SLUMINANCE8_ALPHA8 0x8C45 +#define GL_SLUMINANCE 0x8C46 +#define GL_SLUMINANCE8 0x8C47 +#define GL_COMPRESSED_SRGB 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA 0x8C49 +#define GL_COMPRESSED_SLUMINANCE 0x8C4A +#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B + +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); + +#define glUniformMatrix2x3fv GLEW_GET_FUN(__glewUniformMatrix2x3fv) +#define glUniformMatrix2x4fv GLEW_GET_FUN(__glewUniformMatrix2x4fv) +#define glUniformMatrix3x2fv GLEW_GET_FUN(__glewUniformMatrix3x2fv) +#define glUniformMatrix3x4fv GLEW_GET_FUN(__glewUniformMatrix3x4fv) +#define glUniformMatrix4x2fv GLEW_GET_FUN(__glewUniformMatrix4x2fv) +#define glUniformMatrix4x3fv GLEW_GET_FUN(__glewUniformMatrix4x3fv) + +#define GLEW_VERSION_2_1 GLEW_GET_VAR(__GLEW_VERSION_2_1) + +#endif /* GL_VERSION_2_1 */ + +/* ----------------------------- GL_VERSION_3_0 ---------------------------- */ + +#ifndef GL_VERSION_3_0 +#define GL_VERSION_3_0 1 + +#define GL_CLIP_DISTANCE0 GL_CLIP_PLANE0 +#define GL_CLIP_DISTANCE1 GL_CLIP_PLANE1 +#define GL_CLIP_DISTANCE2 GL_CLIP_PLANE2 +#define GL_CLIP_DISTANCE3 GL_CLIP_PLANE3 +#define GL_CLIP_DISTANCE4 GL_CLIP_PLANE4 +#define GL_CLIP_DISTANCE5 GL_CLIP_PLANE5 +#define GL_COMPARE_REF_TO_TEXTURE GL_COMPARE_R_TO_TEXTURE_ARB +#define GL_MAX_CLIP_DISTANCES GL_MAX_CLIP_PLANES +#define GL_MAX_VARYING_COMPONENTS GL_MAX_VARYING_FLOATS +#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001 +#define GL_MAJOR_VERSION 0x821B +#define GL_MINOR_VERSION 0x821C +#define GL_NUM_EXTENSIONS 0x821D +#define GL_CONTEXT_FLAGS 0x821E +#define GL_DEPTH_BUFFER 0x8223 +#define GL_STENCIL_BUFFER 0x8224 +#define GL_RGBA32F 0x8814 +#define GL_RGB32F 0x8815 +#define GL_RGBA16F 0x881A +#define GL_RGB16F 0x881B +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD +#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF +#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904 +#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905 +#define GL_CLAMP_VERTEX_COLOR 0x891A +#define GL_CLAMP_FRAGMENT_COLOR 0x891B +#define GL_CLAMP_READ_COLOR 0x891C +#define GL_FIXED_ONLY 0x891D +#define GL_TEXTURE_RED_TYPE 0x8C10 +#define GL_TEXTURE_GREEN_TYPE 0x8C11 +#define GL_TEXTURE_BLUE_TYPE 0x8C12 +#define GL_TEXTURE_ALPHA_TYPE 0x8C13 +#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14 +#define GL_TEXTURE_INTENSITY_TYPE 0x8C15 +#define GL_TEXTURE_DEPTH_TYPE 0x8C16 +#define GL_TEXTURE_1D_ARRAY 0x8C18 +#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19 +#define GL_TEXTURE_2D_ARRAY 0x8C1A +#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B +#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C +#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D +#define GL_R11F_G11F_B10F 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B +#define GL_RGB9_E5 0x8C3D +#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E +#define GL_TEXTURE_SHARED_SIZE 0x8C3F +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76 +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80 +#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85 +#define GL_PRIMITIVES_GENERATED 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88 +#define GL_RASTERIZER_DISCARD 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B +#define GL_INTERLEAVED_ATTRIBS 0x8C8C +#define GL_SEPARATE_ATTRIBS 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F +#define GL_RGBA32UI 0x8D70 +#define GL_RGB32UI 0x8D71 +#define GL_RGBA16UI 0x8D76 +#define GL_RGB16UI 0x8D77 +#define GL_RGBA8UI 0x8D7C +#define GL_RGB8UI 0x8D7D +#define GL_RGBA32I 0x8D82 +#define GL_RGB32I 0x8D83 +#define GL_RGBA16I 0x8D88 +#define GL_RGB16I 0x8D89 +#define GL_RGBA8I 0x8D8E +#define GL_RGB8I 0x8D8F +#define GL_RED_INTEGER 0x8D94 +#define GL_GREEN_INTEGER 0x8D95 +#define GL_BLUE_INTEGER 0x8D96 +#define GL_ALPHA_INTEGER 0x8D97 +#define GL_RGB_INTEGER 0x8D98 +#define GL_RGBA_INTEGER 0x8D99 +#define GL_BGR_INTEGER 0x8D9A +#define GL_BGRA_INTEGER 0x8D9B +#define GL_SAMPLER_1D_ARRAY 0x8DC0 +#define GL_SAMPLER_2D_ARRAY 0x8DC1 +#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3 +#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4 +#define GL_SAMPLER_CUBE_SHADOW 0x8DC5 +#define GL_UNSIGNED_INT_VEC2 0x8DC6 +#define GL_UNSIGNED_INT_VEC3 0x8DC7 +#define GL_UNSIGNED_INT_VEC4 0x8DC8 +#define GL_INT_SAMPLER_1D 0x8DC9 +#define GL_INT_SAMPLER_2D 0x8DCA +#define GL_INT_SAMPLER_3D 0x8DCB +#define GL_INT_SAMPLER_CUBE 0x8DCC +#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE +#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF +#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7 +#define GL_QUERY_WAIT 0x8E13 +#define GL_QUERY_NO_WAIT 0x8E14 +#define GL_QUERY_BY_REGION_WAIT 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16 + +typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERPROC) (GLuint id, GLenum mode); +typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode); +typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONPROC) (GLuint program, GLuint colorNumber, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLCLAMPCOLORPROC) (GLenum target, GLenum clamp); +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawBuffer, GLfloat depth, GLint stencil); +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawBuffer, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawBuffer, const GLint* value); +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawBuffer, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLCOLORMASKIPROC) (GLuint buf, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +typedef void (GLAPIENTRY * PFNGLDISABLEIPROC) (GLenum cap, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEIPROC) (GLenum cap, GLuint index); +typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERPROC) (void); +typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKPROC) (void); +typedef void (GLAPIENTRY * PFNGLGETBOOLEANI_VPROC) (GLenum pname, GLuint index, GLboolean* data); +typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar* name); +typedef const GLubyte* (GLAPIENTRY * PFNGLGETSTRINGIPROC) (GLenum name, GLuint index); +typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDIPROC) (GLenum cap, GLuint index); +typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IPROC) (GLuint index, GLint v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IVPROC) (GLuint index, const GLint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIPROC) (GLuint index, GLuint v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIVPROC) (GLuint index, const GLuint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IPROC) (GLuint index, GLint v0, GLint v1); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IVPROC) (GLuint index, const GLint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIPROC) (GLuint index, GLuint v0, GLuint v1); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIVPROC) (GLuint index, const GLuint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IPROC) (GLuint index, GLint v0, GLint v1, GLint v2); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IVPROC) (GLuint index, const GLint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIPROC) (GLuint index, GLuint v0, GLuint v1, GLuint v2); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIVPROC) (GLuint index, const GLuint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4BVPROC) (GLuint index, const GLbyte* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4SVPROC) (GLuint index, const GLshort* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UBVPROC) (GLuint index, const GLubyte* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4USVPROC) (GLuint index, const GLushort* v0); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void*pointer); + +#define glBeginConditionalRender GLEW_GET_FUN(__glewBeginConditionalRender) +#define glBeginTransformFeedback GLEW_GET_FUN(__glewBeginTransformFeedback) +#define glBindFragDataLocation GLEW_GET_FUN(__glewBindFragDataLocation) +#define glClampColor GLEW_GET_FUN(__glewClampColor) +#define glClearBufferfi GLEW_GET_FUN(__glewClearBufferfi) +#define glClearBufferfv GLEW_GET_FUN(__glewClearBufferfv) +#define glClearBufferiv GLEW_GET_FUN(__glewClearBufferiv) +#define glClearBufferuiv GLEW_GET_FUN(__glewClearBufferuiv) +#define glColorMaski GLEW_GET_FUN(__glewColorMaski) +#define glDisablei GLEW_GET_FUN(__glewDisablei) +#define glEnablei GLEW_GET_FUN(__glewEnablei) +#define glEndConditionalRender GLEW_GET_FUN(__glewEndConditionalRender) +#define glEndTransformFeedback GLEW_GET_FUN(__glewEndTransformFeedback) +#define glGetBooleani_v GLEW_GET_FUN(__glewGetBooleani_v) +#define glGetFragDataLocation GLEW_GET_FUN(__glewGetFragDataLocation) +#define glGetStringi GLEW_GET_FUN(__glewGetStringi) +#define glGetTexParameterIiv GLEW_GET_FUN(__glewGetTexParameterIiv) +#define glGetTexParameterIuiv GLEW_GET_FUN(__glewGetTexParameterIuiv) +#define glGetTransformFeedbackVarying GLEW_GET_FUN(__glewGetTransformFeedbackVarying) +#define glGetUniformuiv GLEW_GET_FUN(__glewGetUniformuiv) +#define glGetVertexAttribIiv GLEW_GET_FUN(__glewGetVertexAttribIiv) +#define glGetVertexAttribIuiv GLEW_GET_FUN(__glewGetVertexAttribIuiv) +#define glIsEnabledi GLEW_GET_FUN(__glewIsEnabledi) +#define glTexParameterIiv GLEW_GET_FUN(__glewTexParameterIiv) +#define glTexParameterIuiv GLEW_GET_FUN(__glewTexParameterIuiv) +#define glTransformFeedbackVaryings GLEW_GET_FUN(__glewTransformFeedbackVaryings) +#define glUniform1ui GLEW_GET_FUN(__glewUniform1ui) +#define glUniform1uiv GLEW_GET_FUN(__glewUniform1uiv) +#define glUniform2ui GLEW_GET_FUN(__glewUniform2ui) +#define glUniform2uiv GLEW_GET_FUN(__glewUniform2uiv) +#define glUniform3ui GLEW_GET_FUN(__glewUniform3ui) +#define glUniform3uiv GLEW_GET_FUN(__glewUniform3uiv) +#define glUniform4ui GLEW_GET_FUN(__glewUniform4ui) +#define glUniform4uiv GLEW_GET_FUN(__glewUniform4uiv) +#define glVertexAttribI1i GLEW_GET_FUN(__glewVertexAttribI1i) +#define glVertexAttribI1iv GLEW_GET_FUN(__glewVertexAttribI1iv) +#define glVertexAttribI1ui GLEW_GET_FUN(__glewVertexAttribI1ui) +#define glVertexAttribI1uiv GLEW_GET_FUN(__glewVertexAttribI1uiv) +#define glVertexAttribI2i GLEW_GET_FUN(__glewVertexAttribI2i) +#define glVertexAttribI2iv GLEW_GET_FUN(__glewVertexAttribI2iv) +#define glVertexAttribI2ui GLEW_GET_FUN(__glewVertexAttribI2ui) +#define glVertexAttribI2uiv GLEW_GET_FUN(__glewVertexAttribI2uiv) +#define glVertexAttribI3i GLEW_GET_FUN(__glewVertexAttribI3i) +#define glVertexAttribI3iv GLEW_GET_FUN(__glewVertexAttribI3iv) +#define glVertexAttribI3ui GLEW_GET_FUN(__glewVertexAttribI3ui) +#define glVertexAttribI3uiv GLEW_GET_FUN(__glewVertexAttribI3uiv) +#define glVertexAttribI4bv GLEW_GET_FUN(__glewVertexAttribI4bv) +#define glVertexAttribI4i GLEW_GET_FUN(__glewVertexAttribI4i) +#define glVertexAttribI4iv GLEW_GET_FUN(__glewVertexAttribI4iv) +#define glVertexAttribI4sv GLEW_GET_FUN(__glewVertexAttribI4sv) +#define glVertexAttribI4ubv GLEW_GET_FUN(__glewVertexAttribI4ubv) +#define glVertexAttribI4ui GLEW_GET_FUN(__glewVertexAttribI4ui) +#define glVertexAttribI4uiv GLEW_GET_FUN(__glewVertexAttribI4uiv) +#define glVertexAttribI4usv GLEW_GET_FUN(__glewVertexAttribI4usv) +#define glVertexAttribIPointer GLEW_GET_FUN(__glewVertexAttribIPointer) + +#define GLEW_VERSION_3_0 GLEW_GET_VAR(__GLEW_VERSION_3_0) + +#endif /* GL_VERSION_3_0 */ + +/* ----------------------------- GL_VERSION_3_1 ---------------------------- */ + +#ifndef GL_VERSION_3_1 +#define GL_VERSION_3_1 1 + +#define GL_TEXTURE_RECTANGLE 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8 +#define GL_SAMPLER_2D_RECT 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64 +#define GL_TEXTURE_BUFFER 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D +#define GL_TEXTURE_BUFFER_FORMAT 0x8C2E +#define GL_SAMPLER_BUFFER 0x8DC2 +#define GL_INT_SAMPLER_2D_RECT 0x8DCD +#define GL_INT_SAMPLER_BUFFER 0x8DD0 +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8 +#define GL_RED_SNORM 0x8F90 +#define GL_RG_SNORM 0x8F91 +#define GL_RGB_SNORM 0x8F92 +#define GL_RGBA_SNORM 0x8F93 +#define GL_R8_SNORM 0x8F94 +#define GL_RG8_SNORM 0x8F95 +#define GL_RGB8_SNORM 0x8F96 +#define GL_RGBA8_SNORM 0x8F97 +#define GL_R16_SNORM 0x8F98 +#define GL_RG16_SNORM 0x8F99 +#define GL_RGB16_SNORM 0x8F9A +#define GL_RGBA16_SNORM 0x8F9B +#define GL_SIGNED_NORMALIZED 0x8F9C +#define GL_PRIMITIVE_RESTART 0x8F9D +#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E +#define GL_BUFFER_ACCESS_FLAGS 0x911F +#define GL_BUFFER_MAP_LENGTH 0x9120 +#define GL_BUFFER_MAP_OFFSET 0x9121 + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalFormat, GLuint buffer); + +#define glDrawArraysInstanced GLEW_GET_FUN(__glewDrawArraysInstanced) +#define glDrawElementsInstanced GLEW_GET_FUN(__glewDrawElementsInstanced) +#define glPrimitiveRestartIndex GLEW_GET_FUN(__glewPrimitiveRestartIndex) +#define glTexBuffer GLEW_GET_FUN(__glewTexBuffer) + +#define GLEW_VERSION_3_1 GLEW_GET_VAR(__GLEW_VERSION_3_1) + +#endif /* GL_VERSION_3_1 */ + +/* ----------------------------- GL_VERSION_3_2 ---------------------------- */ + +#ifndef GL_VERSION_3_2 +#define GL_VERSION_3_2 1 + +#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 +#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 +#define GL_LINES_ADJACENCY 0x000A +#define GL_LINE_STRIP_ADJACENCY 0x000B +#define GL_TRIANGLES_ADJACENCY 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D +#define GL_PROGRAM_POINT_SIZE 0x8642 +#define GL_GEOMETRY_VERTICES_OUT 0x8916 +#define GL_GEOMETRY_INPUT_TYPE 0x8917 +#define GL_GEOMETRY_OUTPUT_TYPE 0x8918 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8 +#define GL_GEOMETRY_SHADER 0x8DD9 +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1 +#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122 +#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123 +#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124 +#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125 +#define GL_CONTEXT_PROFILE_MASK 0x9126 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum value, GLint64 * data); +typedef void (GLAPIENTRY * PFNGLGETINTEGER64I_VPROC) (GLenum pname, GLuint index, GLint64 * data); + +#define glFramebufferTexture GLEW_GET_FUN(__glewFramebufferTexture) +#define glGetBufferParameteri64v GLEW_GET_FUN(__glewGetBufferParameteri64v) +#define glGetInteger64i_v GLEW_GET_FUN(__glewGetInteger64i_v) + +#define GLEW_VERSION_3_2 GLEW_GET_VAR(__GLEW_VERSION_3_2) + +#endif /* GL_VERSION_3_2 */ + +/* ----------------------------- GL_VERSION_3_3 ---------------------------- */ + +#ifndef GL_VERSION_3_3 +#define GL_VERSION_3_3 1 + +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE +#define GL_RGB10_A2UI 0x906F + +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor); + +#define glVertexAttribDivisor GLEW_GET_FUN(__glewVertexAttribDivisor) + +#define GLEW_VERSION_3_3 GLEW_GET_VAR(__GLEW_VERSION_3_3) + +#endif /* GL_VERSION_3_3 */ + +/* ----------------------------- GL_VERSION_4_0 ---------------------------- */ + +#ifndef GL_VERSION_4_0 +#define GL_VERSION_4_0 1 + +#define GL_SAMPLE_SHADING 0x8C36 +#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37 +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F +#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS 0x8F9F +#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A +#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B +#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F + +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst); +typedef void (GLAPIENTRY * PFNGLMINSAMPLESHADINGPROC) (GLclampf value); + +#define glBlendEquationSeparatei GLEW_GET_FUN(__glewBlendEquationSeparatei) +#define glBlendEquationi GLEW_GET_FUN(__glewBlendEquationi) +#define glBlendFuncSeparatei GLEW_GET_FUN(__glewBlendFuncSeparatei) +#define glBlendFunci GLEW_GET_FUN(__glewBlendFunci) +#define glMinSampleShading GLEW_GET_FUN(__glewMinSampleShading) + +#define GLEW_VERSION_4_0 GLEW_GET_VAR(__GLEW_VERSION_4_0) + +#endif /* GL_VERSION_4_0 */ + +/* ----------------------------- GL_VERSION_4_1 ---------------------------- */ + +#ifndef GL_VERSION_4_1 +#define GL_VERSION_4_1 1 + +#define GLEW_VERSION_4_1 GLEW_GET_VAR(__GLEW_VERSION_4_1) + +#endif /* GL_VERSION_4_1 */ + +/* ----------------------------- GL_VERSION_4_2 ---------------------------- */ + +#ifndef GL_VERSION_4_2 +#define GL_VERSION_4_2 1 + +#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23 +#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24 +#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C +#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D +#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E +#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F +#define GL_COPY_READ_BUFFER_BINDING 0x8F36 +#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37 + +#define GLEW_VERSION_4_2 GLEW_GET_VAR(__GLEW_VERSION_4_2) + +#endif /* GL_VERSION_4_2 */ + +/* ----------------------------- GL_VERSION_4_3 ---------------------------- */ + +#ifndef GL_VERSION_4_3 +#define GL_VERSION_4_3 1 + +#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9 +#define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E + +#define GLEW_VERSION_4_3 GLEW_GET_VAR(__GLEW_VERSION_4_3) + +#endif /* GL_VERSION_4_3 */ + +/* ----------------------------- GL_VERSION_4_4 ---------------------------- */ + +#ifndef GL_VERSION_4_4 +#define GL_VERSION_4_4 1 + +#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221 +#define GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5 +#define GL_TEXTURE_BUFFER_BINDING 0x8C2A + +#define GLEW_VERSION_4_4 GLEW_GET_VAR(__GLEW_VERSION_4_4) + +#endif /* GL_VERSION_4_4 */ + +/* ----------------------------- GL_VERSION_4_5 ---------------------------- */ + +#ifndef GL_VERSION_4_5 +#define GL_VERSION_4_5 1 + +#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004 + +typedef GLenum (GLAPIENTRY * PFNGLGETGRAPHICSRESETSTATUSPROC) (void); +typedef void (GLAPIENTRY * PFNGLGETNCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint lod, GLsizei bufSize, GLvoid *pixels); +typedef void (GLAPIENTRY * PFNGLGETNTEXIMAGEPROC) (GLenum tex, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *pixels); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMDVPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble *params); + +#define glGetGraphicsResetStatus GLEW_GET_FUN(__glewGetGraphicsResetStatus) +#define glGetnCompressedTexImage GLEW_GET_FUN(__glewGetnCompressedTexImage) +#define glGetnTexImage GLEW_GET_FUN(__glewGetnTexImage) +#define glGetnUniformdv GLEW_GET_FUN(__glewGetnUniformdv) + +#define GLEW_VERSION_4_5 GLEW_GET_VAR(__GLEW_VERSION_4_5) + +#endif /* GL_VERSION_4_5 */ + +/* -------------------------- GL_3DFX_multisample -------------------------- */ + +#ifndef GL_3DFX_multisample +#define GL_3DFX_multisample 1 + +#define GL_MULTISAMPLE_3DFX 0x86B2 +#define GL_SAMPLE_BUFFERS_3DFX 0x86B3 +#define GL_SAMPLES_3DFX 0x86B4 +#define GL_MULTISAMPLE_BIT_3DFX 0x20000000 + +#define GLEW_3DFX_multisample GLEW_GET_VAR(__GLEW_3DFX_multisample) + +#endif /* GL_3DFX_multisample */ + +/* ---------------------------- GL_3DFX_tbuffer ---------------------------- */ + +#ifndef GL_3DFX_tbuffer +#define GL_3DFX_tbuffer 1 + +typedef void (GLAPIENTRY * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask); + +#define glTbufferMask3DFX GLEW_GET_FUN(__glewTbufferMask3DFX) + +#define GLEW_3DFX_tbuffer GLEW_GET_VAR(__GLEW_3DFX_tbuffer) + +#endif /* GL_3DFX_tbuffer */ + +/* -------------------- GL_3DFX_texture_compression_FXT1 ------------------- */ + +#ifndef GL_3DFX_texture_compression_FXT1 +#define GL_3DFX_texture_compression_FXT1 1 + +#define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0 +#define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1 + +#define GLEW_3DFX_texture_compression_FXT1 GLEW_GET_VAR(__GLEW_3DFX_texture_compression_FXT1) + +#endif /* GL_3DFX_texture_compression_FXT1 */ + +/* ----------------------- GL_AMD_blend_minmax_factor ---------------------- */ + +#ifndef GL_AMD_blend_minmax_factor +#define GL_AMD_blend_minmax_factor 1 + +#define GL_FACTOR_MIN_AMD 0x901C +#define GL_FACTOR_MAX_AMD 0x901D + +#define GLEW_AMD_blend_minmax_factor GLEW_GET_VAR(__GLEW_AMD_blend_minmax_factor) + +#endif /* GL_AMD_blend_minmax_factor */ + +/* ----------------------- GL_AMD_conservative_depth ----------------------- */ + +#ifndef GL_AMD_conservative_depth +#define GL_AMD_conservative_depth 1 + +#define GLEW_AMD_conservative_depth GLEW_GET_VAR(__GLEW_AMD_conservative_depth) + +#endif /* GL_AMD_conservative_depth */ + +/* -------------------------- GL_AMD_debug_output -------------------------- */ + +#ifndef GL_AMD_debug_output +#define GL_AMD_debug_output 1 + +#define GL_MAX_DEBUG_MESSAGE_LENGTH_AMD 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES_AMD 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES_AMD 0x9145 +#define GL_DEBUG_SEVERITY_HIGH_AMD 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM_AMD 0x9147 +#define GL_DEBUG_SEVERITY_LOW_AMD 0x9148 +#define GL_DEBUG_CATEGORY_API_ERROR_AMD 0x9149 +#define GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD 0x914A +#define GL_DEBUG_CATEGORY_DEPRECATION_AMD 0x914B +#define GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD 0x914C +#define GL_DEBUG_CATEGORY_PERFORMANCE_AMD 0x914D +#define GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD 0x914E +#define GL_DEBUG_CATEGORY_APPLICATION_AMD 0x914F +#define GL_DEBUG_CATEGORY_OTHER_AMD 0x9150 + +typedef void (GLAPIENTRY *GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar* message, void* userParam); + +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKAMDPROC) (GLDEBUGPROCAMD callback, void *userParam); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEENABLEAMDPROC) (GLenum category, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERTAMDPROC) (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar* buf); +typedef GLuint (GLAPIENTRY * PFNGLGETDEBUGMESSAGELOGAMDPROC) (GLuint count, GLsizei bufsize, GLenum* categories, GLuint* severities, GLuint* ids, GLsizei* lengths, GLchar* message); + +#define glDebugMessageCallbackAMD GLEW_GET_FUN(__glewDebugMessageCallbackAMD) +#define glDebugMessageEnableAMD GLEW_GET_FUN(__glewDebugMessageEnableAMD) +#define glDebugMessageInsertAMD GLEW_GET_FUN(__glewDebugMessageInsertAMD) +#define glGetDebugMessageLogAMD GLEW_GET_FUN(__glewGetDebugMessageLogAMD) + +#define GLEW_AMD_debug_output GLEW_GET_VAR(__GLEW_AMD_debug_output) + +#endif /* GL_AMD_debug_output */ + +/* ---------------------- GL_AMD_depth_clamp_separate ---------------------- */ + +#ifndef GL_AMD_depth_clamp_separate +#define GL_AMD_depth_clamp_separate 1 + +#define GL_DEPTH_CLAMP_NEAR_AMD 0x901E +#define GL_DEPTH_CLAMP_FAR_AMD 0x901F + +#define GLEW_AMD_depth_clamp_separate GLEW_GET_VAR(__GLEW_AMD_depth_clamp_separate) + +#endif /* GL_AMD_depth_clamp_separate */ + +/* ----------------------- GL_AMD_draw_buffers_blend ----------------------- */ + +#ifndef GL_AMD_draw_buffers_blend +#define GL_AMD_draw_buffers_blend 1 + +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONINDEXEDAMDPROC) (GLuint buf, GLenum mode); +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCINDEXEDAMDPROC) (GLuint buf, GLenum src, GLenum dst); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); + +#define glBlendEquationIndexedAMD GLEW_GET_FUN(__glewBlendEquationIndexedAMD) +#define glBlendEquationSeparateIndexedAMD GLEW_GET_FUN(__glewBlendEquationSeparateIndexedAMD) +#define glBlendFuncIndexedAMD GLEW_GET_FUN(__glewBlendFuncIndexedAMD) +#define glBlendFuncSeparateIndexedAMD GLEW_GET_FUN(__glewBlendFuncSeparateIndexedAMD) + +#define GLEW_AMD_draw_buffers_blend GLEW_GET_VAR(__GLEW_AMD_draw_buffers_blend) + +#endif /* GL_AMD_draw_buffers_blend */ + +/* --------------------------- GL_AMD_gcn_shader --------------------------- */ + +#ifndef GL_AMD_gcn_shader +#define GL_AMD_gcn_shader 1 + +#define GLEW_AMD_gcn_shader GLEW_GET_VAR(__GLEW_AMD_gcn_shader) + +#endif /* GL_AMD_gcn_shader */ + +/* ------------------------ GL_AMD_gpu_shader_int64 ------------------------ */ + +#ifndef GL_AMD_gpu_shader_int64 +#define GL_AMD_gpu_shader_int64 1 + +#define GLEW_AMD_gpu_shader_int64 GLEW_GET_VAR(__GLEW_AMD_gpu_shader_int64) + +#endif /* GL_AMD_gpu_shader_int64 */ + +/* ---------------------- GL_AMD_interleaved_elements ---------------------- */ + +#ifndef GL_AMD_interleaved_elements +#define GL_AMD_interleaved_elements 1 + +#define GL_RED 0x1903 +#define GL_GREEN 0x1904 +#define GL_BLUE 0x1905 +#define GL_ALPHA 0x1906 +#define GL_RG8UI 0x8238 +#define GL_RG16UI 0x823A +#define GL_RGBA8UI 0x8D7C +#define GL_VERTEX_ELEMENT_SWIZZLE_AMD 0x91A4 +#define GL_VERTEX_ID_SWIZZLE_AMD 0x91A5 + +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPARAMETERIAMDPROC) (GLuint index, GLenum pname, GLint param); + +#define glVertexAttribParameteriAMD GLEW_GET_FUN(__glewVertexAttribParameteriAMD) + +#define GLEW_AMD_interleaved_elements GLEW_GET_VAR(__GLEW_AMD_interleaved_elements) + +#endif /* GL_AMD_interleaved_elements */ + +/* ----------------------- GL_AMD_multi_draw_indirect ---------------------- */ + +#ifndef GL_AMD_multi_draw_indirect +#define GL_AMD_multi_draw_indirect 1 + +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC) (GLenum mode, const void *indirect, GLsizei primcount, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei primcount, GLsizei stride); + +#define glMultiDrawArraysIndirectAMD GLEW_GET_FUN(__glewMultiDrawArraysIndirectAMD) +#define glMultiDrawElementsIndirectAMD GLEW_GET_FUN(__glewMultiDrawElementsIndirectAMD) + +#define GLEW_AMD_multi_draw_indirect GLEW_GET_VAR(__GLEW_AMD_multi_draw_indirect) + +#endif /* GL_AMD_multi_draw_indirect */ + +/* ------------------------- GL_AMD_name_gen_delete ------------------------ */ + +#ifndef GL_AMD_name_gen_delete +#define GL_AMD_name_gen_delete 1 + +#define GL_DATA_BUFFER_AMD 0x9151 +#define GL_PERFORMANCE_MONITOR_AMD 0x9152 +#define GL_QUERY_OBJECT_AMD 0x9153 +#define GL_VERTEX_ARRAY_OBJECT_AMD 0x9154 +#define GL_SAMPLER_OBJECT_AMD 0x9155 + +typedef void (GLAPIENTRY * PFNGLDELETENAMESAMDPROC) (GLenum identifier, GLuint num, const GLuint* names); +typedef void (GLAPIENTRY * PFNGLGENNAMESAMDPROC) (GLenum identifier, GLuint num, GLuint* names); +typedef GLboolean (GLAPIENTRY * PFNGLISNAMEAMDPROC) (GLenum identifier, GLuint name); + +#define glDeleteNamesAMD GLEW_GET_FUN(__glewDeleteNamesAMD) +#define glGenNamesAMD GLEW_GET_FUN(__glewGenNamesAMD) +#define glIsNameAMD GLEW_GET_FUN(__glewIsNameAMD) + +#define GLEW_AMD_name_gen_delete GLEW_GET_VAR(__GLEW_AMD_name_gen_delete) + +#endif /* GL_AMD_name_gen_delete */ + +/* ---------------------- GL_AMD_occlusion_query_event --------------------- */ + +#ifndef GL_AMD_occlusion_query_event +#define GL_AMD_occlusion_query_event 1 + +#define GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD 0x00000001 +#define GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD 0x00000002 +#define GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD 0x00000004 +#define GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD 0x00000008 +#define GL_OCCLUSION_QUERY_EVENT_MASK_AMD 0x874F +#define GL_QUERY_ALL_EVENT_BITS_AMD 0xFFFFFFFF + +typedef void (GLAPIENTRY * PFNGLQUERYOBJECTPARAMETERUIAMDPROC) (GLenum target, GLuint id, GLenum pname, GLuint param); + +#define glQueryObjectParameteruiAMD GLEW_GET_FUN(__glewQueryObjectParameteruiAMD) + +#define GLEW_AMD_occlusion_query_event GLEW_GET_VAR(__GLEW_AMD_occlusion_query_event) + +#endif /* GL_AMD_occlusion_query_event */ + +/* ----------------------- GL_AMD_performance_monitor ---------------------- */ + +#ifndef GL_AMD_performance_monitor +#define GL_AMD_performance_monitor 1 + +#define GL_COUNTER_TYPE_AMD 0x8BC0 +#define GL_COUNTER_RANGE_AMD 0x8BC1 +#define GL_UNSIGNED_INT64_AMD 0x8BC2 +#define GL_PERCENTAGE_AMD 0x8BC3 +#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 +#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 +#define GL_PERFMON_RESULT_AMD 0x8BC6 + +typedef void (GLAPIENTRY * PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); +typedef void (GLAPIENTRY * PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint* monitors); +typedef void (GLAPIENTRY * PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); +typedef void (GLAPIENTRY * PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint* monitors); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint *bytesWritten); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, GLchar *counterString); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint* numCounters, GLint *maxActiveCounters, GLsizei countersSize, GLuint *counters); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei* length, GLchar *groupString); +typedef void (GLAPIENTRY * PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint* numGroups, GLsizei groupsSize, GLuint *groups); +typedef void (GLAPIENTRY * PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* counterList); + +#define glBeginPerfMonitorAMD GLEW_GET_FUN(__glewBeginPerfMonitorAMD) +#define glDeletePerfMonitorsAMD GLEW_GET_FUN(__glewDeletePerfMonitorsAMD) +#define glEndPerfMonitorAMD GLEW_GET_FUN(__glewEndPerfMonitorAMD) +#define glGenPerfMonitorsAMD GLEW_GET_FUN(__glewGenPerfMonitorsAMD) +#define glGetPerfMonitorCounterDataAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterDataAMD) +#define glGetPerfMonitorCounterInfoAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterInfoAMD) +#define glGetPerfMonitorCounterStringAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterStringAMD) +#define glGetPerfMonitorCountersAMD GLEW_GET_FUN(__glewGetPerfMonitorCountersAMD) +#define glGetPerfMonitorGroupStringAMD GLEW_GET_FUN(__glewGetPerfMonitorGroupStringAMD) +#define glGetPerfMonitorGroupsAMD GLEW_GET_FUN(__glewGetPerfMonitorGroupsAMD) +#define glSelectPerfMonitorCountersAMD GLEW_GET_FUN(__glewSelectPerfMonitorCountersAMD) + +#define GLEW_AMD_performance_monitor GLEW_GET_VAR(__GLEW_AMD_performance_monitor) + +#endif /* GL_AMD_performance_monitor */ + +/* -------------------------- GL_AMD_pinned_memory ------------------------- */ + +#ifndef GL_AMD_pinned_memory +#define GL_AMD_pinned_memory 1 + +#define GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD 0x9160 + +#define GLEW_AMD_pinned_memory GLEW_GET_VAR(__GLEW_AMD_pinned_memory) + +#endif /* GL_AMD_pinned_memory */ + +/* ----------------------- GL_AMD_query_buffer_object ---------------------- */ + +#ifndef GL_AMD_query_buffer_object +#define GL_AMD_query_buffer_object 1 + +#define GL_QUERY_BUFFER_AMD 0x9192 +#define GL_QUERY_BUFFER_BINDING_AMD 0x9193 +#define GL_QUERY_RESULT_NO_WAIT_AMD 0x9194 + +#define GLEW_AMD_query_buffer_object GLEW_GET_VAR(__GLEW_AMD_query_buffer_object) + +#endif /* GL_AMD_query_buffer_object */ + +/* ------------------------ GL_AMD_sample_positions ------------------------ */ + +#ifndef GL_AMD_sample_positions +#define GL_AMD_sample_positions 1 + +#define GL_SUBSAMPLE_DISTANCE_AMD 0x883F + +typedef void (GLAPIENTRY * PFNGLSETMULTISAMPLEFVAMDPROC) (GLenum pname, GLuint index, const GLfloat* val); + +#define glSetMultisamplefvAMD GLEW_GET_FUN(__glewSetMultisamplefvAMD) + +#define GLEW_AMD_sample_positions GLEW_GET_VAR(__GLEW_AMD_sample_positions) + +#endif /* GL_AMD_sample_positions */ + +/* ------------------ GL_AMD_seamless_cubemap_per_texture ------------------ */ + +#ifndef GL_AMD_seamless_cubemap_per_texture +#define GL_AMD_seamless_cubemap_per_texture 1 + +#define GL_TEXTURE_CUBE_MAP_SEAMLESS_ARB 0x884F + +#define GLEW_AMD_seamless_cubemap_per_texture GLEW_GET_VAR(__GLEW_AMD_seamless_cubemap_per_texture) + +#endif /* GL_AMD_seamless_cubemap_per_texture */ + +/* -------------------- GL_AMD_shader_atomic_counter_ops ------------------- */ + +#ifndef GL_AMD_shader_atomic_counter_ops +#define GL_AMD_shader_atomic_counter_ops 1 + +#define GLEW_AMD_shader_atomic_counter_ops GLEW_GET_VAR(__GLEW_AMD_shader_atomic_counter_ops) + +#endif /* GL_AMD_shader_atomic_counter_ops */ + +/* ---------------------- GL_AMD_shader_stencil_export --------------------- */ + +#ifndef GL_AMD_shader_stencil_export +#define GL_AMD_shader_stencil_export 1 + +#define GLEW_AMD_shader_stencil_export GLEW_GET_VAR(__GLEW_AMD_shader_stencil_export) + +#endif /* GL_AMD_shader_stencil_export */ + +/* ------------------- GL_AMD_shader_stencil_value_export ------------------ */ + +#ifndef GL_AMD_shader_stencil_value_export +#define GL_AMD_shader_stencil_value_export 1 + +#define GLEW_AMD_shader_stencil_value_export GLEW_GET_VAR(__GLEW_AMD_shader_stencil_value_export) + +#endif /* GL_AMD_shader_stencil_value_export */ + +/* ---------------------- GL_AMD_shader_trinary_minmax --------------------- */ + +#ifndef GL_AMD_shader_trinary_minmax +#define GL_AMD_shader_trinary_minmax 1 + +#define GLEW_AMD_shader_trinary_minmax GLEW_GET_VAR(__GLEW_AMD_shader_trinary_minmax) + +#endif /* GL_AMD_shader_trinary_minmax */ + +/* ------------------------- GL_AMD_sparse_texture ------------------------- */ + +#ifndef GL_AMD_sparse_texture +#define GL_AMD_sparse_texture 1 + +#define GL_TEXTURE_STORAGE_SPARSE_BIT_AMD 0x00000001 +#define GL_VIRTUAL_PAGE_SIZE_X_AMD 0x9195 +#define GL_VIRTUAL_PAGE_SIZE_Y_AMD 0x9196 +#define GL_VIRTUAL_PAGE_SIZE_Z_AMD 0x9197 +#define GL_MAX_SPARSE_TEXTURE_SIZE_AMD 0x9198 +#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD 0x9199 +#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS 0x919A +#define GL_MIN_SPARSE_LEVEL_AMD 0x919B +#define GL_MIN_LOD_WARNING_AMD 0x919C + +typedef void (GLAPIENTRY * PFNGLTEXSTORAGESPARSEAMDPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGESPARSEAMDPROC) (GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags); + +#define glTexStorageSparseAMD GLEW_GET_FUN(__glewTexStorageSparseAMD) +#define glTextureStorageSparseAMD GLEW_GET_FUN(__glewTextureStorageSparseAMD) + +#define GLEW_AMD_sparse_texture GLEW_GET_VAR(__GLEW_AMD_sparse_texture) + +#endif /* GL_AMD_sparse_texture */ + +/* ------------------- GL_AMD_stencil_operation_extended ------------------- */ + +#ifndef GL_AMD_stencil_operation_extended +#define GL_AMD_stencil_operation_extended 1 + +#define GL_SET_AMD 0x874A +#define GL_REPLACE_VALUE_AMD 0x874B +#define GL_STENCIL_OP_VALUE_AMD 0x874C +#define GL_STENCIL_BACK_OP_VALUE_AMD 0x874D + +typedef void (GLAPIENTRY * PFNGLSTENCILOPVALUEAMDPROC) (GLenum face, GLuint value); + +#define glStencilOpValueAMD GLEW_GET_FUN(__glewStencilOpValueAMD) + +#define GLEW_AMD_stencil_operation_extended GLEW_GET_VAR(__GLEW_AMD_stencil_operation_extended) + +#endif /* GL_AMD_stencil_operation_extended */ + +/* ------------------------ GL_AMD_texture_texture4 ------------------------ */ + +#ifndef GL_AMD_texture_texture4 +#define GL_AMD_texture_texture4 1 + +#define GLEW_AMD_texture_texture4 GLEW_GET_VAR(__GLEW_AMD_texture_texture4) + +#endif /* GL_AMD_texture_texture4 */ + +/* --------------- GL_AMD_transform_feedback3_lines_triangles -------------- */ + +#ifndef GL_AMD_transform_feedback3_lines_triangles +#define GL_AMD_transform_feedback3_lines_triangles 1 + +#define GLEW_AMD_transform_feedback3_lines_triangles GLEW_GET_VAR(__GLEW_AMD_transform_feedback3_lines_triangles) + +#endif /* GL_AMD_transform_feedback3_lines_triangles */ + +/* ----------------------- GL_AMD_transform_feedback4 ---------------------- */ + +#ifndef GL_AMD_transform_feedback4 +#define GL_AMD_transform_feedback4 1 + +#define GL_STREAM_RASTERIZATION_AMD 0x91A0 + +#define GLEW_AMD_transform_feedback4 GLEW_GET_VAR(__GLEW_AMD_transform_feedback4) + +#endif /* GL_AMD_transform_feedback4 */ + +/* ----------------------- GL_AMD_vertex_shader_layer ---------------------- */ + +#ifndef GL_AMD_vertex_shader_layer +#define GL_AMD_vertex_shader_layer 1 + +#define GLEW_AMD_vertex_shader_layer GLEW_GET_VAR(__GLEW_AMD_vertex_shader_layer) + +#endif /* GL_AMD_vertex_shader_layer */ + +/* -------------------- GL_AMD_vertex_shader_tessellator ------------------- */ + +#ifndef GL_AMD_vertex_shader_tessellator +#define GL_AMD_vertex_shader_tessellator 1 + +#define GL_SAMPLER_BUFFER_AMD 0x9001 +#define GL_INT_SAMPLER_BUFFER_AMD 0x9002 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003 +#define GL_TESSELLATION_MODE_AMD 0x9004 +#define GL_TESSELLATION_FACTOR_AMD 0x9005 +#define GL_DISCRETE_AMD 0x9006 +#define GL_CONTINUOUS_AMD 0x9007 + +typedef void (GLAPIENTRY * PFNGLTESSELLATIONFACTORAMDPROC) (GLfloat factor); +typedef void (GLAPIENTRY * PFNGLTESSELLATIONMODEAMDPROC) (GLenum mode); + +#define glTessellationFactorAMD GLEW_GET_FUN(__glewTessellationFactorAMD) +#define glTessellationModeAMD GLEW_GET_FUN(__glewTessellationModeAMD) + +#define GLEW_AMD_vertex_shader_tessellator GLEW_GET_VAR(__GLEW_AMD_vertex_shader_tessellator) + +#endif /* GL_AMD_vertex_shader_tessellator */ + +/* ------------------ GL_AMD_vertex_shader_viewport_index ------------------ */ + +#ifndef GL_AMD_vertex_shader_viewport_index +#define GL_AMD_vertex_shader_viewport_index 1 + +#define GLEW_AMD_vertex_shader_viewport_index GLEW_GET_VAR(__GLEW_AMD_vertex_shader_viewport_index) + +#endif /* GL_AMD_vertex_shader_viewport_index */ + +/* ------------------------- GL_ANGLE_depth_texture ------------------------ */ + +#ifndef GL_ANGLE_depth_texture +#define GL_ANGLE_depth_texture 1 + +#define GLEW_ANGLE_depth_texture GLEW_GET_VAR(__GLEW_ANGLE_depth_texture) + +#endif /* GL_ANGLE_depth_texture */ + +/* ----------------------- GL_ANGLE_framebuffer_blit ----------------------- */ + +#ifndef GL_ANGLE_framebuffer_blit +#define GL_ANGLE_framebuffer_blit 1 + +#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 +#define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA + +typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); + +#define glBlitFramebufferANGLE GLEW_GET_FUN(__glewBlitFramebufferANGLE) + +#define GLEW_ANGLE_framebuffer_blit GLEW_GET_VAR(__GLEW_ANGLE_framebuffer_blit) + +#endif /* GL_ANGLE_framebuffer_blit */ + +/* -------------------- GL_ANGLE_framebuffer_multisample ------------------- */ + +#ifndef GL_ANGLE_framebuffer_multisample +#define GL_ANGLE_framebuffer_multisample 1 + +#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 +#define GL_MAX_SAMPLES_ANGLE 0x8D57 + +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); + +#define glRenderbufferStorageMultisampleANGLE GLEW_GET_FUN(__glewRenderbufferStorageMultisampleANGLE) + +#define GLEW_ANGLE_framebuffer_multisample GLEW_GET_VAR(__GLEW_ANGLE_framebuffer_multisample) + +#endif /* GL_ANGLE_framebuffer_multisample */ + +/* ----------------------- GL_ANGLE_instanced_arrays ----------------------- */ + +#ifndef GL_ANGLE_instanced_arrays +#define GL_ANGLE_instanced_arrays 1 + +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor); + +#define glDrawArraysInstancedANGLE GLEW_GET_FUN(__glewDrawArraysInstancedANGLE) +#define glDrawElementsInstancedANGLE GLEW_GET_FUN(__glewDrawElementsInstancedANGLE) +#define glVertexAttribDivisorANGLE GLEW_GET_FUN(__glewVertexAttribDivisorANGLE) + +#define GLEW_ANGLE_instanced_arrays GLEW_GET_VAR(__GLEW_ANGLE_instanced_arrays) + +#endif /* GL_ANGLE_instanced_arrays */ + +/* -------------------- GL_ANGLE_pack_reverse_row_order -------------------- */ + +#ifndef GL_ANGLE_pack_reverse_row_order +#define GL_ANGLE_pack_reverse_row_order 1 + +#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 + +#define GLEW_ANGLE_pack_reverse_row_order GLEW_GET_VAR(__GLEW_ANGLE_pack_reverse_row_order) + +#endif /* GL_ANGLE_pack_reverse_row_order */ + +/* ------------------------ GL_ANGLE_program_binary ------------------------ */ + +#ifndef GL_ANGLE_program_binary +#define GL_ANGLE_program_binary 1 + +#define GL_PROGRAM_BINARY_ANGLE 0x93A6 + +#define GLEW_ANGLE_program_binary GLEW_GET_VAR(__GLEW_ANGLE_program_binary) + +#endif /* GL_ANGLE_program_binary */ + +/* ------------------- GL_ANGLE_texture_compression_dxt1 ------------------- */ + +#ifndef GL_ANGLE_texture_compression_dxt1 +#define GL_ANGLE_texture_compression_dxt1 1 + +#define GL_COMPRESSED_RGB_S3TC_DXT1_ANGLE 0x83F0 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_ANGLE 0x83F1 +#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 + +#define GLEW_ANGLE_texture_compression_dxt1 GLEW_GET_VAR(__GLEW_ANGLE_texture_compression_dxt1) + +#endif /* GL_ANGLE_texture_compression_dxt1 */ + +/* ------------------- GL_ANGLE_texture_compression_dxt3 ------------------- */ + +#ifndef GL_ANGLE_texture_compression_dxt3 +#define GL_ANGLE_texture_compression_dxt3 1 + +#define GL_COMPRESSED_RGB_S3TC_DXT1_ANGLE 0x83F0 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_ANGLE 0x83F1 +#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 + +#define GLEW_ANGLE_texture_compression_dxt3 GLEW_GET_VAR(__GLEW_ANGLE_texture_compression_dxt3) + +#endif /* GL_ANGLE_texture_compression_dxt3 */ + +/* ------------------- GL_ANGLE_texture_compression_dxt5 ------------------- */ + +#ifndef GL_ANGLE_texture_compression_dxt5 +#define GL_ANGLE_texture_compression_dxt5 1 + +#define GL_COMPRESSED_RGB_S3TC_DXT1_ANGLE 0x83F0 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_ANGLE 0x83F1 +#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 + +#define GLEW_ANGLE_texture_compression_dxt5 GLEW_GET_VAR(__GLEW_ANGLE_texture_compression_dxt5) + +#endif /* GL_ANGLE_texture_compression_dxt5 */ + +/* ------------------------- GL_ANGLE_texture_usage ------------------------ */ + +#ifndef GL_ANGLE_texture_usage +#define GL_ANGLE_texture_usage 1 + +#define GL_TEXTURE_USAGE_ANGLE 0x93A2 +#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 + +#define GLEW_ANGLE_texture_usage GLEW_GET_VAR(__GLEW_ANGLE_texture_usage) + +#endif /* GL_ANGLE_texture_usage */ + +/* -------------------------- GL_ANGLE_timer_query ------------------------- */ + +#ifndef GL_ANGLE_timer_query +#define GL_ANGLE_timer_query 1 + +#define GL_QUERY_COUNTER_BITS_ANGLE 0x8864 +#define GL_CURRENT_QUERY_ANGLE 0x8865 +#define GL_QUERY_RESULT_ANGLE 0x8866 +#define GL_QUERY_RESULT_AVAILABLE_ANGLE 0x8867 +#define GL_TIME_ELAPSED_ANGLE 0x88BF +#define GL_TIMESTAMP_ANGLE 0x8E28 + +typedef void (GLAPIENTRY * PFNGLBEGINQUERYANGLEPROC) (GLenum target, GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETEQUERIESANGLEPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLENDQUERYANGLEPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLGENQUERIESANGLEPROC) (GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VANGLEPROC) (GLuint id, GLenum pname, GLint64* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVANGLEPROC) (GLuint id, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VANGLEPROC) (GLuint id, GLenum pname, GLuint64* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVANGLEPROC) (GLuint id, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYIVANGLEPROC) (GLenum target, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISQUERYANGLEPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLQUERYCOUNTERANGLEPROC) (GLuint id, GLenum target); + +#define glBeginQueryANGLE GLEW_GET_FUN(__glewBeginQueryANGLE) +#define glDeleteQueriesANGLE GLEW_GET_FUN(__glewDeleteQueriesANGLE) +#define glEndQueryANGLE GLEW_GET_FUN(__glewEndQueryANGLE) +#define glGenQueriesANGLE GLEW_GET_FUN(__glewGenQueriesANGLE) +#define glGetQueryObjecti64vANGLE GLEW_GET_FUN(__glewGetQueryObjecti64vANGLE) +#define glGetQueryObjectivANGLE GLEW_GET_FUN(__glewGetQueryObjectivANGLE) +#define glGetQueryObjectui64vANGLE GLEW_GET_FUN(__glewGetQueryObjectui64vANGLE) +#define glGetQueryObjectuivANGLE GLEW_GET_FUN(__glewGetQueryObjectuivANGLE) +#define glGetQueryivANGLE GLEW_GET_FUN(__glewGetQueryivANGLE) +#define glIsQueryANGLE GLEW_GET_FUN(__glewIsQueryANGLE) +#define glQueryCounterANGLE GLEW_GET_FUN(__glewQueryCounterANGLE) + +#define GLEW_ANGLE_timer_query GLEW_GET_VAR(__GLEW_ANGLE_timer_query) + +#endif /* GL_ANGLE_timer_query */ + +/* ------------------- GL_ANGLE_translated_shader_source ------------------- */ + +#ifndef GL_ANGLE_translated_shader_source +#define GL_ANGLE_translated_shader_source 1 + +#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 + +typedef void (GLAPIENTRY * PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); + +#define glGetTranslatedShaderSourceANGLE GLEW_GET_FUN(__glewGetTranslatedShaderSourceANGLE) + +#define GLEW_ANGLE_translated_shader_source GLEW_GET_VAR(__GLEW_ANGLE_translated_shader_source) + +#endif /* GL_ANGLE_translated_shader_source */ + +/* ----------------------- GL_APPLE_aux_depth_stencil ---------------------- */ + +#ifndef GL_APPLE_aux_depth_stencil +#define GL_APPLE_aux_depth_stencil 1 + +#define GL_AUX_DEPTH_STENCIL_APPLE 0x8A14 + +#define GLEW_APPLE_aux_depth_stencil GLEW_GET_VAR(__GLEW_APPLE_aux_depth_stencil) + +#endif /* GL_APPLE_aux_depth_stencil */ + +/* ------------------------ GL_APPLE_client_storage ------------------------ */ + +#ifndef GL_APPLE_client_storage +#define GL_APPLE_client_storage 1 + +#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2 + +#define GLEW_APPLE_client_storage GLEW_GET_VAR(__GLEW_APPLE_client_storage) + +#endif /* GL_APPLE_client_storage */ + +/* ------------------------- GL_APPLE_element_array ------------------------ */ + +#ifndef GL_APPLE_element_array +#define GL_APPLE_element_array 1 + +#define GL_ELEMENT_ARRAY_APPLE 0x8A0C +#define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8A0D +#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x8A0E + +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count); +typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count); +typedef void (GLAPIENTRY * PFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const void *pointer); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint* first, const GLsizei *count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint* first, const GLsizei *count, GLsizei primcount); + +#define glDrawElementArrayAPPLE GLEW_GET_FUN(__glewDrawElementArrayAPPLE) +#define glDrawRangeElementArrayAPPLE GLEW_GET_FUN(__glewDrawRangeElementArrayAPPLE) +#define glElementPointerAPPLE GLEW_GET_FUN(__glewElementPointerAPPLE) +#define glMultiDrawElementArrayAPPLE GLEW_GET_FUN(__glewMultiDrawElementArrayAPPLE) +#define glMultiDrawRangeElementArrayAPPLE GLEW_GET_FUN(__glewMultiDrawRangeElementArrayAPPLE) + +#define GLEW_APPLE_element_array GLEW_GET_VAR(__GLEW_APPLE_element_array) + +#endif /* GL_APPLE_element_array */ + +/* ----------------------------- GL_APPLE_fence ---------------------------- */ + +#ifndef GL_APPLE_fence +#define GL_APPLE_fence 1 + +#define GL_DRAW_PIXELS_APPLE 0x8A0A +#define GL_FENCE_APPLE 0x8A0B + +typedef void (GLAPIENTRY * PFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint* fences); +typedef void (GLAPIENTRY * PFNGLFINISHFENCEAPPLEPROC) (GLuint fence); +typedef void (GLAPIENTRY * PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name); +typedef void (GLAPIENTRY * PFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint* fences); +typedef GLboolean (GLAPIENTRY * PFNGLISFENCEAPPLEPROC) (GLuint fence); +typedef void (GLAPIENTRY * PFNGLSETFENCEAPPLEPROC) (GLuint fence); +typedef GLboolean (GLAPIENTRY * PFNGLTESTFENCEAPPLEPROC) (GLuint fence); +typedef GLboolean (GLAPIENTRY * PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name); + +#define glDeleteFencesAPPLE GLEW_GET_FUN(__glewDeleteFencesAPPLE) +#define glFinishFenceAPPLE GLEW_GET_FUN(__glewFinishFenceAPPLE) +#define glFinishObjectAPPLE GLEW_GET_FUN(__glewFinishObjectAPPLE) +#define glGenFencesAPPLE GLEW_GET_FUN(__glewGenFencesAPPLE) +#define glIsFenceAPPLE GLEW_GET_FUN(__glewIsFenceAPPLE) +#define glSetFenceAPPLE GLEW_GET_FUN(__glewSetFenceAPPLE) +#define glTestFenceAPPLE GLEW_GET_FUN(__glewTestFenceAPPLE) +#define glTestObjectAPPLE GLEW_GET_FUN(__glewTestObjectAPPLE) + +#define GLEW_APPLE_fence GLEW_GET_VAR(__GLEW_APPLE_fence) + +#endif /* GL_APPLE_fence */ + +/* ------------------------- GL_APPLE_float_pixels ------------------------- */ + +#ifndef GL_APPLE_float_pixels +#define GL_APPLE_float_pixels 1 + +#define GL_HALF_APPLE 0x140B +#define GL_RGBA_FLOAT32_APPLE 0x8814 +#define GL_RGB_FLOAT32_APPLE 0x8815 +#define GL_ALPHA_FLOAT32_APPLE 0x8816 +#define GL_INTENSITY_FLOAT32_APPLE 0x8817 +#define GL_LUMINANCE_FLOAT32_APPLE 0x8818 +#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819 +#define GL_RGBA_FLOAT16_APPLE 0x881A +#define GL_RGB_FLOAT16_APPLE 0x881B +#define GL_ALPHA_FLOAT16_APPLE 0x881C +#define GL_INTENSITY_FLOAT16_APPLE 0x881D +#define GL_LUMINANCE_FLOAT16_APPLE 0x881E +#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F +#define GL_COLOR_FLOAT_APPLE 0x8A0F + +#define GLEW_APPLE_float_pixels GLEW_GET_VAR(__GLEW_APPLE_float_pixels) + +#endif /* GL_APPLE_float_pixels */ + +/* ---------------------- GL_APPLE_flush_buffer_range ---------------------- */ + +#ifndef GL_APPLE_flush_buffer_range +#define GL_APPLE_flush_buffer_range 1 + +#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12 +#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13 + +typedef void (GLAPIENTRY * PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size); + +#define glBufferParameteriAPPLE GLEW_GET_FUN(__glewBufferParameteriAPPLE) +#define glFlushMappedBufferRangeAPPLE GLEW_GET_FUN(__glewFlushMappedBufferRangeAPPLE) + +#define GLEW_APPLE_flush_buffer_range GLEW_GET_VAR(__GLEW_APPLE_flush_buffer_range) + +#endif /* GL_APPLE_flush_buffer_range */ + +/* ----------------------- GL_APPLE_object_purgeable ----------------------- */ + +#ifndef GL_APPLE_object_purgeable +#define GL_APPLE_object_purgeable 1 + +#define GL_BUFFER_OBJECT_APPLE 0x85B3 +#define GL_RELEASED_APPLE 0x8A19 +#define GL_VOLATILE_APPLE 0x8A1A +#define GL_RETAINED_APPLE 0x8A1B +#define GL_UNDEFINED_APPLE 0x8A1C +#define GL_PURGEABLE_APPLE 0x8A1D + +typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERIVAPPLEPROC) (GLenum objectType, GLuint name, GLenum pname, GLint* params); +typedef GLenum (GLAPIENTRY * PFNGLOBJECTPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option); +typedef GLenum (GLAPIENTRY * PFNGLOBJECTUNPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option); + +#define glGetObjectParameterivAPPLE GLEW_GET_FUN(__glewGetObjectParameterivAPPLE) +#define glObjectPurgeableAPPLE GLEW_GET_FUN(__glewObjectPurgeableAPPLE) +#define glObjectUnpurgeableAPPLE GLEW_GET_FUN(__glewObjectUnpurgeableAPPLE) + +#define GLEW_APPLE_object_purgeable GLEW_GET_VAR(__GLEW_APPLE_object_purgeable) + +#endif /* GL_APPLE_object_purgeable */ + +/* ------------------------- GL_APPLE_pixel_buffer ------------------------- */ + +#ifndef GL_APPLE_pixel_buffer +#define GL_APPLE_pixel_buffer 1 + +#define GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10 + +#define GLEW_APPLE_pixel_buffer GLEW_GET_VAR(__GLEW_APPLE_pixel_buffer) + +#endif /* GL_APPLE_pixel_buffer */ + +/* ---------------------------- GL_APPLE_rgb_422 --------------------------- */ + +#ifndef GL_APPLE_rgb_422 +#define GL_APPLE_rgb_422 1 + +#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA +#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB +#define GL_RGB_422_APPLE 0x8A1F +#define GL_RGB_RAW_422_APPLE 0x8A51 + +#define GLEW_APPLE_rgb_422 GLEW_GET_VAR(__GLEW_APPLE_rgb_422) + +#endif /* GL_APPLE_rgb_422 */ + +/* --------------------------- GL_APPLE_row_bytes -------------------------- */ + +#ifndef GL_APPLE_row_bytes +#define GL_APPLE_row_bytes 1 + +#define GL_PACK_ROW_BYTES_APPLE 0x8A15 +#define GL_UNPACK_ROW_BYTES_APPLE 0x8A16 + +#define GLEW_APPLE_row_bytes GLEW_GET_VAR(__GLEW_APPLE_row_bytes) + +#endif /* GL_APPLE_row_bytes */ + +/* ------------------------ GL_APPLE_specular_vector ----------------------- */ + +#ifndef GL_APPLE_specular_vector +#define GL_APPLE_specular_vector 1 + +#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0 + +#define GLEW_APPLE_specular_vector GLEW_GET_VAR(__GLEW_APPLE_specular_vector) + +#endif /* GL_APPLE_specular_vector */ + +/* ------------------------- GL_APPLE_texture_range ------------------------ */ + +#ifndef GL_APPLE_texture_range +#define GL_APPLE_texture_range 1 + +#define GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7 +#define GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8 +#define GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC +#define GL_STORAGE_PRIVATE_APPLE 0x85BD +#define GL_STORAGE_CACHED_APPLE 0x85BE +#define GL_STORAGE_SHARED_APPLE 0x85BF + +typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, void **params); +typedef void (GLAPIENTRY * PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, void *pointer); + +#define glGetTexParameterPointervAPPLE GLEW_GET_FUN(__glewGetTexParameterPointervAPPLE) +#define glTextureRangeAPPLE GLEW_GET_FUN(__glewTextureRangeAPPLE) + +#define GLEW_APPLE_texture_range GLEW_GET_VAR(__GLEW_APPLE_texture_range) + +#endif /* GL_APPLE_texture_range */ + +/* ------------------------ GL_APPLE_transform_hint ------------------------ */ + +#ifndef GL_APPLE_transform_hint +#define GL_APPLE_transform_hint 1 + +#define GL_TRANSFORM_HINT_APPLE 0x85B1 + +#define GLEW_APPLE_transform_hint GLEW_GET_VAR(__GLEW_APPLE_transform_hint) + +#endif /* GL_APPLE_transform_hint */ + +/* ---------------------- GL_APPLE_vertex_array_object --------------------- */ + +#ifndef GL_APPLE_vertex_array_object +#define GL_APPLE_vertex_array_object 1 + +#define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5 + +typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array); +typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint* arrays); +typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint* arrays); +typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array); + +#define glBindVertexArrayAPPLE GLEW_GET_FUN(__glewBindVertexArrayAPPLE) +#define glDeleteVertexArraysAPPLE GLEW_GET_FUN(__glewDeleteVertexArraysAPPLE) +#define glGenVertexArraysAPPLE GLEW_GET_FUN(__glewGenVertexArraysAPPLE) +#define glIsVertexArrayAPPLE GLEW_GET_FUN(__glewIsVertexArrayAPPLE) + +#define GLEW_APPLE_vertex_array_object GLEW_GET_VAR(__GLEW_APPLE_vertex_array_object) + +#endif /* GL_APPLE_vertex_array_object */ + +/* ---------------------- GL_APPLE_vertex_array_range ---------------------- */ + +#ifndef GL_APPLE_vertex_array_range +#define GL_APPLE_vertex_array_range 1 + +#define GL_VERTEX_ARRAY_RANGE_APPLE 0x851D +#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E +#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F +#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE 0x8520 +#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521 +#define GL_STORAGE_CLIENT_APPLE 0x85B4 +#define GL_STORAGE_CACHED_APPLE 0x85BE +#define GL_STORAGE_SHARED_APPLE 0x85BF + +typedef void (GLAPIENTRY * PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void *pointer); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void *pointer); + +#define glFlushVertexArrayRangeAPPLE GLEW_GET_FUN(__glewFlushVertexArrayRangeAPPLE) +#define glVertexArrayParameteriAPPLE GLEW_GET_FUN(__glewVertexArrayParameteriAPPLE) +#define glVertexArrayRangeAPPLE GLEW_GET_FUN(__glewVertexArrayRangeAPPLE) + +#define GLEW_APPLE_vertex_array_range GLEW_GET_VAR(__GLEW_APPLE_vertex_array_range) + +#endif /* GL_APPLE_vertex_array_range */ + +/* ------------------- GL_APPLE_vertex_program_evaluators ------------------ */ + +#ifndef GL_APPLE_vertex_program_evaluators +#define GL_APPLE_vertex_program_evaluators 1 + +#define GL_VERTEX_ATTRIB_MAP1_APPLE 0x8A00 +#define GL_VERTEX_ATTRIB_MAP2_APPLE 0x8A01 +#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE 0x8A02 +#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE 0x8A03 +#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE 0x8A04 +#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8A05 +#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE 0x8A06 +#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE 0x8A07 +#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE 0x8A08 +#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8A09 + +typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname); +typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname); +typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXATTRIBENABLEDAPPLEPROC) (GLuint index, GLenum pname); +typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB1DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble* points); +typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB1FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat* points); +typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB2DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble* points); +typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB2FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat* points); + +#define glDisableVertexAttribAPPLE GLEW_GET_FUN(__glewDisableVertexAttribAPPLE) +#define glEnableVertexAttribAPPLE GLEW_GET_FUN(__glewEnableVertexAttribAPPLE) +#define glIsVertexAttribEnabledAPPLE GLEW_GET_FUN(__glewIsVertexAttribEnabledAPPLE) +#define glMapVertexAttrib1dAPPLE GLEW_GET_FUN(__glewMapVertexAttrib1dAPPLE) +#define glMapVertexAttrib1fAPPLE GLEW_GET_FUN(__glewMapVertexAttrib1fAPPLE) +#define glMapVertexAttrib2dAPPLE GLEW_GET_FUN(__glewMapVertexAttrib2dAPPLE) +#define glMapVertexAttrib2fAPPLE GLEW_GET_FUN(__glewMapVertexAttrib2fAPPLE) + +#define GLEW_APPLE_vertex_program_evaluators GLEW_GET_VAR(__GLEW_APPLE_vertex_program_evaluators) + +#endif /* GL_APPLE_vertex_program_evaluators */ + +/* --------------------------- GL_APPLE_ycbcr_422 -------------------------- */ + +#ifndef GL_APPLE_ycbcr_422 +#define GL_APPLE_ycbcr_422 1 + +#define GL_YCBCR_422_APPLE 0x85B9 + +#define GLEW_APPLE_ycbcr_422 GLEW_GET_VAR(__GLEW_APPLE_ycbcr_422) + +#endif /* GL_APPLE_ycbcr_422 */ + +/* ------------------------ GL_ARB_ES2_compatibility ----------------------- */ + +#ifndef GL_ARB_ES2_compatibility +#define GL_ARB_ES2_compatibility 1 + +#define GL_FIXED 0x140C +#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B +#define GL_RGB565 0x8D62 +#define GL_LOW_FLOAT 0x8DF0 +#define GL_MEDIUM_FLOAT 0x8DF1 +#define GL_HIGH_FLOAT 0x8DF2 +#define GL_LOW_INT 0x8DF3 +#define GL_MEDIUM_INT 0x8DF4 +#define GL_HIGH_INT 0x8DF5 +#define GL_SHADER_BINARY_FORMATS 0x8DF8 +#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 +#define GL_SHADER_COMPILER 0x8DFA +#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB +#define GL_MAX_VARYING_VECTORS 0x8DFC +#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD + +typedef int GLfixed; + +typedef void (GLAPIENTRY * PFNGLCLEARDEPTHFPROC) (GLclampf d); +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEFPROC) (GLclampf n, GLclampf f); +typedef void (GLAPIENTRY * PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint* range, GLint *precision); +typedef void (GLAPIENTRY * PFNGLRELEASESHADERCOMPILERPROC) (void); +typedef void (GLAPIENTRY * PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint* shaders, GLenum binaryformat, const void*binary, GLsizei length); + +#define glClearDepthf GLEW_GET_FUN(__glewClearDepthf) +#define glDepthRangef GLEW_GET_FUN(__glewDepthRangef) +#define glGetShaderPrecisionFormat GLEW_GET_FUN(__glewGetShaderPrecisionFormat) +#define glReleaseShaderCompiler GLEW_GET_FUN(__glewReleaseShaderCompiler) +#define glShaderBinary GLEW_GET_FUN(__glewShaderBinary) + +#define GLEW_ARB_ES2_compatibility GLEW_GET_VAR(__GLEW_ARB_ES2_compatibility) + +#endif /* GL_ARB_ES2_compatibility */ + +/* ----------------------- GL_ARB_ES3_1_compatibility ---------------------- */ + +#ifndef GL_ARB_ES3_1_compatibility +#define GL_ARB_ES3_1_compatibility 1 + +typedef void (GLAPIENTRY * PFNGLMEMORYBARRIERBYREGIONPROC) (GLbitfield barriers); + +#define glMemoryBarrierByRegion GLEW_GET_FUN(__glewMemoryBarrierByRegion) + +#define GLEW_ARB_ES3_1_compatibility GLEW_GET_VAR(__GLEW_ARB_ES3_1_compatibility) + +#endif /* GL_ARB_ES3_1_compatibility */ + +/* ----------------------- GL_ARB_ES3_2_compatibility ---------------------- */ + +#ifndef GL_ARB_ES3_2_compatibility +#define GL_ARB_ES3_2_compatibility 1 + +#define GL_PRIMITIVE_BOUNDING_BOX_ARB 0x92BE +#define GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB 0x9381 +#define GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB 0x9382 + +typedef void (GLAPIENTRY * PFNGLPRIMITIVEBOUNDINGBOXARBPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); + +#define glPrimitiveBoundingBoxARB GLEW_GET_FUN(__glewPrimitiveBoundingBoxARB) + +#define GLEW_ARB_ES3_2_compatibility GLEW_GET_VAR(__GLEW_ARB_ES3_2_compatibility) + +#endif /* GL_ARB_ES3_2_compatibility */ + +/* ------------------------ GL_ARB_ES3_compatibility ----------------------- */ + +#ifndef GL_ARB_ES3_compatibility +#define GL_ARB_ES3_compatibility 1 + +#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF +#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69 +#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A +#define GL_MAX_ELEMENT_INDEX 0x8D6B +#define GL_COMPRESSED_R11_EAC 0x9270 +#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271 +#define GL_COMPRESSED_RG11_EAC 0x9272 +#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273 +#define GL_COMPRESSED_RGB8_ETC2 0x9274 +#define GL_COMPRESSED_SRGB8_ETC2 0x9275 +#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276 +#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277 +#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278 +#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279 + +#define GLEW_ARB_ES3_compatibility GLEW_GET_VAR(__GLEW_ARB_ES3_compatibility) + +#endif /* GL_ARB_ES3_compatibility */ + +/* ------------------------ GL_ARB_arrays_of_arrays ------------------------ */ + +#ifndef GL_ARB_arrays_of_arrays +#define GL_ARB_arrays_of_arrays 1 + +#define GLEW_ARB_arrays_of_arrays GLEW_GET_VAR(__GLEW_ARB_arrays_of_arrays) + +#endif /* GL_ARB_arrays_of_arrays */ + +/* -------------------------- GL_ARB_base_instance ------------------------- */ + +#ifndef GL_ARB_base_instance +#define GL_ARB_base_instance 1 + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLuint baseinstance); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance); + +#define glDrawArraysInstancedBaseInstance GLEW_GET_FUN(__glewDrawArraysInstancedBaseInstance) +#define glDrawElementsInstancedBaseInstance GLEW_GET_FUN(__glewDrawElementsInstancedBaseInstance) +#define glDrawElementsInstancedBaseVertexBaseInstance GLEW_GET_FUN(__glewDrawElementsInstancedBaseVertexBaseInstance) + +#define GLEW_ARB_base_instance GLEW_GET_VAR(__GLEW_ARB_base_instance) + +#endif /* GL_ARB_base_instance */ + +/* ------------------------ GL_ARB_bindless_texture ------------------------ */ + +#ifndef GL_ARB_bindless_texture +#define GL_ARB_bindless_texture 1 + +#define GL_UNSIGNED_INT64_ARB 0x140F + +typedef GLuint64 (GLAPIENTRY * PFNGLGETIMAGEHANDLEARBPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); +typedef GLuint64 (GLAPIENTRY * PFNGLGETTEXTUREHANDLEARBPROC) (GLuint texture); +typedef GLuint64 (GLAPIENTRY * PFNGLGETTEXTURESAMPLERHANDLEARBPROC) (GLuint texture, GLuint sampler); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLUI64VARBPROC) (GLuint index, GLenum pname, GLuint64EXT* params); +typedef GLboolean (GLAPIENTRY * PFNGLISIMAGEHANDLERESIDENTARBPROC) (GLuint64 handle); +typedef GLboolean (GLAPIENTRY * PFNGLISTEXTUREHANDLERESIDENTARBPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLMAKEIMAGEHANDLERESIDENTARBPROC) (GLuint64 handle, GLenum access); +typedef void (GLAPIENTRY * PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLMAKETEXTUREHANDLERESIDENTARBPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC) (GLuint program, GLint location, GLuint64 value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64* values); +typedef void (GLAPIENTRY * PFNGLUNIFORMHANDLEUI64ARBPROC) (GLint location, GLuint64 value); +typedef void (GLAPIENTRY * PFNGLUNIFORMHANDLEUI64VARBPROC) (GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64ARBPROC) (GLuint index, GLuint64EXT x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64VARBPROC) (GLuint index, const GLuint64EXT* v); + +#define glGetImageHandleARB GLEW_GET_FUN(__glewGetImageHandleARB) +#define glGetTextureHandleARB GLEW_GET_FUN(__glewGetTextureHandleARB) +#define glGetTextureSamplerHandleARB GLEW_GET_FUN(__glewGetTextureSamplerHandleARB) +#define glGetVertexAttribLui64vARB GLEW_GET_FUN(__glewGetVertexAttribLui64vARB) +#define glIsImageHandleResidentARB GLEW_GET_FUN(__glewIsImageHandleResidentARB) +#define glIsTextureHandleResidentARB GLEW_GET_FUN(__glewIsTextureHandleResidentARB) +#define glMakeImageHandleNonResidentARB GLEW_GET_FUN(__glewMakeImageHandleNonResidentARB) +#define glMakeImageHandleResidentARB GLEW_GET_FUN(__glewMakeImageHandleResidentARB) +#define glMakeTextureHandleNonResidentARB GLEW_GET_FUN(__glewMakeTextureHandleNonResidentARB) +#define glMakeTextureHandleResidentARB GLEW_GET_FUN(__glewMakeTextureHandleResidentARB) +#define glProgramUniformHandleui64ARB GLEW_GET_FUN(__glewProgramUniformHandleui64ARB) +#define glProgramUniformHandleui64vARB GLEW_GET_FUN(__glewProgramUniformHandleui64vARB) +#define glUniformHandleui64ARB GLEW_GET_FUN(__glewUniformHandleui64ARB) +#define glUniformHandleui64vARB GLEW_GET_FUN(__glewUniformHandleui64vARB) +#define glVertexAttribL1ui64ARB GLEW_GET_FUN(__glewVertexAttribL1ui64ARB) +#define glVertexAttribL1ui64vARB GLEW_GET_FUN(__glewVertexAttribL1ui64vARB) + +#define GLEW_ARB_bindless_texture GLEW_GET_VAR(__GLEW_ARB_bindless_texture) + +#endif /* GL_ARB_bindless_texture */ + +/* ----------------------- GL_ARB_blend_func_extended ---------------------- */ + +#ifndef GL_ARB_blend_func_extended +#define GL_ARB_blend_func_extended 1 + +#define GL_SRC1_COLOR 0x88F9 +#define GL_ONE_MINUS_SRC1_COLOR 0x88FA +#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB +#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC + +typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar * name); +typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const GLchar * name); + +#define glBindFragDataLocationIndexed GLEW_GET_FUN(__glewBindFragDataLocationIndexed) +#define glGetFragDataIndex GLEW_GET_FUN(__glewGetFragDataIndex) + +#define GLEW_ARB_blend_func_extended GLEW_GET_VAR(__GLEW_ARB_blend_func_extended) + +#endif /* GL_ARB_blend_func_extended */ + +/* ------------------------- GL_ARB_buffer_storage ------------------------- */ + +#ifndef GL_ARB_buffer_storage +#define GL_ARB_buffer_storage 1 + +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MAP_PERSISTENT_BIT 0x00000040 +#define GL_MAP_COHERENT_BIT 0x00000080 +#define GL_DYNAMIC_STORAGE_BIT 0x0100 +#define GL_CLIENT_STORAGE_BIT 0x0200 +#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x00004000 +#define GL_BUFFER_IMMUTABLE_STORAGE 0x821F +#define GL_BUFFER_STORAGE_FLAGS 0x8220 + +typedef void (GLAPIENTRY * PFNGLBUFFERSTORAGEPROC) (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSTORAGEEXTPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); + +#define glBufferStorage GLEW_GET_FUN(__glewBufferStorage) +#define glNamedBufferStorageEXT GLEW_GET_FUN(__glewNamedBufferStorageEXT) + +#define GLEW_ARB_buffer_storage GLEW_GET_VAR(__GLEW_ARB_buffer_storage) + +#endif /* GL_ARB_buffer_storage */ + +/* ---------------------------- GL_ARB_cl_event ---------------------------- */ + +#ifndef GL_ARB_cl_event +#define GL_ARB_cl_event 1 + +#define GL_SYNC_CL_EVENT_ARB 0x8240 +#define GL_SYNC_CL_EVENT_COMPLETE_ARB 0x8241 + +typedef struct _cl_context *cl_context; +typedef struct _cl_event *cl_event; + +typedef GLsync (GLAPIENTRY * PFNGLCREATESYNCFROMCLEVENTARBPROC) (cl_context context, cl_event event, GLbitfield flags); + +#define glCreateSyncFromCLeventARB GLEW_GET_FUN(__glewCreateSyncFromCLeventARB) + +#define GLEW_ARB_cl_event GLEW_GET_VAR(__GLEW_ARB_cl_event) + +#endif /* GL_ARB_cl_event */ + +/* ----------------------- GL_ARB_clear_buffer_object ---------------------- */ + +#ifndef GL_ARB_clear_buffer_object +#define GL_ARB_clear_buffer_object 1 + +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERDATAPROC) (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCLEARBUFFERSUBDATAPROC) (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); + +#define glClearBufferData GLEW_GET_FUN(__glewClearBufferData) +#define glClearBufferSubData GLEW_GET_FUN(__glewClearBufferSubData) +#define glClearNamedBufferDataEXT GLEW_GET_FUN(__glewClearNamedBufferDataEXT) +#define glClearNamedBufferSubDataEXT GLEW_GET_FUN(__glewClearNamedBufferSubDataEXT) + +#define GLEW_ARB_clear_buffer_object GLEW_GET_VAR(__GLEW_ARB_clear_buffer_object) + +#endif /* GL_ARB_clear_buffer_object */ + +/* -------------------------- GL_ARB_clear_texture ------------------------- */ + +#ifndef GL_ARB_clear_texture +#define GL_ARB_clear_texture 1 + +#define GL_CLEAR_TEXTURE 0x9365 + +typedef void (GLAPIENTRY * PFNGLCLEARTEXIMAGEPROC) (GLuint texture, GLint level, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCLEARTEXSUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); + +#define glClearTexImage GLEW_GET_FUN(__glewClearTexImage) +#define glClearTexSubImage GLEW_GET_FUN(__glewClearTexSubImage) + +#define GLEW_ARB_clear_texture GLEW_GET_VAR(__GLEW_ARB_clear_texture) + +#endif /* GL_ARB_clear_texture */ + +/* -------------------------- GL_ARB_clip_control -------------------------- */ + +#ifndef GL_ARB_clip_control +#define GL_ARB_clip_control 1 + +#define GL_LOWER_LEFT 0x8CA1 +#define GL_UPPER_LEFT 0x8CA2 +#define GL_CLIP_ORIGIN 0x935C +#define GL_CLIP_DEPTH_MODE 0x935D +#define GL_NEGATIVE_ONE_TO_ONE 0x935E +#define GL_ZERO_TO_ONE 0x935F + +typedef void (GLAPIENTRY * PFNGLCLIPCONTROLPROC) (GLenum origin, GLenum depth); + +#define glClipControl GLEW_GET_FUN(__glewClipControl) + +#define GLEW_ARB_clip_control GLEW_GET_VAR(__GLEW_ARB_clip_control) + +#endif /* GL_ARB_clip_control */ + +/* ----------------------- GL_ARB_color_buffer_float ----------------------- */ + +#ifndef GL_ARB_color_buffer_float +#define GL_ARB_color_buffer_float 1 + +#define GL_RGBA_FLOAT_MODE_ARB 0x8820 +#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A +#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B +#define GL_CLAMP_READ_COLOR_ARB 0x891C +#define GL_FIXED_ONLY_ARB 0x891D + +typedef void (GLAPIENTRY * PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp); + +#define glClampColorARB GLEW_GET_FUN(__glewClampColorARB) + +#define GLEW_ARB_color_buffer_float GLEW_GET_VAR(__GLEW_ARB_color_buffer_float) + +#endif /* GL_ARB_color_buffer_float */ + +/* -------------------------- GL_ARB_compatibility ------------------------- */ + +#ifndef GL_ARB_compatibility +#define GL_ARB_compatibility 1 + +#define GLEW_ARB_compatibility GLEW_GET_VAR(__GLEW_ARB_compatibility) + +#endif /* GL_ARB_compatibility */ + +/* ---------------- GL_ARB_compressed_texture_pixel_storage ---------------- */ + +#ifndef GL_ARB_compressed_texture_pixel_storage +#define GL_ARB_compressed_texture_pixel_storage 1 + +#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127 +#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128 +#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129 +#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A +#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B +#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C +#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D +#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E + +#define GLEW_ARB_compressed_texture_pixel_storage GLEW_GET_VAR(__GLEW_ARB_compressed_texture_pixel_storage) + +#endif /* GL_ARB_compressed_texture_pixel_storage */ + +/* ------------------------- GL_ARB_compute_shader ------------------------- */ + +#ifndef GL_ARB_compute_shader +#define GL_ARB_compute_shader 1 + +#define GL_COMPUTE_SHADER_BIT 0x00000020 +#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262 +#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263 +#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264 +#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265 +#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266 +#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267 +#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB +#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED +#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE +#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF +#define GL_COMPUTE_SHADER 0x91B9 +#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB +#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC +#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD +#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE +#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF + +typedef void (GLAPIENTRY * PFNGLDISPATCHCOMPUTEPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); +typedef void (GLAPIENTRY * PFNGLDISPATCHCOMPUTEINDIRECTPROC) (GLintptr indirect); + +#define glDispatchCompute GLEW_GET_FUN(__glewDispatchCompute) +#define glDispatchComputeIndirect GLEW_GET_FUN(__glewDispatchComputeIndirect) + +#define GLEW_ARB_compute_shader GLEW_GET_VAR(__GLEW_ARB_compute_shader) + +#endif /* GL_ARB_compute_shader */ + +/* ------------------- GL_ARB_compute_variable_group_size ------------------ */ + +#ifndef GL_ARB_compute_variable_group_size +#define GL_ARB_compute_variable_group_size 1 + +#define GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB 0x90EB +#define GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB 0x91BF +#define GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB 0x9344 +#define GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB 0x9345 + +typedef void (GLAPIENTRY * PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z); + +#define glDispatchComputeGroupSizeARB GLEW_GET_FUN(__glewDispatchComputeGroupSizeARB) + +#define GLEW_ARB_compute_variable_group_size GLEW_GET_VAR(__GLEW_ARB_compute_variable_group_size) + +#endif /* GL_ARB_compute_variable_group_size */ + +/* ------------------- GL_ARB_conditional_render_inverted ------------------ */ + +#ifndef GL_ARB_conditional_render_inverted +#define GL_ARB_conditional_render_inverted 1 + +#define GL_QUERY_WAIT_INVERTED 0x8E17 +#define GL_QUERY_NO_WAIT_INVERTED 0x8E18 +#define GL_QUERY_BY_REGION_WAIT_INVERTED 0x8E19 +#define GL_QUERY_BY_REGION_NO_WAIT_INVERTED 0x8E1A + +#define GLEW_ARB_conditional_render_inverted GLEW_GET_VAR(__GLEW_ARB_conditional_render_inverted) + +#endif /* GL_ARB_conditional_render_inverted */ + +/* ----------------------- GL_ARB_conservative_depth ----------------------- */ + +#ifndef GL_ARB_conservative_depth +#define GL_ARB_conservative_depth 1 + +#define GLEW_ARB_conservative_depth GLEW_GET_VAR(__GLEW_ARB_conservative_depth) + +#endif /* GL_ARB_conservative_depth */ + +/* --------------------------- GL_ARB_copy_buffer -------------------------- */ + +#ifndef GL_ARB_copy_buffer +#define GL_ARB_copy_buffer 1 + +#define GL_COPY_READ_BUFFER 0x8F36 +#define GL_COPY_WRITE_BUFFER 0x8F37 + +typedef void (GLAPIENTRY * PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size); + +#define glCopyBufferSubData GLEW_GET_FUN(__glewCopyBufferSubData) + +#define GLEW_ARB_copy_buffer GLEW_GET_VAR(__GLEW_ARB_copy_buffer) + +#endif /* GL_ARB_copy_buffer */ + +/* --------------------------- GL_ARB_copy_image --------------------------- */ + +#ifndef GL_ARB_copy_image +#define GL_ARB_copy_image 1 + +typedef void (GLAPIENTRY * PFNGLCOPYIMAGESUBDATAPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); + +#define glCopyImageSubData GLEW_GET_FUN(__glewCopyImageSubData) + +#define GLEW_ARB_copy_image GLEW_GET_VAR(__GLEW_ARB_copy_image) + +#endif /* GL_ARB_copy_image */ + +/* -------------------------- GL_ARB_cull_distance ------------------------- */ + +#ifndef GL_ARB_cull_distance +#define GL_ARB_cull_distance 1 + +#define GL_MAX_CULL_DISTANCES 0x82F9 +#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES 0x82FA + +#define GLEW_ARB_cull_distance GLEW_GET_VAR(__GLEW_ARB_cull_distance) + +#endif /* GL_ARB_cull_distance */ + +/* -------------------------- GL_ARB_debug_output -------------------------- */ + +#ifndef GL_ARB_debug_output +#define GL_ARB_debug_output 1 + +#define GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB 0x8242 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB 0x8243 +#define GL_DEBUG_CALLBACK_FUNCTION_ARB 0x8244 +#define GL_DEBUG_CALLBACK_USER_PARAM_ARB 0x8245 +#define GL_DEBUG_SOURCE_API_ARB 0x8246 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB 0x8247 +#define GL_DEBUG_SOURCE_SHADER_COMPILER_ARB 0x8248 +#define GL_DEBUG_SOURCE_THIRD_PARTY_ARB 0x8249 +#define GL_DEBUG_SOURCE_APPLICATION_ARB 0x824A +#define GL_DEBUG_SOURCE_OTHER_ARB 0x824B +#define GL_DEBUG_TYPE_ERROR_ARB 0x824C +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB 0x824D +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB 0x824E +#define GL_DEBUG_TYPE_PORTABILITY_ARB 0x824F +#define GL_DEBUG_TYPE_PERFORMANCE_ARB 0x8250 +#define GL_DEBUG_TYPE_OTHER_ARB 0x8251 +#define GL_MAX_DEBUG_MESSAGE_LENGTH_ARB 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES_ARB 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES_ARB 0x9145 +#define GL_DEBUG_SEVERITY_HIGH_ARB 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM_ARB 0x9147 +#define GL_DEBUG_SEVERITY_LOW_ARB 0x9148 + +typedef void (GLAPIENTRY *GLDEBUGPROCARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam); + +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, const void *userParam); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERTARBPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf); +typedef GLuint (GLAPIENTRY * PFNGLGETDEBUGMESSAGELOGARBPROC) (GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog); + +#define glDebugMessageCallbackARB GLEW_GET_FUN(__glewDebugMessageCallbackARB) +#define glDebugMessageControlARB GLEW_GET_FUN(__glewDebugMessageControlARB) +#define glDebugMessageInsertARB GLEW_GET_FUN(__glewDebugMessageInsertARB) +#define glGetDebugMessageLogARB GLEW_GET_FUN(__glewGetDebugMessageLogARB) + +#define GLEW_ARB_debug_output GLEW_GET_VAR(__GLEW_ARB_debug_output) + +#endif /* GL_ARB_debug_output */ + +/* ----------------------- GL_ARB_depth_buffer_float ----------------------- */ + +#ifndef GL_ARB_depth_buffer_float +#define GL_ARB_depth_buffer_float 1 + +#define GL_DEPTH_COMPONENT32F 0x8CAC +#define GL_DEPTH32F_STENCIL8 0x8CAD +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD + +#define GLEW_ARB_depth_buffer_float GLEW_GET_VAR(__GLEW_ARB_depth_buffer_float) + +#endif /* GL_ARB_depth_buffer_float */ + +/* --------------------------- GL_ARB_depth_clamp -------------------------- */ + +#ifndef GL_ARB_depth_clamp +#define GL_ARB_depth_clamp 1 + +#define GL_DEPTH_CLAMP 0x864F + +#define GLEW_ARB_depth_clamp GLEW_GET_VAR(__GLEW_ARB_depth_clamp) + +#endif /* GL_ARB_depth_clamp */ + +/* -------------------------- GL_ARB_depth_texture ------------------------- */ + +#ifndef GL_ARB_depth_texture +#define GL_ARB_depth_texture 1 + +#define GL_DEPTH_COMPONENT16_ARB 0x81A5 +#define GL_DEPTH_COMPONENT24_ARB 0x81A6 +#define GL_DEPTH_COMPONENT32_ARB 0x81A7 +#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A +#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B + +#define GLEW_ARB_depth_texture GLEW_GET_VAR(__GLEW_ARB_depth_texture) + +#endif /* GL_ARB_depth_texture */ + +/* ----------------------- GL_ARB_derivative_control ----------------------- */ + +#ifndef GL_ARB_derivative_control +#define GL_ARB_derivative_control 1 + +#define GLEW_ARB_derivative_control GLEW_GET_VAR(__GLEW_ARB_derivative_control) + +#endif /* GL_ARB_derivative_control */ + +/* ----------------------- GL_ARB_direct_state_access ---------------------- */ + +#ifndef GL_ARB_direct_state_access +#define GL_ARB_direct_state_access 1 + +#define GL_TEXTURE_TARGET 0x1006 +#define GL_QUERY_TARGET 0x82EA + +typedef void (GLAPIENTRY * PFNGLBINDTEXTUREUNITPROC) (GLuint unit, GLuint texture); +typedef void (GLAPIENTRY * PFNGLBLITNAMEDFRAMEBUFFERPROC) (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef GLenum (GLAPIENTRY * PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC) (GLuint framebuffer, GLenum target); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDBUFFERDATAPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDFRAMEBUFFERFIPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDFRAMEBUFFERFVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat* value); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDFRAMEBUFFERIVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint* value); +typedef void (GLAPIENTRY * PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC) (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOPYNAMEDBUFFERSUBDATAPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE1DPROC) (GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE2DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE3DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLCREATEBUFFERSPROC) (GLsizei n, GLuint* buffers); +typedef void (GLAPIENTRY * PFNGLCREATEFRAMEBUFFERSPROC) (GLsizei n, GLuint* framebuffers); +typedef void (GLAPIENTRY * PFNGLCREATEPROGRAMPIPELINESPROC) (GLsizei n, GLuint* pipelines); +typedef void (GLAPIENTRY * PFNGLCREATEQUERIESPROC) (GLenum target, GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLCREATERENDERBUFFERSPROC) (GLsizei n, GLuint* renderbuffers); +typedef void (GLAPIENTRY * PFNGLCREATESAMPLERSPROC) (GLsizei n, GLuint* samplers); +typedef void (GLAPIENTRY * PFNGLCREATETEXTURESPROC) (GLenum target, GLsizei n, GLuint* textures); +typedef void (GLAPIENTRY * PFNGLCREATETRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLCREATEVERTEXARRAYSPROC) (GLsizei n, GLuint* arrays); +typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXARRAYATTRIBPROC) (GLuint vaobj, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEVERTEXARRAYATTRIBPROC) (GLuint vaobj, GLuint index); +typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); +typedef void (GLAPIENTRY * PFNGLGENERATETEXTUREMIPMAPPROC) (GLuint texture); +typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC) (GLuint texture, GLint level, GLsizei bufSize, void *pixels); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERI64VPROC) (GLuint buffer, GLenum pname, GLint64* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERIVPROC) (GLuint buffer, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPOINTERVPROC) (GLuint buffer, GLenum pname, void** params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); +typedef void (GLAPIENTRY * PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC) (GLuint framebuffer, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC) (GLuint renderbuffer, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYBUFFEROBJECTI64VPROC) (GLuint id,GLuint buffer,GLenum pname,GLintptr offset); +typedef void (GLAPIENTRY * PFNGLGETQUERYBUFFEROBJECTIVPROC) (GLuint id,GLuint buffer,GLenum pname,GLintptr offset); +typedef void (GLAPIENTRY * PFNGLGETQUERYBUFFEROBJECTUI64VPROC) (GLuint id,GLuint buffer,GLenum pname,GLintptr offset); +typedef void (GLAPIENTRY * PFNGLGETQUERYBUFFEROBJECTUIVPROC) (GLuint id,GLuint buffer,GLenum pname,GLintptr offset); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREIMAGEPROC) (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); +typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERFVPROC) (GLuint texture, GLint level, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERIVPROC) (GLuint texture, GLint level, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIIVPROC) (GLuint texture, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIUIVPROC) (GLuint texture, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERFVPROC) (GLuint texture, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIVPROC) (GLuint texture, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKI64_VPROC) (GLuint xfb, GLenum pname, GLuint index, GLint64* param); +typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKI_VPROC) (GLuint xfb, GLenum pname, GLuint index, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKIVPROC) (GLuint xfb, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINDEXED64IVPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint64* param); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINDEXEDIVPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYIVPROC) (GLuint vaobj, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC) (GLuint framebuffer, GLsizei numAttachments, const GLenum* attachments); +typedef void (GLAPIENTRY * PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC) (GLuint framebuffer, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void * (GLAPIENTRY * PFNGLMAPNAMEDBUFFERPROC) (GLuint buffer, GLenum access); +typedef void * (GLAPIENTRY * PFNGLMAPNAMEDBUFFERRANGEPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERDATAPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSTORAGEPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC) (GLuint framebuffer, GLenum mode); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC) (GLuint framebuffer, GLsizei n, const GLenum* bufs); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC) (GLuint framebuffer, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC) (GLuint framebuffer, GLenum mode); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLTEXTUREBUFFERPROC) (GLuint texture, GLenum internalformat, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLTEXTUREBUFFERRANGEPROC) (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIIVPROC) (GLuint texture, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIUIVPROC) (GLuint texture, GLenum pname, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFPROC) (GLuint texture, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFVPROC) (GLuint texture, GLenum pname, const GLfloat* param); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIPROC) (GLuint texture, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIVPROC) (GLuint texture, GLenum pname, const GLint* param); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE1DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE2DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC) (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE3DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC) (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE1DPROC) (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE2DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE3DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC) (GLuint xfb, GLuint index, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC) (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef GLboolean (GLAPIENTRY * PFNGLUNMAPNAMEDBUFFERPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYATTRIBBINDINGPROC) (GLuint vaobj, GLuint attribindex, GLuint bindingindex); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYATTRIBFORMATPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYATTRIBIFORMATPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYATTRIBLFORMATPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYBINDINGDIVISORPROC) (GLuint vaobj, GLuint bindingindex, GLuint divisor); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYELEMENTBUFFERPROC) (GLuint vaobj, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXBUFFERPROC) (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXBUFFERSPROC) (GLuint vaobj, GLuint first, GLsizei count, const GLuint* buffers, const GLintptr *offsets, const GLsizei *strides); + +#define glBindTextureUnit GLEW_GET_FUN(__glewBindTextureUnit) +#define glBlitNamedFramebuffer GLEW_GET_FUN(__glewBlitNamedFramebuffer) +#define glCheckNamedFramebufferStatus GLEW_GET_FUN(__glewCheckNamedFramebufferStatus) +#define glClearNamedBufferData GLEW_GET_FUN(__glewClearNamedBufferData) +#define glClearNamedBufferSubData GLEW_GET_FUN(__glewClearNamedBufferSubData) +#define glClearNamedFramebufferfi GLEW_GET_FUN(__glewClearNamedFramebufferfi) +#define glClearNamedFramebufferfv GLEW_GET_FUN(__glewClearNamedFramebufferfv) +#define glClearNamedFramebufferiv GLEW_GET_FUN(__glewClearNamedFramebufferiv) +#define glClearNamedFramebufferuiv GLEW_GET_FUN(__glewClearNamedFramebufferuiv) +#define glCompressedTextureSubImage1D GLEW_GET_FUN(__glewCompressedTextureSubImage1D) +#define glCompressedTextureSubImage2D GLEW_GET_FUN(__glewCompressedTextureSubImage2D) +#define glCompressedTextureSubImage3D GLEW_GET_FUN(__glewCompressedTextureSubImage3D) +#define glCopyNamedBufferSubData GLEW_GET_FUN(__glewCopyNamedBufferSubData) +#define glCopyTextureSubImage1D GLEW_GET_FUN(__glewCopyTextureSubImage1D) +#define glCopyTextureSubImage2D GLEW_GET_FUN(__glewCopyTextureSubImage2D) +#define glCopyTextureSubImage3D GLEW_GET_FUN(__glewCopyTextureSubImage3D) +#define glCreateBuffers GLEW_GET_FUN(__glewCreateBuffers) +#define glCreateFramebuffers GLEW_GET_FUN(__glewCreateFramebuffers) +#define glCreateProgramPipelines GLEW_GET_FUN(__glewCreateProgramPipelines) +#define glCreateQueries GLEW_GET_FUN(__glewCreateQueries) +#define glCreateRenderbuffers GLEW_GET_FUN(__glewCreateRenderbuffers) +#define glCreateSamplers GLEW_GET_FUN(__glewCreateSamplers) +#define glCreateTextures GLEW_GET_FUN(__glewCreateTextures) +#define glCreateTransformFeedbacks GLEW_GET_FUN(__glewCreateTransformFeedbacks) +#define glCreateVertexArrays GLEW_GET_FUN(__glewCreateVertexArrays) +#define glDisableVertexArrayAttrib GLEW_GET_FUN(__glewDisableVertexArrayAttrib) +#define glEnableVertexArrayAttrib GLEW_GET_FUN(__glewEnableVertexArrayAttrib) +#define glFlushMappedNamedBufferRange GLEW_GET_FUN(__glewFlushMappedNamedBufferRange) +#define glGenerateTextureMipmap GLEW_GET_FUN(__glewGenerateTextureMipmap) +#define glGetCompressedTextureImage GLEW_GET_FUN(__glewGetCompressedTextureImage) +#define glGetNamedBufferParameteri64v GLEW_GET_FUN(__glewGetNamedBufferParameteri64v) +#define glGetNamedBufferParameteriv GLEW_GET_FUN(__glewGetNamedBufferParameteriv) +#define glGetNamedBufferPointerv GLEW_GET_FUN(__glewGetNamedBufferPointerv) +#define glGetNamedBufferSubData GLEW_GET_FUN(__glewGetNamedBufferSubData) +#define glGetNamedFramebufferAttachmentParameteriv GLEW_GET_FUN(__glewGetNamedFramebufferAttachmentParameteriv) +#define glGetNamedFramebufferParameteriv GLEW_GET_FUN(__glewGetNamedFramebufferParameteriv) +#define glGetNamedRenderbufferParameteriv GLEW_GET_FUN(__glewGetNamedRenderbufferParameteriv) +#define glGetQueryBufferObjecti64v GLEW_GET_FUN(__glewGetQueryBufferObjecti64v) +#define glGetQueryBufferObjectiv GLEW_GET_FUN(__glewGetQueryBufferObjectiv) +#define glGetQueryBufferObjectui64v GLEW_GET_FUN(__glewGetQueryBufferObjectui64v) +#define glGetQueryBufferObjectuiv GLEW_GET_FUN(__glewGetQueryBufferObjectuiv) +#define glGetTextureImage GLEW_GET_FUN(__glewGetTextureImage) +#define glGetTextureLevelParameterfv GLEW_GET_FUN(__glewGetTextureLevelParameterfv) +#define glGetTextureLevelParameteriv GLEW_GET_FUN(__glewGetTextureLevelParameteriv) +#define glGetTextureParameterIiv GLEW_GET_FUN(__glewGetTextureParameterIiv) +#define glGetTextureParameterIuiv GLEW_GET_FUN(__glewGetTextureParameterIuiv) +#define glGetTextureParameterfv GLEW_GET_FUN(__glewGetTextureParameterfv) +#define glGetTextureParameteriv GLEW_GET_FUN(__glewGetTextureParameteriv) +#define glGetTransformFeedbacki64_v GLEW_GET_FUN(__glewGetTransformFeedbacki64_v) +#define glGetTransformFeedbacki_v GLEW_GET_FUN(__glewGetTransformFeedbacki_v) +#define glGetTransformFeedbackiv GLEW_GET_FUN(__glewGetTransformFeedbackiv) +#define glGetVertexArrayIndexed64iv GLEW_GET_FUN(__glewGetVertexArrayIndexed64iv) +#define glGetVertexArrayIndexediv GLEW_GET_FUN(__glewGetVertexArrayIndexediv) +#define glGetVertexArrayiv GLEW_GET_FUN(__glewGetVertexArrayiv) +#define glInvalidateNamedFramebufferData GLEW_GET_FUN(__glewInvalidateNamedFramebufferData) +#define glInvalidateNamedFramebufferSubData GLEW_GET_FUN(__glewInvalidateNamedFramebufferSubData) +#define glMapNamedBuffer GLEW_GET_FUN(__glewMapNamedBuffer) +#define glMapNamedBufferRange GLEW_GET_FUN(__glewMapNamedBufferRange) +#define glNamedBufferData GLEW_GET_FUN(__glewNamedBufferData) +#define glNamedBufferStorage GLEW_GET_FUN(__glewNamedBufferStorage) +#define glNamedBufferSubData GLEW_GET_FUN(__glewNamedBufferSubData) +#define glNamedFramebufferDrawBuffer GLEW_GET_FUN(__glewNamedFramebufferDrawBuffer) +#define glNamedFramebufferDrawBuffers GLEW_GET_FUN(__glewNamedFramebufferDrawBuffers) +#define glNamedFramebufferParameteri GLEW_GET_FUN(__glewNamedFramebufferParameteri) +#define glNamedFramebufferReadBuffer GLEW_GET_FUN(__glewNamedFramebufferReadBuffer) +#define glNamedFramebufferRenderbuffer GLEW_GET_FUN(__glewNamedFramebufferRenderbuffer) +#define glNamedFramebufferTexture GLEW_GET_FUN(__glewNamedFramebufferTexture) +#define glNamedFramebufferTextureLayer GLEW_GET_FUN(__glewNamedFramebufferTextureLayer) +#define glNamedRenderbufferStorage GLEW_GET_FUN(__glewNamedRenderbufferStorage) +#define glNamedRenderbufferStorageMultisample GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisample) +#define glTextureBuffer GLEW_GET_FUN(__glewTextureBuffer) +#define glTextureBufferRange GLEW_GET_FUN(__glewTextureBufferRange) +#define glTextureParameterIiv GLEW_GET_FUN(__glewTextureParameterIiv) +#define glTextureParameterIuiv GLEW_GET_FUN(__glewTextureParameterIuiv) +#define glTextureParameterf GLEW_GET_FUN(__glewTextureParameterf) +#define glTextureParameterfv GLEW_GET_FUN(__glewTextureParameterfv) +#define glTextureParameteri GLEW_GET_FUN(__glewTextureParameteri) +#define glTextureParameteriv GLEW_GET_FUN(__glewTextureParameteriv) +#define glTextureStorage1D GLEW_GET_FUN(__glewTextureStorage1D) +#define glTextureStorage2D GLEW_GET_FUN(__glewTextureStorage2D) +#define glTextureStorage2DMultisample GLEW_GET_FUN(__glewTextureStorage2DMultisample) +#define glTextureStorage3D GLEW_GET_FUN(__glewTextureStorage3D) +#define glTextureStorage3DMultisample GLEW_GET_FUN(__glewTextureStorage3DMultisample) +#define glTextureSubImage1D GLEW_GET_FUN(__glewTextureSubImage1D) +#define glTextureSubImage2D GLEW_GET_FUN(__glewTextureSubImage2D) +#define glTextureSubImage3D GLEW_GET_FUN(__glewTextureSubImage3D) +#define glTransformFeedbackBufferBase GLEW_GET_FUN(__glewTransformFeedbackBufferBase) +#define glTransformFeedbackBufferRange GLEW_GET_FUN(__glewTransformFeedbackBufferRange) +#define glUnmapNamedBuffer GLEW_GET_FUN(__glewUnmapNamedBuffer) +#define glVertexArrayAttribBinding GLEW_GET_FUN(__glewVertexArrayAttribBinding) +#define glVertexArrayAttribFormat GLEW_GET_FUN(__glewVertexArrayAttribFormat) +#define glVertexArrayAttribIFormat GLEW_GET_FUN(__glewVertexArrayAttribIFormat) +#define glVertexArrayAttribLFormat GLEW_GET_FUN(__glewVertexArrayAttribLFormat) +#define glVertexArrayBindingDivisor GLEW_GET_FUN(__glewVertexArrayBindingDivisor) +#define glVertexArrayElementBuffer GLEW_GET_FUN(__glewVertexArrayElementBuffer) +#define glVertexArrayVertexBuffer GLEW_GET_FUN(__glewVertexArrayVertexBuffer) +#define glVertexArrayVertexBuffers GLEW_GET_FUN(__glewVertexArrayVertexBuffers) + +#define GLEW_ARB_direct_state_access GLEW_GET_VAR(__GLEW_ARB_direct_state_access) + +#endif /* GL_ARB_direct_state_access */ + +/* -------------------------- GL_ARB_draw_buffers -------------------------- */ + +#ifndef GL_ARB_draw_buffers +#define GL_ARB_draw_buffers 1 + +#define GL_MAX_DRAW_BUFFERS_ARB 0x8824 +#define GL_DRAW_BUFFER0_ARB 0x8825 +#define GL_DRAW_BUFFER1_ARB 0x8826 +#define GL_DRAW_BUFFER2_ARB 0x8827 +#define GL_DRAW_BUFFER3_ARB 0x8828 +#define GL_DRAW_BUFFER4_ARB 0x8829 +#define GL_DRAW_BUFFER5_ARB 0x882A +#define GL_DRAW_BUFFER6_ARB 0x882B +#define GL_DRAW_BUFFER7_ARB 0x882C +#define GL_DRAW_BUFFER8_ARB 0x882D +#define GL_DRAW_BUFFER9_ARB 0x882E +#define GL_DRAW_BUFFER10_ARB 0x882F +#define GL_DRAW_BUFFER11_ARB 0x8830 +#define GL_DRAW_BUFFER12_ARB 0x8831 +#define GL_DRAW_BUFFER13_ARB 0x8832 +#define GL_DRAW_BUFFER14_ARB 0x8833 +#define GL_DRAW_BUFFER15_ARB 0x8834 + +typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum* bufs); + +#define glDrawBuffersARB GLEW_GET_FUN(__glewDrawBuffersARB) + +#define GLEW_ARB_draw_buffers GLEW_GET_VAR(__GLEW_ARB_draw_buffers) + +#endif /* GL_ARB_draw_buffers */ + +/* ----------------------- GL_ARB_draw_buffers_blend ----------------------- */ + +#ifndef GL_ARB_draw_buffers_blend +#define GL_ARB_draw_buffers_blend 1 + +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEIARBPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONIARBPROC) (GLuint buf, GLenum mode); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEIARBPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +typedef void (GLAPIENTRY * PFNGLBLENDFUNCIARBPROC) (GLuint buf, GLenum src, GLenum dst); + +#define glBlendEquationSeparateiARB GLEW_GET_FUN(__glewBlendEquationSeparateiARB) +#define glBlendEquationiARB GLEW_GET_FUN(__glewBlendEquationiARB) +#define glBlendFuncSeparateiARB GLEW_GET_FUN(__glewBlendFuncSeparateiARB) +#define glBlendFunciARB GLEW_GET_FUN(__glewBlendFunciARB) + +#define GLEW_ARB_draw_buffers_blend GLEW_GET_VAR(__GLEW_ARB_draw_buffers_blend) + +#endif /* GL_ARB_draw_buffers_blend */ + +/* -------------------- GL_ARB_draw_elements_base_vertex ------------------- */ + +#ifndef GL_ARB_draw_elements_base_vertex +#define GL_ARB_draw_elements_base_vertex 1 + +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLint basevertex); +typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, const GLsizei* count, GLenum type, const void *const *indices, GLsizei primcount, const GLint *basevertex); + +#define glDrawElementsBaseVertex GLEW_GET_FUN(__glewDrawElementsBaseVertex) +#define glDrawElementsInstancedBaseVertex GLEW_GET_FUN(__glewDrawElementsInstancedBaseVertex) +#define glDrawRangeElementsBaseVertex GLEW_GET_FUN(__glewDrawRangeElementsBaseVertex) +#define glMultiDrawElementsBaseVertex GLEW_GET_FUN(__glewMultiDrawElementsBaseVertex) + +#define GLEW_ARB_draw_elements_base_vertex GLEW_GET_VAR(__GLEW_ARB_draw_elements_base_vertex) + +#endif /* GL_ARB_draw_elements_base_vertex */ + +/* -------------------------- GL_ARB_draw_indirect ------------------------- */ + +#ifndef GL_ARB_draw_indirect +#define GL_ARB_draw_indirect 1 + +#define GL_DRAW_INDIRECT_BUFFER 0x8F3F +#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43 + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const void *indirect); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void *indirect); + +#define glDrawArraysIndirect GLEW_GET_FUN(__glewDrawArraysIndirect) +#define glDrawElementsIndirect GLEW_GET_FUN(__glewDrawElementsIndirect) + +#define GLEW_ARB_draw_indirect GLEW_GET_VAR(__GLEW_ARB_draw_indirect) + +#endif /* GL_ARB_draw_indirect */ + +/* ------------------------- GL_ARB_draw_instanced ------------------------- */ + +#ifndef GL_ARB_draw_instanced +#define GL_ARB_draw_instanced 1 + +#define GLEW_ARB_draw_instanced GLEW_GET_VAR(__GLEW_ARB_draw_instanced) + +#endif /* GL_ARB_draw_instanced */ + +/* ------------------------ GL_ARB_enhanced_layouts ------------------------ */ + +#ifndef GL_ARB_enhanced_layouts +#define GL_ARB_enhanced_layouts 1 + +#define GL_LOCATION_COMPONENT 0x934A +#define GL_TRANSFORM_FEEDBACK_BUFFER_INDEX 0x934B +#define GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE 0x934C + +#define GLEW_ARB_enhanced_layouts GLEW_GET_VAR(__GLEW_ARB_enhanced_layouts) + +#endif /* GL_ARB_enhanced_layouts */ + +/* -------------------- GL_ARB_explicit_attrib_location -------------------- */ + +#ifndef GL_ARB_explicit_attrib_location +#define GL_ARB_explicit_attrib_location 1 + +#define GLEW_ARB_explicit_attrib_location GLEW_GET_VAR(__GLEW_ARB_explicit_attrib_location) + +#endif /* GL_ARB_explicit_attrib_location */ + +/* -------------------- GL_ARB_explicit_uniform_location ------------------- */ + +#ifndef GL_ARB_explicit_uniform_location +#define GL_ARB_explicit_uniform_location 1 + +#define GL_MAX_UNIFORM_LOCATIONS 0x826E + +#define GLEW_ARB_explicit_uniform_location GLEW_GET_VAR(__GLEW_ARB_explicit_uniform_location) + +#endif /* GL_ARB_explicit_uniform_location */ + +/* ------------------- GL_ARB_fragment_coord_conventions ------------------- */ + +#ifndef GL_ARB_fragment_coord_conventions +#define GL_ARB_fragment_coord_conventions 1 + +#define GLEW_ARB_fragment_coord_conventions GLEW_GET_VAR(__GLEW_ARB_fragment_coord_conventions) + +#endif /* GL_ARB_fragment_coord_conventions */ + +/* --------------------- GL_ARB_fragment_layer_viewport -------------------- */ + +#ifndef GL_ARB_fragment_layer_viewport +#define GL_ARB_fragment_layer_viewport 1 + +#define GLEW_ARB_fragment_layer_viewport GLEW_GET_VAR(__GLEW_ARB_fragment_layer_viewport) + +#endif /* GL_ARB_fragment_layer_viewport */ + +/* ------------------------ GL_ARB_fragment_program ------------------------ */ + +#ifndef GL_ARB_fragment_program +#define GL_ARB_fragment_program 1 + +#define GL_FRAGMENT_PROGRAM_ARB 0x8804 +#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805 +#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806 +#define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807 +#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808 +#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809 +#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A +#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B +#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C +#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D +#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E +#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F +#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810 +#define GL_MAX_TEXTURE_COORDS_ARB 0x8871 +#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872 + +#define GLEW_ARB_fragment_program GLEW_GET_VAR(__GLEW_ARB_fragment_program) + +#endif /* GL_ARB_fragment_program */ + +/* --------------------- GL_ARB_fragment_program_shadow -------------------- */ + +#ifndef GL_ARB_fragment_program_shadow +#define GL_ARB_fragment_program_shadow 1 + +#define GLEW_ARB_fragment_program_shadow GLEW_GET_VAR(__GLEW_ARB_fragment_program_shadow) + +#endif /* GL_ARB_fragment_program_shadow */ + +/* ------------------------- GL_ARB_fragment_shader ------------------------ */ + +#ifndef GL_ARB_fragment_shader +#define GL_ARB_fragment_shader 1 + +#define GL_FRAGMENT_SHADER_ARB 0x8B30 +#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49 +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B + +#define GLEW_ARB_fragment_shader GLEW_GET_VAR(__GLEW_ARB_fragment_shader) + +#endif /* GL_ARB_fragment_shader */ + +/* -------------------- GL_ARB_fragment_shader_interlock ------------------- */ + +#ifndef GL_ARB_fragment_shader_interlock +#define GL_ARB_fragment_shader_interlock 1 + +#define GLEW_ARB_fragment_shader_interlock GLEW_GET_VAR(__GLEW_ARB_fragment_shader_interlock) + +#endif /* GL_ARB_fragment_shader_interlock */ + +/* ------------------- GL_ARB_framebuffer_no_attachments ------------------- */ + +#ifndef GL_ARB_framebuffer_no_attachments +#define GL_ARB_framebuffer_no_attachments 1 + +#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310 +#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311 +#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312 +#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313 +#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314 +#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315 +#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316 +#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317 +#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERPARAMETERIPROC) (GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) (GLuint framebuffer, GLenum pname, GLint param); + +#define glFramebufferParameteri GLEW_GET_FUN(__glewFramebufferParameteri) +#define glGetFramebufferParameteriv GLEW_GET_FUN(__glewGetFramebufferParameteriv) +#define glGetNamedFramebufferParameterivEXT GLEW_GET_FUN(__glewGetNamedFramebufferParameterivEXT) +#define glNamedFramebufferParameteriEXT GLEW_GET_FUN(__glewNamedFramebufferParameteriEXT) + +#define GLEW_ARB_framebuffer_no_attachments GLEW_GET_VAR(__GLEW_ARB_framebuffer_no_attachments) + +#endif /* GL_ARB_framebuffer_no_attachments */ + +/* ----------------------- GL_ARB_framebuffer_object ----------------------- */ + +#ifndef GL_ARB_framebuffer_object +#define GL_ARB_framebuffer_object 1 + +#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210 +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211 +#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212 +#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213 +#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214 +#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215 +#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216 +#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217 +#define GL_FRAMEBUFFER_DEFAULT 0x8218 +#define GL_FRAMEBUFFER_UNDEFINED 0x8219 +#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A +#define GL_INDEX 0x8222 +#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 +#define GL_DEPTH_STENCIL 0x84F9 +#define GL_UNSIGNED_INT_24_8 0x84FA +#define GL_DEPTH24_STENCIL8 0x88F0 +#define GL_TEXTURE_STENCIL_SIZE 0x88F1 +#define GL_UNSIGNED_NORMALIZED 0x8C17 +#define GL_SRGB 0x8C40 +#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_RENDERBUFFER_BINDING 0x8CA7 +#define GL_READ_FRAMEBUFFER 0x8CA8 +#define GL_DRAW_FRAMEBUFFER 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA +#define GL_RENDERBUFFER_SAMPLES 0x8CAB +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 +#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC +#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD +#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF +#define GL_COLOR_ATTACHMENT0 0x8CE0 +#define GL_COLOR_ATTACHMENT1 0x8CE1 +#define GL_COLOR_ATTACHMENT2 0x8CE2 +#define GL_COLOR_ATTACHMENT3 0x8CE3 +#define GL_COLOR_ATTACHMENT4 0x8CE4 +#define GL_COLOR_ATTACHMENT5 0x8CE5 +#define GL_COLOR_ATTACHMENT6 0x8CE6 +#define GL_COLOR_ATTACHMENT7 0x8CE7 +#define GL_COLOR_ATTACHMENT8 0x8CE8 +#define GL_COLOR_ATTACHMENT9 0x8CE9 +#define GL_COLOR_ATTACHMENT10 0x8CEA +#define GL_COLOR_ATTACHMENT11 0x8CEB +#define GL_COLOR_ATTACHMENT12 0x8CEC +#define GL_COLOR_ATTACHMENT13 0x8CED +#define GL_COLOR_ATTACHMENT14 0x8CEE +#define GL_COLOR_ATTACHMENT15 0x8CEF +#define GL_DEPTH_ATTACHMENT 0x8D00 +#define GL_STENCIL_ATTACHMENT 0x8D20 +#define GL_FRAMEBUFFER 0x8D40 +#define GL_RENDERBUFFER 0x8D41 +#define GL_RENDERBUFFER_WIDTH 0x8D42 +#define GL_RENDERBUFFER_HEIGHT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 +#define GL_STENCIL_INDEX1 0x8D46 +#define GL_STENCIL_INDEX4 0x8D47 +#define GL_STENCIL_INDEX8 0x8D48 +#define GL_STENCIL_INDEX16 0x8D49 +#define GL_RENDERBUFFER_RED_SIZE 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 +#define GL_MAX_SAMPLES 0x8D57 + +typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer); +typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint* framebuffers); +typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint* renderbuffers); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target,GLenum attachment, GLuint texture,GLint level,GLint layer); +typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint* framebuffers); +typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint* renderbuffers); +typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer); +typedef GLboolean (GLAPIENTRY * PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); + +#define glBindFramebuffer GLEW_GET_FUN(__glewBindFramebuffer) +#define glBindRenderbuffer GLEW_GET_FUN(__glewBindRenderbuffer) +#define glBlitFramebuffer GLEW_GET_FUN(__glewBlitFramebuffer) +#define glCheckFramebufferStatus GLEW_GET_FUN(__glewCheckFramebufferStatus) +#define glDeleteFramebuffers GLEW_GET_FUN(__glewDeleteFramebuffers) +#define glDeleteRenderbuffers GLEW_GET_FUN(__glewDeleteRenderbuffers) +#define glFramebufferRenderbuffer GLEW_GET_FUN(__glewFramebufferRenderbuffer) +#define glFramebufferTexture1D GLEW_GET_FUN(__glewFramebufferTexture1D) +#define glFramebufferTexture2D GLEW_GET_FUN(__glewFramebufferTexture2D) +#define glFramebufferTexture3D GLEW_GET_FUN(__glewFramebufferTexture3D) +#define glFramebufferTextureLayer GLEW_GET_FUN(__glewFramebufferTextureLayer) +#define glGenFramebuffers GLEW_GET_FUN(__glewGenFramebuffers) +#define glGenRenderbuffers GLEW_GET_FUN(__glewGenRenderbuffers) +#define glGenerateMipmap GLEW_GET_FUN(__glewGenerateMipmap) +#define glGetFramebufferAttachmentParameteriv GLEW_GET_FUN(__glewGetFramebufferAttachmentParameteriv) +#define glGetRenderbufferParameteriv GLEW_GET_FUN(__glewGetRenderbufferParameteriv) +#define glIsFramebuffer GLEW_GET_FUN(__glewIsFramebuffer) +#define glIsRenderbuffer GLEW_GET_FUN(__glewIsRenderbuffer) +#define glRenderbufferStorage GLEW_GET_FUN(__glewRenderbufferStorage) +#define glRenderbufferStorageMultisample GLEW_GET_FUN(__glewRenderbufferStorageMultisample) + +#define GLEW_ARB_framebuffer_object GLEW_GET_VAR(__GLEW_ARB_framebuffer_object) + +#endif /* GL_ARB_framebuffer_object */ + +/* ------------------------ GL_ARB_framebuffer_sRGB ------------------------ */ + +#ifndef GL_ARB_framebuffer_sRGB +#define GL_ARB_framebuffer_sRGB 1 + +#define GL_FRAMEBUFFER_SRGB 0x8DB9 + +#define GLEW_ARB_framebuffer_sRGB GLEW_GET_VAR(__GLEW_ARB_framebuffer_sRGB) + +#endif /* GL_ARB_framebuffer_sRGB */ + +/* ------------------------ GL_ARB_geometry_shader4 ------------------------ */ + +#ifndef GL_ARB_geometry_shader4 +#define GL_ARB_geometry_shader4 1 + +#define GL_LINES_ADJACENCY_ARB 0xA +#define GL_LINE_STRIP_ADJACENCY_ARB 0xB +#define GL_TRIANGLES_ADJACENCY_ARB 0xC +#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0xD +#define GL_PROGRAM_POINT_SIZE_ARB 0x8642 +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9 +#define GL_GEOMETRY_SHADER_ARB 0x8DD9 +#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA +#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB +#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC +#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD +#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value); + +#define glFramebufferTextureARB GLEW_GET_FUN(__glewFramebufferTextureARB) +#define glFramebufferTextureFaceARB GLEW_GET_FUN(__glewFramebufferTextureFaceARB) +#define glFramebufferTextureLayerARB GLEW_GET_FUN(__glewFramebufferTextureLayerARB) +#define glProgramParameteriARB GLEW_GET_FUN(__glewProgramParameteriARB) + +#define GLEW_ARB_geometry_shader4 GLEW_GET_VAR(__GLEW_ARB_geometry_shader4) + +#endif /* GL_ARB_geometry_shader4 */ + +/* ----------------------- GL_ARB_get_program_binary ----------------------- */ + +#ifndef GL_ARB_get_program_binary +#define GL_ARB_get_program_binary 1 + +#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257 +#define GL_PROGRAM_BINARY_LENGTH 0x8741 +#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE +#define GL_PROGRAM_BINARY_FORMATS 0x87FF + +typedef void (GLAPIENTRY * PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLenum *binaryFormat, void*binary); +typedef void (GLAPIENTRY * PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value); + +#define glGetProgramBinary GLEW_GET_FUN(__glewGetProgramBinary) +#define glProgramBinary GLEW_GET_FUN(__glewProgramBinary) +#define glProgramParameteri GLEW_GET_FUN(__glewProgramParameteri) + +#define GLEW_ARB_get_program_binary GLEW_GET_VAR(__GLEW_ARB_get_program_binary) + +#endif /* GL_ARB_get_program_binary */ + +/* ---------------------- GL_ARB_get_texture_sub_image --------------------- */ + +#ifndef GL_ARB_get_texture_sub_image +#define GL_ARB_get_texture_sub_image 1 + +typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels); +typedef void (GLAPIENTRY * PFNGLGETTEXTURESUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels); + +#define glGetCompressedTextureSubImage GLEW_GET_FUN(__glewGetCompressedTextureSubImage) +#define glGetTextureSubImage GLEW_GET_FUN(__glewGetTextureSubImage) + +#define GLEW_ARB_get_texture_sub_image GLEW_GET_VAR(__GLEW_ARB_get_texture_sub_image) + +#endif /* GL_ARB_get_texture_sub_image */ + +/* --------------------------- GL_ARB_gpu_shader5 -------------------------- */ + +#ifndef GL_ARB_gpu_shader5 +#define GL_ARB_gpu_shader5 1 + +#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F +#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A +#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B +#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C +#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D +#define GL_MAX_VERTEX_STREAMS 0x8E71 + +#define GLEW_ARB_gpu_shader5 GLEW_GET_VAR(__GLEW_ARB_gpu_shader5) + +#endif /* GL_ARB_gpu_shader5 */ + +/* ------------------------- GL_ARB_gpu_shader_fp64 ------------------------ */ + +#ifndef GL_ARB_gpu_shader_fp64 +#define GL_ARB_gpu_shader_fp64 1 + +#define GL_DOUBLE_MAT2 0x8F46 +#define GL_DOUBLE_MAT3 0x8F47 +#define GL_DOUBLE_MAT4 0x8F48 +#define GL_DOUBLE_MAT2x3 0x8F49 +#define GL_DOUBLE_MAT2x4 0x8F4A +#define GL_DOUBLE_MAT3x2 0x8F4B +#define GL_DOUBLE_MAT3x4 0x8F4C +#define GL_DOUBLE_MAT4x2 0x8F4D +#define GL_DOUBLE_MAT4x3 0x8F4E +#define GL_DOUBLE_VEC2 0x8FFC +#define GL_DOUBLE_VEC3 0x8FFD +#define GL_DOUBLE_VEC4 0x8FFE + +typedef void (GLAPIENTRY * PFNGLGETUNIFORMDVPROC) (GLuint program, GLint location, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLUNIFORM1DPROC) (GLint location, GLdouble x); +typedef void (GLAPIENTRY * PFNGLUNIFORM1DVPROC) (GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2DPROC) (GLint location, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLUNIFORM2DVPROC) (GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLUNIFORM3DVPROC) (GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4DPROC) (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLUNIFORM4DVPROC) (GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X2DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3DVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); + +#define glGetUniformdv GLEW_GET_FUN(__glewGetUniformdv) +#define glUniform1d GLEW_GET_FUN(__glewUniform1d) +#define glUniform1dv GLEW_GET_FUN(__glewUniform1dv) +#define glUniform2d GLEW_GET_FUN(__glewUniform2d) +#define glUniform2dv GLEW_GET_FUN(__glewUniform2dv) +#define glUniform3d GLEW_GET_FUN(__glewUniform3d) +#define glUniform3dv GLEW_GET_FUN(__glewUniform3dv) +#define glUniform4d GLEW_GET_FUN(__glewUniform4d) +#define glUniform4dv GLEW_GET_FUN(__glewUniform4dv) +#define glUniformMatrix2dv GLEW_GET_FUN(__glewUniformMatrix2dv) +#define glUniformMatrix2x3dv GLEW_GET_FUN(__glewUniformMatrix2x3dv) +#define glUniformMatrix2x4dv GLEW_GET_FUN(__glewUniformMatrix2x4dv) +#define glUniformMatrix3dv GLEW_GET_FUN(__glewUniformMatrix3dv) +#define glUniformMatrix3x2dv GLEW_GET_FUN(__glewUniformMatrix3x2dv) +#define glUniformMatrix3x4dv GLEW_GET_FUN(__glewUniformMatrix3x4dv) +#define glUniformMatrix4dv GLEW_GET_FUN(__glewUniformMatrix4dv) +#define glUniformMatrix4x2dv GLEW_GET_FUN(__glewUniformMatrix4x2dv) +#define glUniformMatrix4x3dv GLEW_GET_FUN(__glewUniformMatrix4x3dv) + +#define GLEW_ARB_gpu_shader_fp64 GLEW_GET_VAR(__GLEW_ARB_gpu_shader_fp64) + +#endif /* GL_ARB_gpu_shader_fp64 */ + +/* ------------------------ GL_ARB_gpu_shader_int64 ------------------------ */ + +#ifndef GL_ARB_gpu_shader_int64 +#define GL_ARB_gpu_shader_int64 1 + +#define GL_INT64_ARB 0x140E +#define GL_UNSIGNED_INT64_ARB 0x140F +#define GL_INT64_VEC2_ARB 0x8FE9 +#define GL_INT64_VEC3_ARB 0x8FEA +#define GL_INT64_VEC4_ARB 0x8FEB +#define GL_UNSIGNED_INT64_VEC2_ARB 0x8FF5 +#define GL_UNSIGNED_INT64_VEC3_ARB 0x8FF6 +#define GL_UNSIGNED_INT64_VEC4_ARB 0x8FF7 + +typedef void (GLAPIENTRY * PFNGLGETUNIFORMI64VARBPROC) (GLuint program, GLint location, GLint64* params); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMUI64VARBPROC) (GLuint program, GLint location, GLuint64* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMI64VARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint64* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMUI64VARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint64* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64ARBPROC) (GLuint program, GLint location, GLint64 x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64ARBPROC) (GLuint program, GLint location, GLuint64 x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM1I64ARBPROC) (GLint location, GLint64 x); +typedef void (GLAPIENTRY * PFNGLUNIFORM1I64VARBPROC) (GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64ARBPROC) (GLint location, GLuint64 x); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64VARBPROC) (GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2I64ARBPROC) (GLint location, GLint64 x, GLint64 y); +typedef void (GLAPIENTRY * PFNGLUNIFORM2I64VARBPROC) (GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64VARBPROC) (GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3I64ARBPROC) (GLint location, GLint64 x, GLint64 y, GLint64 z); +typedef void (GLAPIENTRY * PFNGLUNIFORM3I64VARBPROC) (GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64VARBPROC) (GLint location, GLsizei count, const GLuint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4I64ARBPROC) (GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w); +typedef void (GLAPIENTRY * PFNGLUNIFORM4I64VARBPROC) (GLint location, GLsizei count, const GLint64* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64VARBPROC) (GLint location, GLsizei count, const GLuint64* value); + +#define glGetUniformi64vARB GLEW_GET_FUN(__glewGetUniformi64vARB) +#define glGetUniformui64vARB GLEW_GET_FUN(__glewGetUniformui64vARB) +#define glGetnUniformi64vARB GLEW_GET_FUN(__glewGetnUniformi64vARB) +#define glGetnUniformui64vARB GLEW_GET_FUN(__glewGetnUniformui64vARB) +#define glProgramUniform1i64ARB GLEW_GET_FUN(__glewProgramUniform1i64ARB) +#define glProgramUniform1i64vARB GLEW_GET_FUN(__glewProgramUniform1i64vARB) +#define glProgramUniform1ui64ARB GLEW_GET_FUN(__glewProgramUniform1ui64ARB) +#define glProgramUniform1ui64vARB GLEW_GET_FUN(__glewProgramUniform1ui64vARB) +#define glProgramUniform2i64ARB GLEW_GET_FUN(__glewProgramUniform2i64ARB) +#define glProgramUniform2i64vARB GLEW_GET_FUN(__glewProgramUniform2i64vARB) +#define glProgramUniform2ui64ARB GLEW_GET_FUN(__glewProgramUniform2ui64ARB) +#define glProgramUniform2ui64vARB GLEW_GET_FUN(__glewProgramUniform2ui64vARB) +#define glProgramUniform3i64ARB GLEW_GET_FUN(__glewProgramUniform3i64ARB) +#define glProgramUniform3i64vARB GLEW_GET_FUN(__glewProgramUniform3i64vARB) +#define glProgramUniform3ui64ARB GLEW_GET_FUN(__glewProgramUniform3ui64ARB) +#define glProgramUniform3ui64vARB GLEW_GET_FUN(__glewProgramUniform3ui64vARB) +#define glProgramUniform4i64ARB GLEW_GET_FUN(__glewProgramUniform4i64ARB) +#define glProgramUniform4i64vARB GLEW_GET_FUN(__glewProgramUniform4i64vARB) +#define glProgramUniform4ui64ARB GLEW_GET_FUN(__glewProgramUniform4ui64ARB) +#define glProgramUniform4ui64vARB GLEW_GET_FUN(__glewProgramUniform4ui64vARB) +#define glUniform1i64ARB GLEW_GET_FUN(__glewUniform1i64ARB) +#define glUniform1i64vARB GLEW_GET_FUN(__glewUniform1i64vARB) +#define glUniform1ui64ARB GLEW_GET_FUN(__glewUniform1ui64ARB) +#define glUniform1ui64vARB GLEW_GET_FUN(__glewUniform1ui64vARB) +#define glUniform2i64ARB GLEW_GET_FUN(__glewUniform2i64ARB) +#define glUniform2i64vARB GLEW_GET_FUN(__glewUniform2i64vARB) +#define glUniform2ui64ARB GLEW_GET_FUN(__glewUniform2ui64ARB) +#define glUniform2ui64vARB GLEW_GET_FUN(__glewUniform2ui64vARB) +#define glUniform3i64ARB GLEW_GET_FUN(__glewUniform3i64ARB) +#define glUniform3i64vARB GLEW_GET_FUN(__glewUniform3i64vARB) +#define glUniform3ui64ARB GLEW_GET_FUN(__glewUniform3ui64ARB) +#define glUniform3ui64vARB GLEW_GET_FUN(__glewUniform3ui64vARB) +#define glUniform4i64ARB GLEW_GET_FUN(__glewUniform4i64ARB) +#define glUniform4i64vARB GLEW_GET_FUN(__glewUniform4i64vARB) +#define glUniform4ui64ARB GLEW_GET_FUN(__glewUniform4ui64ARB) +#define glUniform4ui64vARB GLEW_GET_FUN(__glewUniform4ui64vARB) + +#define GLEW_ARB_gpu_shader_int64 GLEW_GET_VAR(__GLEW_ARB_gpu_shader_int64) + +#endif /* GL_ARB_gpu_shader_int64 */ + +/* ------------------------ GL_ARB_half_float_pixel ------------------------ */ + +#ifndef GL_ARB_half_float_pixel +#define GL_ARB_half_float_pixel 1 + +#define GL_HALF_FLOAT_ARB 0x140B + +#define GLEW_ARB_half_float_pixel GLEW_GET_VAR(__GLEW_ARB_half_float_pixel) + +#endif /* GL_ARB_half_float_pixel */ + +/* ------------------------ GL_ARB_half_float_vertex ----------------------- */ + +#ifndef GL_ARB_half_float_vertex +#define GL_ARB_half_float_vertex 1 + +#define GL_HALF_FLOAT 0x140B + +#define GLEW_ARB_half_float_vertex GLEW_GET_VAR(__GLEW_ARB_half_float_vertex) + +#endif /* GL_ARB_half_float_vertex */ + +/* ----------------------------- GL_ARB_imaging ---------------------------- */ + +#ifndef GL_ARB_imaging +#define GL_ARB_imaging 1 + +#define GL_CONSTANT_COLOR 0x8001 +#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 +#define GL_CONSTANT_ALPHA 0x8003 +#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 +#define GL_BLEND_COLOR 0x8005 +#define GL_FUNC_ADD 0x8006 +#define GL_MIN 0x8007 +#define GL_MAX 0x8008 +#define GL_BLEND_EQUATION 0x8009 +#define GL_FUNC_SUBTRACT 0x800A +#define GL_FUNC_REVERSE_SUBTRACT 0x800B +#define GL_CONVOLUTION_1D 0x8010 +#define GL_CONVOLUTION_2D 0x8011 +#define GL_SEPARABLE_2D 0x8012 +#define GL_CONVOLUTION_BORDER_MODE 0x8013 +#define GL_CONVOLUTION_FILTER_SCALE 0x8014 +#define GL_CONVOLUTION_FILTER_BIAS 0x8015 +#define GL_REDUCE 0x8016 +#define GL_CONVOLUTION_FORMAT 0x8017 +#define GL_CONVOLUTION_WIDTH 0x8018 +#define GL_CONVOLUTION_HEIGHT 0x8019 +#define GL_MAX_CONVOLUTION_WIDTH 0x801A +#define GL_MAX_CONVOLUTION_HEIGHT 0x801B +#define GL_POST_CONVOLUTION_RED_SCALE 0x801C +#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D +#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E +#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F +#define GL_POST_CONVOLUTION_RED_BIAS 0x8020 +#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021 +#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022 +#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023 +#define GL_HISTOGRAM 0x8024 +#define GL_PROXY_HISTOGRAM 0x8025 +#define GL_HISTOGRAM_WIDTH 0x8026 +#define GL_HISTOGRAM_FORMAT 0x8027 +#define GL_HISTOGRAM_RED_SIZE 0x8028 +#define GL_HISTOGRAM_GREEN_SIZE 0x8029 +#define GL_HISTOGRAM_BLUE_SIZE 0x802A +#define GL_HISTOGRAM_ALPHA_SIZE 0x802B +#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C +#define GL_HISTOGRAM_SINK 0x802D +#define GL_MINMAX 0x802E +#define GL_MINMAX_FORMAT 0x802F +#define GL_MINMAX_SINK 0x8030 +#define GL_TABLE_TOO_LARGE 0x8031 +#define GL_COLOR_MATRIX 0x80B1 +#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2 +#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3 +#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4 +#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5 +#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6 +#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7 +#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8 +#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9 +#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA +#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB +#define GL_COLOR_TABLE 0x80D0 +#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1 +#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2 +#define GL_PROXY_COLOR_TABLE 0x80D3 +#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4 +#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5 +#define GL_COLOR_TABLE_SCALE 0x80D6 +#define GL_COLOR_TABLE_BIAS 0x80D7 +#define GL_COLOR_TABLE_FORMAT 0x80D8 +#define GL_COLOR_TABLE_WIDTH 0x80D9 +#define GL_COLOR_TABLE_RED_SIZE 0x80DA +#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB +#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC +#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD +#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE +#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF +#define GL_IGNORE_BORDER 0x8150 +#define GL_CONSTANT_BORDER 0x8151 +#define GL_WRAP_BORDER 0x8152 +#define GL_REPLICATE_BORDER 0x8153 +#define GL_CONVOLUTION_BORDER_COLOR 0x8154 + +typedef void (GLAPIENTRY * PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table); +typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params); +typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (GLAPIENTRY * PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, void *table); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, void *image); +typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values); +typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (GLAPIENTRY * PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum types, void *values); +typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (GLAPIENTRY * PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, void *row, void *column, void *span); +typedef void (GLAPIENTRY * PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); +typedef void (GLAPIENTRY * PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink); +typedef void (GLAPIENTRY * PFNGLRESETHISTOGRAMPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLRESETMINMAXPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column); + +#define glColorSubTable GLEW_GET_FUN(__glewColorSubTable) +#define glColorTable GLEW_GET_FUN(__glewColorTable) +#define glColorTableParameterfv GLEW_GET_FUN(__glewColorTableParameterfv) +#define glColorTableParameteriv GLEW_GET_FUN(__glewColorTableParameteriv) +#define glConvolutionFilter1D GLEW_GET_FUN(__glewConvolutionFilter1D) +#define glConvolutionFilter2D GLEW_GET_FUN(__glewConvolutionFilter2D) +#define glConvolutionParameterf GLEW_GET_FUN(__glewConvolutionParameterf) +#define glConvolutionParameterfv GLEW_GET_FUN(__glewConvolutionParameterfv) +#define glConvolutionParameteri GLEW_GET_FUN(__glewConvolutionParameteri) +#define glConvolutionParameteriv GLEW_GET_FUN(__glewConvolutionParameteriv) +#define glCopyColorSubTable GLEW_GET_FUN(__glewCopyColorSubTable) +#define glCopyColorTable GLEW_GET_FUN(__glewCopyColorTable) +#define glCopyConvolutionFilter1D GLEW_GET_FUN(__glewCopyConvolutionFilter1D) +#define glCopyConvolutionFilter2D GLEW_GET_FUN(__glewCopyConvolutionFilter2D) +#define glGetColorTable GLEW_GET_FUN(__glewGetColorTable) +#define glGetColorTableParameterfv GLEW_GET_FUN(__glewGetColorTableParameterfv) +#define glGetColorTableParameteriv GLEW_GET_FUN(__glewGetColorTableParameteriv) +#define glGetConvolutionFilter GLEW_GET_FUN(__glewGetConvolutionFilter) +#define glGetConvolutionParameterfv GLEW_GET_FUN(__glewGetConvolutionParameterfv) +#define glGetConvolutionParameteriv GLEW_GET_FUN(__glewGetConvolutionParameteriv) +#define glGetHistogram GLEW_GET_FUN(__glewGetHistogram) +#define glGetHistogramParameterfv GLEW_GET_FUN(__glewGetHistogramParameterfv) +#define glGetHistogramParameteriv GLEW_GET_FUN(__glewGetHistogramParameteriv) +#define glGetMinmax GLEW_GET_FUN(__glewGetMinmax) +#define glGetMinmaxParameterfv GLEW_GET_FUN(__glewGetMinmaxParameterfv) +#define glGetMinmaxParameteriv GLEW_GET_FUN(__glewGetMinmaxParameteriv) +#define glGetSeparableFilter GLEW_GET_FUN(__glewGetSeparableFilter) +#define glHistogram GLEW_GET_FUN(__glewHistogram) +#define glMinmax GLEW_GET_FUN(__glewMinmax) +#define glResetHistogram GLEW_GET_FUN(__glewResetHistogram) +#define glResetMinmax GLEW_GET_FUN(__glewResetMinmax) +#define glSeparableFilter2D GLEW_GET_FUN(__glewSeparableFilter2D) + +#define GLEW_ARB_imaging GLEW_GET_VAR(__GLEW_ARB_imaging) + +#endif /* GL_ARB_imaging */ + +/* ----------------------- GL_ARB_indirect_parameters ---------------------- */ + +#ifndef GL_ARB_indirect_parameters +#define GL_ARB_indirect_parameters 1 + +#define GL_PARAMETER_BUFFER_ARB 0x80EE +#define GL_PARAMETER_BUFFER_BINDING_ARB 0x80EF + +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC) (GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC) (GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); + +#define glMultiDrawArraysIndirectCountARB GLEW_GET_FUN(__glewMultiDrawArraysIndirectCountARB) +#define glMultiDrawElementsIndirectCountARB GLEW_GET_FUN(__glewMultiDrawElementsIndirectCountARB) + +#define GLEW_ARB_indirect_parameters GLEW_GET_VAR(__GLEW_ARB_indirect_parameters) + +#endif /* GL_ARB_indirect_parameters */ + +/* ------------------------ GL_ARB_instanced_arrays ------------------------ */ + +#ifndef GL_ARB_instanced_arrays +#define GL_ARB_instanced_arrays 1 + +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor); + +#define glDrawArraysInstancedARB GLEW_GET_FUN(__glewDrawArraysInstancedARB) +#define glDrawElementsInstancedARB GLEW_GET_FUN(__glewDrawElementsInstancedARB) +#define glVertexAttribDivisorARB GLEW_GET_FUN(__glewVertexAttribDivisorARB) + +#define GLEW_ARB_instanced_arrays GLEW_GET_VAR(__GLEW_ARB_instanced_arrays) + +#endif /* GL_ARB_instanced_arrays */ + +/* ---------------------- GL_ARB_internalformat_query ---------------------- */ + +#ifndef GL_ARB_internalformat_query +#define GL_ARB_internalformat_query 1 + +#define GL_NUM_SAMPLE_COUNTS 0x9380 + +typedef void (GLAPIENTRY * PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params); + +#define glGetInternalformativ GLEW_GET_FUN(__glewGetInternalformativ) + +#define GLEW_ARB_internalformat_query GLEW_GET_VAR(__GLEW_ARB_internalformat_query) + +#endif /* GL_ARB_internalformat_query */ + +/* ---------------------- GL_ARB_internalformat_query2 --------------------- */ + +#ifndef GL_ARB_internalformat_query2 +#define GL_ARB_internalformat_query2 1 + +#define GL_INTERNALFORMAT_SUPPORTED 0x826F +#define GL_INTERNALFORMAT_PREFERRED 0x8270 +#define GL_INTERNALFORMAT_RED_SIZE 0x8271 +#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272 +#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273 +#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274 +#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275 +#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276 +#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277 +#define GL_INTERNALFORMAT_RED_TYPE 0x8278 +#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279 +#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A +#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B +#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C +#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D +#define GL_MAX_WIDTH 0x827E +#define GL_MAX_HEIGHT 0x827F +#define GL_MAX_DEPTH 0x8280 +#define GL_MAX_LAYERS 0x8281 +#define GL_MAX_COMBINED_DIMENSIONS 0x8282 +#define GL_COLOR_COMPONENTS 0x8283 +#define GL_DEPTH_COMPONENTS 0x8284 +#define GL_STENCIL_COMPONENTS 0x8285 +#define GL_COLOR_RENDERABLE 0x8286 +#define GL_DEPTH_RENDERABLE 0x8287 +#define GL_STENCIL_RENDERABLE 0x8288 +#define GL_FRAMEBUFFER_RENDERABLE 0x8289 +#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A +#define GL_FRAMEBUFFER_BLEND 0x828B +#define GL_READ_PIXELS 0x828C +#define GL_READ_PIXELS_FORMAT 0x828D +#define GL_READ_PIXELS_TYPE 0x828E +#define GL_TEXTURE_IMAGE_FORMAT 0x828F +#define GL_TEXTURE_IMAGE_TYPE 0x8290 +#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291 +#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292 +#define GL_MIPMAP 0x8293 +#define GL_MANUAL_GENERATE_MIPMAP 0x8294 +#define GL_AUTO_GENERATE_MIPMAP 0x8295 +#define GL_COLOR_ENCODING 0x8296 +#define GL_SRGB_READ 0x8297 +#define GL_SRGB_WRITE 0x8298 +#define GL_SRGB_DECODE_ARB 0x8299 +#define GL_FILTER 0x829A +#define GL_VERTEX_TEXTURE 0x829B +#define GL_TESS_CONTROL_TEXTURE 0x829C +#define GL_TESS_EVALUATION_TEXTURE 0x829D +#define GL_GEOMETRY_TEXTURE 0x829E +#define GL_FRAGMENT_TEXTURE 0x829F +#define GL_COMPUTE_TEXTURE 0x82A0 +#define GL_TEXTURE_SHADOW 0x82A1 +#define GL_TEXTURE_GATHER 0x82A2 +#define GL_TEXTURE_GATHER_SHADOW 0x82A3 +#define GL_SHADER_IMAGE_LOAD 0x82A4 +#define GL_SHADER_IMAGE_STORE 0x82A5 +#define GL_SHADER_IMAGE_ATOMIC 0x82A6 +#define GL_IMAGE_TEXEL_SIZE 0x82A7 +#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8 +#define GL_IMAGE_PIXEL_FORMAT 0x82A9 +#define GL_IMAGE_PIXEL_TYPE 0x82AA +#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC +#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD +#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE +#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF +#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1 +#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2 +#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3 +#define GL_CLEAR_BUFFER 0x82B4 +#define GL_TEXTURE_VIEW 0x82B5 +#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6 +#define GL_FULL_SUPPORT 0x82B7 +#define GL_CAVEAT_SUPPORT 0x82B8 +#define GL_IMAGE_CLASS_4_X_32 0x82B9 +#define GL_IMAGE_CLASS_2_X_32 0x82BA +#define GL_IMAGE_CLASS_1_X_32 0x82BB +#define GL_IMAGE_CLASS_4_X_16 0x82BC +#define GL_IMAGE_CLASS_2_X_16 0x82BD +#define GL_IMAGE_CLASS_1_X_16 0x82BE +#define GL_IMAGE_CLASS_4_X_8 0x82BF +#define GL_IMAGE_CLASS_2_X_8 0x82C0 +#define GL_IMAGE_CLASS_1_X_8 0x82C1 +#define GL_IMAGE_CLASS_11_11_10 0x82C2 +#define GL_IMAGE_CLASS_10_10_10_2 0x82C3 +#define GL_VIEW_CLASS_128_BITS 0x82C4 +#define GL_VIEW_CLASS_96_BITS 0x82C5 +#define GL_VIEW_CLASS_64_BITS 0x82C6 +#define GL_VIEW_CLASS_48_BITS 0x82C7 +#define GL_VIEW_CLASS_32_BITS 0x82C8 +#define GL_VIEW_CLASS_24_BITS 0x82C9 +#define GL_VIEW_CLASS_16_BITS 0x82CA +#define GL_VIEW_CLASS_8_BITS 0x82CB +#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC +#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD +#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE +#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF +#define GL_VIEW_CLASS_RGTC1_RED 0x82D0 +#define GL_VIEW_CLASS_RGTC2_RG 0x82D1 +#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2 +#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3 + +typedef void (GLAPIENTRY * PFNGLGETINTERNALFORMATI64VPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64* params); + +#define glGetInternalformati64v GLEW_GET_FUN(__glewGetInternalformati64v) + +#define GLEW_ARB_internalformat_query2 GLEW_GET_VAR(__GLEW_ARB_internalformat_query2) + +#endif /* GL_ARB_internalformat_query2 */ + +/* ----------------------- GL_ARB_invalidate_subdata ----------------------- */ + +#ifndef GL_ARB_invalidate_subdata +#define GL_ARB_invalidate_subdata 1 + +typedef void (GLAPIENTRY * PFNGLINVALIDATEBUFFERDATAPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLINVALIDATEBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); +typedef void (GLAPIENTRY * PFNGLINVALIDATEFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum* attachments); +typedef void (GLAPIENTRY * PFNGLINVALIDATESUBFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLINVALIDATETEXIMAGEPROC) (GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLINVALIDATETEXSUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); + +#define glInvalidateBufferData GLEW_GET_FUN(__glewInvalidateBufferData) +#define glInvalidateBufferSubData GLEW_GET_FUN(__glewInvalidateBufferSubData) +#define glInvalidateFramebuffer GLEW_GET_FUN(__glewInvalidateFramebuffer) +#define glInvalidateSubFramebuffer GLEW_GET_FUN(__glewInvalidateSubFramebuffer) +#define glInvalidateTexImage GLEW_GET_FUN(__glewInvalidateTexImage) +#define glInvalidateTexSubImage GLEW_GET_FUN(__glewInvalidateTexSubImage) + +#define GLEW_ARB_invalidate_subdata GLEW_GET_VAR(__GLEW_ARB_invalidate_subdata) + +#endif /* GL_ARB_invalidate_subdata */ + +/* ---------------------- GL_ARB_map_buffer_alignment ---------------------- */ + +#ifndef GL_ARB_map_buffer_alignment +#define GL_ARB_map_buffer_alignment 1 + +#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC + +#define GLEW_ARB_map_buffer_alignment GLEW_GET_VAR(__GLEW_ARB_map_buffer_alignment) + +#endif /* GL_ARB_map_buffer_alignment */ + +/* ------------------------ GL_ARB_map_buffer_range ------------------------ */ + +#ifndef GL_ARB_map_buffer_range +#define GL_ARB_map_buffer_range 1 + +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004 +#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008 +#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010 +#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 + +typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length); +typedef void * (GLAPIENTRY * PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); + +#define glFlushMappedBufferRange GLEW_GET_FUN(__glewFlushMappedBufferRange) +#define glMapBufferRange GLEW_GET_FUN(__glewMapBufferRange) + +#define GLEW_ARB_map_buffer_range GLEW_GET_VAR(__GLEW_ARB_map_buffer_range) + +#endif /* GL_ARB_map_buffer_range */ + +/* ------------------------- GL_ARB_matrix_palette ------------------------- */ + +#ifndef GL_ARB_matrix_palette +#define GL_ARB_matrix_palette 1 + +#define GL_MATRIX_PALETTE_ARB 0x8840 +#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841 +#define GL_MAX_PALETTE_MATRICES_ARB 0x8842 +#define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843 +#define GL_MATRIX_INDEX_ARRAY_ARB 0x8844 +#define GL_CURRENT_MATRIX_INDEX_ARB 0x8845 +#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846 +#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847 +#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848 +#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849 + +typedef void (GLAPIENTRY * PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index); +typedef void (GLAPIENTRY * PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, void *pointer); +typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUBVARBPROC) (GLint size, GLubyte *indices); +typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUIVARBPROC) (GLint size, GLuint *indices); +typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUSVARBPROC) (GLint size, GLushort *indices); + +#define glCurrentPaletteMatrixARB GLEW_GET_FUN(__glewCurrentPaletteMatrixARB) +#define glMatrixIndexPointerARB GLEW_GET_FUN(__glewMatrixIndexPointerARB) +#define glMatrixIndexubvARB GLEW_GET_FUN(__glewMatrixIndexubvARB) +#define glMatrixIndexuivARB GLEW_GET_FUN(__glewMatrixIndexuivARB) +#define glMatrixIndexusvARB GLEW_GET_FUN(__glewMatrixIndexusvARB) + +#define GLEW_ARB_matrix_palette GLEW_GET_VAR(__GLEW_ARB_matrix_palette) + +#endif /* GL_ARB_matrix_palette */ + +/* --------------------------- GL_ARB_multi_bind --------------------------- */ + +#ifndef GL_ARB_multi_bind +#define GL_ARB_multi_bind 1 + +typedef void (GLAPIENTRY * PFNGLBINDBUFFERSBASEPROC) (GLenum target, GLuint first, GLsizei count, const GLuint* buffers); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERSRANGEPROC) (GLenum target, GLuint first, GLsizei count, const GLuint* buffers, const GLintptr *offsets, const GLsizeiptr *sizes); +typedef void (GLAPIENTRY * PFNGLBINDIMAGETEXTURESPROC) (GLuint first, GLsizei count, const GLuint* textures); +typedef void (GLAPIENTRY * PFNGLBINDSAMPLERSPROC) (GLuint first, GLsizei count, const GLuint* samplers); +typedef void (GLAPIENTRY * PFNGLBINDTEXTURESPROC) (GLuint first, GLsizei count, const GLuint* textures); +typedef void (GLAPIENTRY * PFNGLBINDVERTEXBUFFERSPROC) (GLuint first, GLsizei count, const GLuint* buffers, const GLintptr *offsets, const GLsizei *strides); + +#define glBindBuffersBase GLEW_GET_FUN(__glewBindBuffersBase) +#define glBindBuffersRange GLEW_GET_FUN(__glewBindBuffersRange) +#define glBindImageTextures GLEW_GET_FUN(__glewBindImageTextures) +#define glBindSamplers GLEW_GET_FUN(__glewBindSamplers) +#define glBindTextures GLEW_GET_FUN(__glewBindTextures) +#define glBindVertexBuffers GLEW_GET_FUN(__glewBindVertexBuffers) + +#define GLEW_ARB_multi_bind GLEW_GET_VAR(__GLEW_ARB_multi_bind) + +#endif /* GL_ARB_multi_bind */ + +/* ----------------------- GL_ARB_multi_draw_indirect ---------------------- */ + +#ifndef GL_ARB_multi_draw_indirect +#define GL_ARB_multi_draw_indirect 1 + +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTPROC) (GLenum mode, const void *indirect, GLsizei primcount, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei primcount, GLsizei stride); + +#define glMultiDrawArraysIndirect GLEW_GET_FUN(__glewMultiDrawArraysIndirect) +#define glMultiDrawElementsIndirect GLEW_GET_FUN(__glewMultiDrawElementsIndirect) + +#define GLEW_ARB_multi_draw_indirect GLEW_GET_VAR(__GLEW_ARB_multi_draw_indirect) + +#endif /* GL_ARB_multi_draw_indirect */ + +/* --------------------------- GL_ARB_multisample -------------------------- */ + +#ifndef GL_ARB_multisample +#define GL_ARB_multisample 1 + +#define GL_MULTISAMPLE_ARB 0x809D +#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F +#define GL_SAMPLE_COVERAGE_ARB 0x80A0 +#define GL_SAMPLE_BUFFERS_ARB 0x80A8 +#define GL_SAMPLES_ARB 0x80A9 +#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA +#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB +#define GL_MULTISAMPLE_BIT_ARB 0x20000000 + +typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert); + +#define glSampleCoverageARB GLEW_GET_FUN(__glewSampleCoverageARB) + +#define GLEW_ARB_multisample GLEW_GET_VAR(__GLEW_ARB_multisample) + +#endif /* GL_ARB_multisample */ + +/* -------------------------- GL_ARB_multitexture -------------------------- */ + +#ifndef GL_ARB_multitexture +#define GL_ARB_multitexture 1 + +#define GL_TEXTURE0_ARB 0x84C0 +#define GL_TEXTURE1_ARB 0x84C1 +#define GL_TEXTURE2_ARB 0x84C2 +#define GL_TEXTURE3_ARB 0x84C3 +#define GL_TEXTURE4_ARB 0x84C4 +#define GL_TEXTURE5_ARB 0x84C5 +#define GL_TEXTURE6_ARB 0x84C6 +#define GL_TEXTURE7_ARB 0x84C7 +#define GL_TEXTURE8_ARB 0x84C8 +#define GL_TEXTURE9_ARB 0x84C9 +#define GL_TEXTURE10_ARB 0x84CA +#define GL_TEXTURE11_ARB 0x84CB +#define GL_TEXTURE12_ARB 0x84CC +#define GL_TEXTURE13_ARB 0x84CD +#define GL_TEXTURE14_ARB 0x84CE +#define GL_TEXTURE15_ARB 0x84CF +#define GL_TEXTURE16_ARB 0x84D0 +#define GL_TEXTURE17_ARB 0x84D1 +#define GL_TEXTURE18_ARB 0x84D2 +#define GL_TEXTURE19_ARB 0x84D3 +#define GL_TEXTURE20_ARB 0x84D4 +#define GL_TEXTURE21_ARB 0x84D5 +#define GL_TEXTURE22_ARB 0x84D6 +#define GL_TEXTURE23_ARB 0x84D7 +#define GL_TEXTURE24_ARB 0x84D8 +#define GL_TEXTURE25_ARB 0x84D9 +#define GL_TEXTURE26_ARB 0x84DA +#define GL_TEXTURE27_ARB 0x84DB +#define GL_TEXTURE28_ARB 0x84DC +#define GL_TEXTURE29_ARB 0x84DD +#define GL_TEXTURE30_ARB 0x84DE +#define GL_TEXTURE31_ARB 0x84DF +#define GL_ACTIVE_TEXTURE_ARB 0x84E0 +#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1 +#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2 + +typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture); +typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v); + +#define glActiveTextureARB GLEW_GET_FUN(__glewActiveTextureARB) +#define glClientActiveTextureARB GLEW_GET_FUN(__glewClientActiveTextureARB) +#define glMultiTexCoord1dARB GLEW_GET_FUN(__glewMultiTexCoord1dARB) +#define glMultiTexCoord1dvARB GLEW_GET_FUN(__glewMultiTexCoord1dvARB) +#define glMultiTexCoord1fARB GLEW_GET_FUN(__glewMultiTexCoord1fARB) +#define glMultiTexCoord1fvARB GLEW_GET_FUN(__glewMultiTexCoord1fvARB) +#define glMultiTexCoord1iARB GLEW_GET_FUN(__glewMultiTexCoord1iARB) +#define glMultiTexCoord1ivARB GLEW_GET_FUN(__glewMultiTexCoord1ivARB) +#define glMultiTexCoord1sARB GLEW_GET_FUN(__glewMultiTexCoord1sARB) +#define glMultiTexCoord1svARB GLEW_GET_FUN(__glewMultiTexCoord1svARB) +#define glMultiTexCoord2dARB GLEW_GET_FUN(__glewMultiTexCoord2dARB) +#define glMultiTexCoord2dvARB GLEW_GET_FUN(__glewMultiTexCoord2dvARB) +#define glMultiTexCoord2fARB GLEW_GET_FUN(__glewMultiTexCoord2fARB) +#define glMultiTexCoord2fvARB GLEW_GET_FUN(__glewMultiTexCoord2fvARB) +#define glMultiTexCoord2iARB GLEW_GET_FUN(__glewMultiTexCoord2iARB) +#define glMultiTexCoord2ivARB GLEW_GET_FUN(__glewMultiTexCoord2ivARB) +#define glMultiTexCoord2sARB GLEW_GET_FUN(__glewMultiTexCoord2sARB) +#define glMultiTexCoord2svARB GLEW_GET_FUN(__glewMultiTexCoord2svARB) +#define glMultiTexCoord3dARB GLEW_GET_FUN(__glewMultiTexCoord3dARB) +#define glMultiTexCoord3dvARB GLEW_GET_FUN(__glewMultiTexCoord3dvARB) +#define glMultiTexCoord3fARB GLEW_GET_FUN(__glewMultiTexCoord3fARB) +#define glMultiTexCoord3fvARB GLEW_GET_FUN(__glewMultiTexCoord3fvARB) +#define glMultiTexCoord3iARB GLEW_GET_FUN(__glewMultiTexCoord3iARB) +#define glMultiTexCoord3ivARB GLEW_GET_FUN(__glewMultiTexCoord3ivARB) +#define glMultiTexCoord3sARB GLEW_GET_FUN(__glewMultiTexCoord3sARB) +#define glMultiTexCoord3svARB GLEW_GET_FUN(__glewMultiTexCoord3svARB) +#define glMultiTexCoord4dARB GLEW_GET_FUN(__glewMultiTexCoord4dARB) +#define glMultiTexCoord4dvARB GLEW_GET_FUN(__glewMultiTexCoord4dvARB) +#define glMultiTexCoord4fARB GLEW_GET_FUN(__glewMultiTexCoord4fARB) +#define glMultiTexCoord4fvARB GLEW_GET_FUN(__glewMultiTexCoord4fvARB) +#define glMultiTexCoord4iARB GLEW_GET_FUN(__glewMultiTexCoord4iARB) +#define glMultiTexCoord4ivARB GLEW_GET_FUN(__glewMultiTexCoord4ivARB) +#define glMultiTexCoord4sARB GLEW_GET_FUN(__glewMultiTexCoord4sARB) +#define glMultiTexCoord4svARB GLEW_GET_FUN(__glewMultiTexCoord4svARB) + +#define GLEW_ARB_multitexture GLEW_GET_VAR(__GLEW_ARB_multitexture) + +#endif /* GL_ARB_multitexture */ + +/* ------------------------- GL_ARB_occlusion_query ------------------------ */ + +#ifndef GL_ARB_occlusion_query +#define GL_ARB_occlusion_query 1 + +#define GL_QUERY_COUNTER_BITS_ARB 0x8864 +#define GL_CURRENT_QUERY_ARB 0x8865 +#define GL_QUERY_RESULT_ARB 0x8866 +#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867 +#define GL_SAMPLES_PASSED_ARB 0x8914 + +typedef void (GLAPIENTRY * PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLENDQUERYARBPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISQUERYARBPROC) (GLuint id); + +#define glBeginQueryARB GLEW_GET_FUN(__glewBeginQueryARB) +#define glDeleteQueriesARB GLEW_GET_FUN(__glewDeleteQueriesARB) +#define glEndQueryARB GLEW_GET_FUN(__glewEndQueryARB) +#define glGenQueriesARB GLEW_GET_FUN(__glewGenQueriesARB) +#define glGetQueryObjectivARB GLEW_GET_FUN(__glewGetQueryObjectivARB) +#define glGetQueryObjectuivARB GLEW_GET_FUN(__glewGetQueryObjectuivARB) +#define glGetQueryivARB GLEW_GET_FUN(__glewGetQueryivARB) +#define glIsQueryARB GLEW_GET_FUN(__glewIsQueryARB) + +#define GLEW_ARB_occlusion_query GLEW_GET_VAR(__GLEW_ARB_occlusion_query) + +#endif /* GL_ARB_occlusion_query */ + +/* ------------------------ GL_ARB_occlusion_query2 ------------------------ */ + +#ifndef GL_ARB_occlusion_query2 +#define GL_ARB_occlusion_query2 1 + +#define GL_ANY_SAMPLES_PASSED 0x8C2F + +#define GLEW_ARB_occlusion_query2 GLEW_GET_VAR(__GLEW_ARB_occlusion_query2) + +#endif /* GL_ARB_occlusion_query2 */ + +/* --------------------- GL_ARB_parallel_shader_compile -------------------- */ + +#ifndef GL_ARB_parallel_shader_compile +#define GL_ARB_parallel_shader_compile 1 + +#define GL_MAX_SHADER_COMPILER_THREADS_ARB 0x91B0 +#define GL_COMPLETION_STATUS_ARB 0x91B1 + +typedef void (GLAPIENTRY * PFNGLMAXSHADERCOMPILERTHREADSARBPROC) (GLuint count); + +#define glMaxShaderCompilerThreadsARB GLEW_GET_FUN(__glewMaxShaderCompilerThreadsARB) + +#define GLEW_ARB_parallel_shader_compile GLEW_GET_VAR(__GLEW_ARB_parallel_shader_compile) + +#endif /* GL_ARB_parallel_shader_compile */ + +/* -------------------- GL_ARB_pipeline_statistics_query ------------------- */ + +#ifndef GL_ARB_pipeline_statistics_query +#define GL_ARB_pipeline_statistics_query 1 + +#define GL_VERTICES_SUBMITTED_ARB 0x82EE +#define GL_PRIMITIVES_SUBMITTED_ARB 0x82EF +#define GL_VERTEX_SHADER_INVOCATIONS_ARB 0x82F0 +#define GL_TESS_CONTROL_SHADER_PATCHES_ARB 0x82F1 +#define GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB 0x82F2 +#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB 0x82F3 +#define GL_FRAGMENT_SHADER_INVOCATIONS_ARB 0x82F4 +#define GL_COMPUTE_SHADER_INVOCATIONS_ARB 0x82F5 +#define GL_CLIPPING_INPUT_PRIMITIVES_ARB 0x82F6 +#define GL_CLIPPING_OUTPUT_PRIMITIVES_ARB 0x82F7 +#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F + +#define GLEW_ARB_pipeline_statistics_query GLEW_GET_VAR(__GLEW_ARB_pipeline_statistics_query) + +#endif /* GL_ARB_pipeline_statistics_query */ + +/* ----------------------- GL_ARB_pixel_buffer_object ---------------------- */ + +#ifndef GL_ARB_pixel_buffer_object +#define GL_ARB_pixel_buffer_object 1 + +#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB +#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF + +#define GLEW_ARB_pixel_buffer_object GLEW_GET_VAR(__GLEW_ARB_pixel_buffer_object) + +#endif /* GL_ARB_pixel_buffer_object */ + +/* ------------------------ GL_ARB_point_parameters ------------------------ */ + +#ifndef GL_ARB_point_parameters +#define GL_ARB_point_parameters 1 + +#define GL_POINT_SIZE_MIN_ARB 0x8126 +#define GL_POINT_SIZE_MAX_ARB 0x8127 +#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128 +#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129 + +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat* params); + +#define glPointParameterfARB GLEW_GET_FUN(__glewPointParameterfARB) +#define glPointParameterfvARB GLEW_GET_FUN(__glewPointParameterfvARB) + +#define GLEW_ARB_point_parameters GLEW_GET_VAR(__GLEW_ARB_point_parameters) + +#endif /* GL_ARB_point_parameters */ + +/* -------------------------- GL_ARB_point_sprite -------------------------- */ + +#ifndef GL_ARB_point_sprite +#define GL_ARB_point_sprite 1 + +#define GL_POINT_SPRITE_ARB 0x8861 +#define GL_COORD_REPLACE_ARB 0x8862 + +#define GLEW_ARB_point_sprite GLEW_GET_VAR(__GLEW_ARB_point_sprite) + +#endif /* GL_ARB_point_sprite */ + +/* ----------------------- GL_ARB_post_depth_coverage ---------------------- */ + +#ifndef GL_ARB_post_depth_coverage +#define GL_ARB_post_depth_coverage 1 + +#define GLEW_ARB_post_depth_coverage GLEW_GET_VAR(__GLEW_ARB_post_depth_coverage) + +#endif /* GL_ARB_post_depth_coverage */ + +/* --------------------- GL_ARB_program_interface_query -------------------- */ + +#ifndef GL_ARB_program_interface_query +#define GL_ARB_program_interface_query 1 + +#define GL_UNIFORM 0x92E1 +#define GL_UNIFORM_BLOCK 0x92E2 +#define GL_PROGRAM_INPUT 0x92E3 +#define GL_PROGRAM_OUTPUT 0x92E4 +#define GL_BUFFER_VARIABLE 0x92E5 +#define GL_SHADER_STORAGE_BLOCK 0x92E6 +#define GL_IS_PER_PATCH 0x92E7 +#define GL_VERTEX_SUBROUTINE 0x92E8 +#define GL_TESS_CONTROL_SUBROUTINE 0x92E9 +#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA +#define GL_GEOMETRY_SUBROUTINE 0x92EB +#define GL_FRAGMENT_SUBROUTINE 0x92EC +#define GL_COMPUTE_SUBROUTINE 0x92ED +#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE +#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF +#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0 +#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1 +#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2 +#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3 +#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4 +#define GL_ACTIVE_RESOURCES 0x92F5 +#define GL_MAX_NAME_LENGTH 0x92F6 +#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7 +#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8 +#define GL_NAME_LENGTH 0x92F9 +#define GL_TYPE 0x92FA +#define GL_ARRAY_SIZE 0x92FB +#define GL_OFFSET 0x92FC +#define GL_BLOCK_INDEX 0x92FD +#define GL_ARRAY_STRIDE 0x92FE +#define GL_MATRIX_STRIDE 0x92FF +#define GL_IS_ROW_MAJOR 0x9300 +#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301 +#define GL_BUFFER_BINDING 0x9302 +#define GL_BUFFER_DATA_SIZE 0x9303 +#define GL_NUM_ACTIVE_VARIABLES 0x9304 +#define GL_ACTIVE_VARIABLES 0x9305 +#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306 +#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307 +#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308 +#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309 +#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A +#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B +#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C +#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D +#define GL_LOCATION 0x930E +#define GL_LOCATION_INDEX 0x930F + +typedef void (GLAPIENTRY * PFNGLGETPROGRAMINTERFACEIVPROC) (GLuint program, GLenum programInterface, GLenum pname, GLint* params); +typedef GLuint (GLAPIENTRY * PFNGLGETPROGRAMRESOURCEINDEXPROC) (GLuint program, GLenum programInterface, const GLchar* name); +typedef GLint (GLAPIENTRY * PFNGLGETPROGRAMRESOURCELOCATIONPROC) (GLuint program, GLenum programInterface, const GLchar* name); +typedef GLint (GLAPIENTRY * PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) (GLuint program, GLenum programInterface, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMRESOURCENAMEPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar *name); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMRESOURCEIVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum* props, GLsizei bufSize, GLsizei *length, GLint *params); + +#define glGetProgramInterfaceiv GLEW_GET_FUN(__glewGetProgramInterfaceiv) +#define glGetProgramResourceIndex GLEW_GET_FUN(__glewGetProgramResourceIndex) +#define glGetProgramResourceLocation GLEW_GET_FUN(__glewGetProgramResourceLocation) +#define glGetProgramResourceLocationIndex GLEW_GET_FUN(__glewGetProgramResourceLocationIndex) +#define glGetProgramResourceName GLEW_GET_FUN(__glewGetProgramResourceName) +#define glGetProgramResourceiv GLEW_GET_FUN(__glewGetProgramResourceiv) + +#define GLEW_ARB_program_interface_query GLEW_GET_VAR(__GLEW_ARB_program_interface_query) + +#endif /* GL_ARB_program_interface_query */ + +/* ------------------------ GL_ARB_provoking_vertex ------------------------ */ + +#ifndef GL_ARB_provoking_vertex +#define GL_ARB_provoking_vertex 1 + +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C +#define GL_FIRST_VERTEX_CONVENTION 0x8E4D +#define GL_LAST_VERTEX_CONVENTION 0x8E4E +#define GL_PROVOKING_VERTEX 0x8E4F + +typedef void (GLAPIENTRY * PFNGLPROVOKINGVERTEXPROC) (GLenum mode); + +#define glProvokingVertex GLEW_GET_FUN(__glewProvokingVertex) + +#define GLEW_ARB_provoking_vertex GLEW_GET_VAR(__GLEW_ARB_provoking_vertex) + +#endif /* GL_ARB_provoking_vertex */ + +/* ----------------------- GL_ARB_query_buffer_object ---------------------- */ + +#ifndef GL_ARB_query_buffer_object +#define GL_ARB_query_buffer_object 1 + +#define GL_QUERY_BUFFER_BARRIER_BIT 0x00008000 +#define GL_QUERY_BUFFER 0x9192 +#define GL_QUERY_BUFFER_BINDING 0x9193 +#define GL_QUERY_RESULT_NO_WAIT 0x9194 + +#define GLEW_ARB_query_buffer_object GLEW_GET_VAR(__GLEW_ARB_query_buffer_object) + +#endif /* GL_ARB_query_buffer_object */ + +/* ------------------ GL_ARB_robust_buffer_access_behavior ----------------- */ + +#ifndef GL_ARB_robust_buffer_access_behavior +#define GL_ARB_robust_buffer_access_behavior 1 + +#define GLEW_ARB_robust_buffer_access_behavior GLEW_GET_VAR(__GLEW_ARB_robust_buffer_access_behavior) + +#endif /* GL_ARB_robust_buffer_access_behavior */ + +/* --------------------------- GL_ARB_robustness --------------------------- */ + +#ifndef GL_ARB_robustness +#define GL_ARB_robustness 1 + +#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004 +#define GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 +#define GL_GUILTY_CONTEXT_RESET_ARB 0x8253 +#define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254 +#define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255 +#define GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 +#define GL_NO_RESET_NOTIFICATION_ARB 0x8261 + +typedef GLenum (GLAPIENTRY * PFNGLGETGRAPHICSRESETSTATUSARBPROC) (void); +typedef void (GLAPIENTRY * PFNGLGETNCOLORTABLEARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* table); +typedef void (GLAPIENTRY * PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, GLsizei bufSize, void* img); +typedef void (GLAPIENTRY * PFNGLGETNCONVOLUTIONFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* image); +typedef void (GLAPIENTRY * PFNGLGETNHISTOGRAMARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values); +typedef void (GLAPIENTRY * PFNGLGETNMAPDVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLdouble* v); +typedef void (GLAPIENTRY * PFNGLGETNMAPFVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLfloat* v); +typedef void (GLAPIENTRY * PFNGLGETNMAPIVARBPROC) (GLenum target, GLenum query, GLsizei bufSize, GLint* v); +typedef void (GLAPIENTRY * PFNGLGETNMINMAXARBPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void* values); +typedef void (GLAPIENTRY * PFNGLGETNPIXELMAPFVARBPROC) (GLenum map, GLsizei bufSize, GLfloat* values); +typedef void (GLAPIENTRY * PFNGLGETNPIXELMAPUIVARBPROC) (GLenum map, GLsizei bufSize, GLuint* values); +typedef void (GLAPIENTRY * PFNGLGETNPIXELMAPUSVARBPROC) (GLenum map, GLsizei bufSize, GLushort* values); +typedef void (GLAPIENTRY * PFNGLGETNPOLYGONSTIPPLEARBPROC) (GLsizei bufSize, GLubyte* pattern); +typedef void (GLAPIENTRY * PFNGLGETNSEPARABLEFILTERARBPROC) (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void* row, GLsizei columnBufSize, void*column, void*span); +typedef void (GLAPIENTRY * PFNGLGETNTEXIMAGEARBPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* img); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMDVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMFVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMUIVARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint* params); +typedef void (GLAPIENTRY * PFNGLREADNPIXELSARBPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void* data); + +#define glGetGraphicsResetStatusARB GLEW_GET_FUN(__glewGetGraphicsResetStatusARB) +#define glGetnColorTableARB GLEW_GET_FUN(__glewGetnColorTableARB) +#define glGetnCompressedTexImageARB GLEW_GET_FUN(__glewGetnCompressedTexImageARB) +#define glGetnConvolutionFilterARB GLEW_GET_FUN(__glewGetnConvolutionFilterARB) +#define glGetnHistogramARB GLEW_GET_FUN(__glewGetnHistogramARB) +#define glGetnMapdvARB GLEW_GET_FUN(__glewGetnMapdvARB) +#define glGetnMapfvARB GLEW_GET_FUN(__glewGetnMapfvARB) +#define glGetnMapivARB GLEW_GET_FUN(__glewGetnMapivARB) +#define glGetnMinmaxARB GLEW_GET_FUN(__glewGetnMinmaxARB) +#define glGetnPixelMapfvARB GLEW_GET_FUN(__glewGetnPixelMapfvARB) +#define glGetnPixelMapuivARB GLEW_GET_FUN(__glewGetnPixelMapuivARB) +#define glGetnPixelMapusvARB GLEW_GET_FUN(__glewGetnPixelMapusvARB) +#define glGetnPolygonStippleARB GLEW_GET_FUN(__glewGetnPolygonStippleARB) +#define glGetnSeparableFilterARB GLEW_GET_FUN(__glewGetnSeparableFilterARB) +#define glGetnTexImageARB GLEW_GET_FUN(__glewGetnTexImageARB) +#define glGetnUniformdvARB GLEW_GET_FUN(__glewGetnUniformdvARB) +#define glGetnUniformfvARB GLEW_GET_FUN(__glewGetnUniformfvARB) +#define glGetnUniformivARB GLEW_GET_FUN(__glewGetnUniformivARB) +#define glGetnUniformuivARB GLEW_GET_FUN(__glewGetnUniformuivARB) +#define glReadnPixelsARB GLEW_GET_FUN(__glewReadnPixelsARB) + +#define GLEW_ARB_robustness GLEW_GET_VAR(__GLEW_ARB_robustness) + +#endif /* GL_ARB_robustness */ + +/* ---------------- GL_ARB_robustness_application_isolation ---------------- */ + +#ifndef GL_ARB_robustness_application_isolation +#define GL_ARB_robustness_application_isolation 1 + +#define GLEW_ARB_robustness_application_isolation GLEW_GET_VAR(__GLEW_ARB_robustness_application_isolation) + +#endif /* GL_ARB_robustness_application_isolation */ + +/* ---------------- GL_ARB_robustness_share_group_isolation ---------------- */ + +#ifndef GL_ARB_robustness_share_group_isolation +#define GL_ARB_robustness_share_group_isolation 1 + +#define GLEW_ARB_robustness_share_group_isolation GLEW_GET_VAR(__GLEW_ARB_robustness_share_group_isolation) + +#endif /* GL_ARB_robustness_share_group_isolation */ + +/* ------------------------ GL_ARB_sample_locations ------------------------ */ + +#ifndef GL_ARB_sample_locations +#define GL_ARB_sample_locations 1 + +#define GL_SAMPLE_LOCATION_ARB 0x8E50 +#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB 0x933D +#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB 0x933E +#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB 0x933F +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB 0x9340 +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB 0x9341 +#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB 0x9342 +#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB 0x9343 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat* v); + +#define glFramebufferSampleLocationsfvARB GLEW_GET_FUN(__glewFramebufferSampleLocationsfvARB) +#define glNamedFramebufferSampleLocationsfvARB GLEW_GET_FUN(__glewNamedFramebufferSampleLocationsfvARB) + +#define GLEW_ARB_sample_locations GLEW_GET_VAR(__GLEW_ARB_sample_locations) + +#endif /* GL_ARB_sample_locations */ + +/* ------------------------- GL_ARB_sample_shading ------------------------- */ + +#ifndef GL_ARB_sample_shading +#define GL_ARB_sample_shading 1 + +#define GL_SAMPLE_SHADING_ARB 0x8C36 +#define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8C37 + +typedef void (GLAPIENTRY * PFNGLMINSAMPLESHADINGARBPROC) (GLclampf value); + +#define glMinSampleShadingARB GLEW_GET_FUN(__glewMinSampleShadingARB) + +#define GLEW_ARB_sample_shading GLEW_GET_VAR(__GLEW_ARB_sample_shading) + +#endif /* GL_ARB_sample_shading */ + +/* ------------------------- GL_ARB_sampler_objects ------------------------ */ + +#ifndef GL_ARB_sampler_objects +#define GL_ARB_sampler_objects 1 + +#define GL_SAMPLER_BINDING 0x8919 + +typedef void (GLAPIENTRY * PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler); +typedef void (GLAPIENTRY * PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint * samplers); +typedef void (GLAPIENTRY * PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint* samplers); +typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISSAMPLERPROC) (GLuint sampler); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint* params); + +#define glBindSampler GLEW_GET_FUN(__glewBindSampler) +#define glDeleteSamplers GLEW_GET_FUN(__glewDeleteSamplers) +#define glGenSamplers GLEW_GET_FUN(__glewGenSamplers) +#define glGetSamplerParameterIiv GLEW_GET_FUN(__glewGetSamplerParameterIiv) +#define glGetSamplerParameterIuiv GLEW_GET_FUN(__glewGetSamplerParameterIuiv) +#define glGetSamplerParameterfv GLEW_GET_FUN(__glewGetSamplerParameterfv) +#define glGetSamplerParameteriv GLEW_GET_FUN(__glewGetSamplerParameteriv) +#define glIsSampler GLEW_GET_FUN(__glewIsSampler) +#define glSamplerParameterIiv GLEW_GET_FUN(__glewSamplerParameterIiv) +#define glSamplerParameterIuiv GLEW_GET_FUN(__glewSamplerParameterIuiv) +#define glSamplerParameterf GLEW_GET_FUN(__glewSamplerParameterf) +#define glSamplerParameterfv GLEW_GET_FUN(__glewSamplerParameterfv) +#define glSamplerParameteri GLEW_GET_FUN(__glewSamplerParameteri) +#define glSamplerParameteriv GLEW_GET_FUN(__glewSamplerParameteriv) + +#define GLEW_ARB_sampler_objects GLEW_GET_VAR(__GLEW_ARB_sampler_objects) + +#endif /* GL_ARB_sampler_objects */ + +/* ------------------------ GL_ARB_seamless_cube_map ----------------------- */ + +#ifndef GL_ARB_seamless_cube_map +#define GL_ARB_seamless_cube_map 1 + +#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F + +#define GLEW_ARB_seamless_cube_map GLEW_GET_VAR(__GLEW_ARB_seamless_cube_map) + +#endif /* GL_ARB_seamless_cube_map */ + +/* ------------------ GL_ARB_seamless_cubemap_per_texture ------------------ */ + +#ifndef GL_ARB_seamless_cubemap_per_texture +#define GL_ARB_seamless_cubemap_per_texture 1 + +#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F + +#define GLEW_ARB_seamless_cubemap_per_texture GLEW_GET_VAR(__GLEW_ARB_seamless_cubemap_per_texture) + +#endif /* GL_ARB_seamless_cubemap_per_texture */ + +/* --------------------- GL_ARB_separate_shader_objects -------------------- */ + +#ifndef GL_ARB_separate_shader_objects +#define GL_ARB_separate_shader_objects 1 + +#define GL_VERTEX_SHADER_BIT 0x00000001 +#define GL_FRAGMENT_SHADER_BIT 0x00000002 +#define GL_GEOMETRY_SHADER_BIT 0x00000004 +#define GL_TESS_CONTROL_SHADER_BIT 0x00000008 +#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010 +#define GL_PROGRAM_SEPARABLE 0x8258 +#define GL_ACTIVE_PROGRAM 0x8259 +#define GL_PROGRAM_PIPELINE_BINDING 0x825A +#define GL_ALL_SHADER_BITS 0xFFFFFFFF + +typedef void (GLAPIENTRY * PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program); +typedef void (GLAPIENTRY * PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline); +typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar * const * strings); +typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint* pipelines); +typedef void (GLAPIENTRY * PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint* pipelines); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar *infoLog); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1DPROC) (GLuint program, GLint location, GLdouble x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2DPROC) (GLuint program, GLint location, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint x, GLint y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint x, GLuint y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3DPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint x, GLuint y, GLuint z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4DPROC) (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4DVPROC) (GLuint program, GLint location, GLsizei count, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program); +typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline); + +#define glActiveShaderProgram GLEW_GET_FUN(__glewActiveShaderProgram) +#define glBindProgramPipeline GLEW_GET_FUN(__glewBindProgramPipeline) +#define glCreateShaderProgramv GLEW_GET_FUN(__glewCreateShaderProgramv) +#define glDeleteProgramPipelines GLEW_GET_FUN(__glewDeleteProgramPipelines) +#define glGenProgramPipelines GLEW_GET_FUN(__glewGenProgramPipelines) +#define glGetProgramPipelineInfoLog GLEW_GET_FUN(__glewGetProgramPipelineInfoLog) +#define glGetProgramPipelineiv GLEW_GET_FUN(__glewGetProgramPipelineiv) +#define glIsProgramPipeline GLEW_GET_FUN(__glewIsProgramPipeline) +#define glProgramUniform1d GLEW_GET_FUN(__glewProgramUniform1d) +#define glProgramUniform1dv GLEW_GET_FUN(__glewProgramUniform1dv) +#define glProgramUniform1f GLEW_GET_FUN(__glewProgramUniform1f) +#define glProgramUniform1fv GLEW_GET_FUN(__glewProgramUniform1fv) +#define glProgramUniform1i GLEW_GET_FUN(__glewProgramUniform1i) +#define glProgramUniform1iv GLEW_GET_FUN(__glewProgramUniform1iv) +#define glProgramUniform1ui GLEW_GET_FUN(__glewProgramUniform1ui) +#define glProgramUniform1uiv GLEW_GET_FUN(__glewProgramUniform1uiv) +#define glProgramUniform2d GLEW_GET_FUN(__glewProgramUniform2d) +#define glProgramUniform2dv GLEW_GET_FUN(__glewProgramUniform2dv) +#define glProgramUniform2f GLEW_GET_FUN(__glewProgramUniform2f) +#define glProgramUniform2fv GLEW_GET_FUN(__glewProgramUniform2fv) +#define glProgramUniform2i GLEW_GET_FUN(__glewProgramUniform2i) +#define glProgramUniform2iv GLEW_GET_FUN(__glewProgramUniform2iv) +#define glProgramUniform2ui GLEW_GET_FUN(__glewProgramUniform2ui) +#define glProgramUniform2uiv GLEW_GET_FUN(__glewProgramUniform2uiv) +#define glProgramUniform3d GLEW_GET_FUN(__glewProgramUniform3d) +#define glProgramUniform3dv GLEW_GET_FUN(__glewProgramUniform3dv) +#define glProgramUniform3f GLEW_GET_FUN(__glewProgramUniform3f) +#define glProgramUniform3fv GLEW_GET_FUN(__glewProgramUniform3fv) +#define glProgramUniform3i GLEW_GET_FUN(__glewProgramUniform3i) +#define glProgramUniform3iv GLEW_GET_FUN(__glewProgramUniform3iv) +#define glProgramUniform3ui GLEW_GET_FUN(__glewProgramUniform3ui) +#define glProgramUniform3uiv GLEW_GET_FUN(__glewProgramUniform3uiv) +#define glProgramUniform4d GLEW_GET_FUN(__glewProgramUniform4d) +#define glProgramUniform4dv GLEW_GET_FUN(__glewProgramUniform4dv) +#define glProgramUniform4f GLEW_GET_FUN(__glewProgramUniform4f) +#define glProgramUniform4fv GLEW_GET_FUN(__glewProgramUniform4fv) +#define glProgramUniform4i GLEW_GET_FUN(__glewProgramUniform4i) +#define glProgramUniform4iv GLEW_GET_FUN(__glewProgramUniform4iv) +#define glProgramUniform4ui GLEW_GET_FUN(__glewProgramUniform4ui) +#define glProgramUniform4uiv GLEW_GET_FUN(__glewProgramUniform4uiv) +#define glProgramUniformMatrix2dv GLEW_GET_FUN(__glewProgramUniformMatrix2dv) +#define glProgramUniformMatrix2fv GLEW_GET_FUN(__glewProgramUniformMatrix2fv) +#define glProgramUniformMatrix2x3dv GLEW_GET_FUN(__glewProgramUniformMatrix2x3dv) +#define glProgramUniformMatrix2x3fv GLEW_GET_FUN(__glewProgramUniformMatrix2x3fv) +#define glProgramUniformMatrix2x4dv GLEW_GET_FUN(__glewProgramUniformMatrix2x4dv) +#define glProgramUniformMatrix2x4fv GLEW_GET_FUN(__glewProgramUniformMatrix2x4fv) +#define glProgramUniformMatrix3dv GLEW_GET_FUN(__glewProgramUniformMatrix3dv) +#define glProgramUniformMatrix3fv GLEW_GET_FUN(__glewProgramUniformMatrix3fv) +#define glProgramUniformMatrix3x2dv GLEW_GET_FUN(__glewProgramUniformMatrix3x2dv) +#define glProgramUniformMatrix3x2fv GLEW_GET_FUN(__glewProgramUniformMatrix3x2fv) +#define glProgramUniformMatrix3x4dv GLEW_GET_FUN(__glewProgramUniformMatrix3x4dv) +#define glProgramUniformMatrix3x4fv GLEW_GET_FUN(__glewProgramUniformMatrix3x4fv) +#define glProgramUniformMatrix4dv GLEW_GET_FUN(__glewProgramUniformMatrix4dv) +#define glProgramUniformMatrix4fv GLEW_GET_FUN(__glewProgramUniformMatrix4fv) +#define glProgramUniformMatrix4x2dv GLEW_GET_FUN(__glewProgramUniformMatrix4x2dv) +#define glProgramUniformMatrix4x2fv GLEW_GET_FUN(__glewProgramUniformMatrix4x2fv) +#define glProgramUniformMatrix4x3dv GLEW_GET_FUN(__glewProgramUniformMatrix4x3dv) +#define glProgramUniformMatrix4x3fv GLEW_GET_FUN(__glewProgramUniformMatrix4x3fv) +#define glUseProgramStages GLEW_GET_FUN(__glewUseProgramStages) +#define glValidateProgramPipeline GLEW_GET_FUN(__glewValidateProgramPipeline) + +#define GLEW_ARB_separate_shader_objects GLEW_GET_VAR(__GLEW_ARB_separate_shader_objects) + +#endif /* GL_ARB_separate_shader_objects */ + +/* -------------------- GL_ARB_shader_atomic_counter_ops ------------------- */ + +#ifndef GL_ARB_shader_atomic_counter_ops +#define GL_ARB_shader_atomic_counter_ops 1 + +#define GLEW_ARB_shader_atomic_counter_ops GLEW_GET_VAR(__GLEW_ARB_shader_atomic_counter_ops) + +#endif /* GL_ARB_shader_atomic_counter_ops */ + +/* --------------------- GL_ARB_shader_atomic_counters --------------------- */ + +#ifndef GL_ARB_shader_atomic_counters +#define GL_ARB_shader_atomic_counters 1 + +#define GL_ATOMIC_COUNTER_BUFFER 0x92C0 +#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1 +#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2 +#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3 +#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4 +#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5 +#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9 +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB +#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE +#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF +#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0 +#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1 +#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2 +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3 +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4 +#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5 +#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6 +#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7 +#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8 +#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9 +#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA +#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB +#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC + +typedef void (GLAPIENTRY * PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) (GLuint program, GLuint bufferIndex, GLenum pname, GLint* params); + +#define glGetActiveAtomicCounterBufferiv GLEW_GET_FUN(__glewGetActiveAtomicCounterBufferiv) + +#define GLEW_ARB_shader_atomic_counters GLEW_GET_VAR(__GLEW_ARB_shader_atomic_counters) + +#endif /* GL_ARB_shader_atomic_counters */ + +/* -------------------------- GL_ARB_shader_ballot ------------------------- */ + +#ifndef GL_ARB_shader_ballot +#define GL_ARB_shader_ballot 1 + +#define GLEW_ARB_shader_ballot GLEW_GET_VAR(__GLEW_ARB_shader_ballot) + +#endif /* GL_ARB_shader_ballot */ + +/* ----------------------- GL_ARB_shader_bit_encoding ---------------------- */ + +#ifndef GL_ARB_shader_bit_encoding +#define GL_ARB_shader_bit_encoding 1 + +#define GLEW_ARB_shader_bit_encoding GLEW_GET_VAR(__GLEW_ARB_shader_bit_encoding) + +#endif /* GL_ARB_shader_bit_encoding */ + +/* -------------------------- GL_ARB_shader_clock -------------------------- */ + +#ifndef GL_ARB_shader_clock +#define GL_ARB_shader_clock 1 + +#define GLEW_ARB_shader_clock GLEW_GET_VAR(__GLEW_ARB_shader_clock) + +#endif /* GL_ARB_shader_clock */ + +/* --------------------- GL_ARB_shader_draw_parameters --------------------- */ + +#ifndef GL_ARB_shader_draw_parameters +#define GL_ARB_shader_draw_parameters 1 + +#define GLEW_ARB_shader_draw_parameters GLEW_GET_VAR(__GLEW_ARB_shader_draw_parameters) + +#endif /* GL_ARB_shader_draw_parameters */ + +/* ------------------------ GL_ARB_shader_group_vote ----------------------- */ + +#ifndef GL_ARB_shader_group_vote +#define GL_ARB_shader_group_vote 1 + +#define GLEW_ARB_shader_group_vote GLEW_GET_VAR(__GLEW_ARB_shader_group_vote) + +#endif /* GL_ARB_shader_group_vote */ + +/* --------------------- GL_ARB_shader_image_load_store -------------------- */ + +#ifndef GL_ARB_shader_image_load_store +#define GL_ARB_shader_image_load_store 1 + +#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001 +#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002 +#define GL_UNIFORM_BARRIER_BIT 0x00000004 +#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008 +#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020 +#define GL_COMMAND_BARRIER_BIT 0x00000040 +#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080 +#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100 +#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200 +#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400 +#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800 +#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000 +#define GL_MAX_IMAGE_UNITS 0x8F38 +#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39 +#define GL_IMAGE_BINDING_NAME 0x8F3A +#define GL_IMAGE_BINDING_LEVEL 0x8F3B +#define GL_IMAGE_BINDING_LAYERED 0x8F3C +#define GL_IMAGE_BINDING_LAYER 0x8F3D +#define GL_IMAGE_BINDING_ACCESS 0x8F3E +#define GL_IMAGE_1D 0x904C +#define GL_IMAGE_2D 0x904D +#define GL_IMAGE_3D 0x904E +#define GL_IMAGE_2D_RECT 0x904F +#define GL_IMAGE_CUBE 0x9050 +#define GL_IMAGE_BUFFER 0x9051 +#define GL_IMAGE_1D_ARRAY 0x9052 +#define GL_IMAGE_2D_ARRAY 0x9053 +#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054 +#define GL_IMAGE_2D_MULTISAMPLE 0x9055 +#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056 +#define GL_INT_IMAGE_1D 0x9057 +#define GL_INT_IMAGE_2D 0x9058 +#define GL_INT_IMAGE_3D 0x9059 +#define GL_INT_IMAGE_2D_RECT 0x905A +#define GL_INT_IMAGE_CUBE 0x905B +#define GL_INT_IMAGE_BUFFER 0x905C +#define GL_INT_IMAGE_1D_ARRAY 0x905D +#define GL_INT_IMAGE_2D_ARRAY 0x905E +#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F +#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060 +#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061 +#define GL_UNSIGNED_INT_IMAGE_1D 0x9062 +#define GL_UNSIGNED_INT_IMAGE_2D 0x9063 +#define GL_UNSIGNED_INT_IMAGE_3D 0x9064 +#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065 +#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066 +#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067 +#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068 +#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069 +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C +#define GL_MAX_IMAGE_SAMPLES 0x906D +#define GL_IMAGE_BINDING_FORMAT 0x906E +#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7 +#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8 +#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9 +#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA +#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB +#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC +#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD +#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE +#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF +#define GL_ALL_BARRIER_BITS 0xFFFFFFFF + +typedef void (GLAPIENTRY * PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); +typedef void (GLAPIENTRY * PFNGLMEMORYBARRIERPROC) (GLbitfield barriers); + +#define glBindImageTexture GLEW_GET_FUN(__glewBindImageTexture) +#define glMemoryBarrier GLEW_GET_FUN(__glewMemoryBarrier) + +#define GLEW_ARB_shader_image_load_store GLEW_GET_VAR(__GLEW_ARB_shader_image_load_store) + +#endif /* GL_ARB_shader_image_load_store */ + +/* ------------------------ GL_ARB_shader_image_size ----------------------- */ + +#ifndef GL_ARB_shader_image_size +#define GL_ARB_shader_image_size 1 + +#define GLEW_ARB_shader_image_size GLEW_GET_VAR(__GLEW_ARB_shader_image_size) + +#endif /* GL_ARB_shader_image_size */ + +/* ------------------------- GL_ARB_shader_objects ------------------------- */ + +#ifndef GL_ARB_shader_objects +#define GL_ARB_shader_objects 1 + +#define GL_PROGRAM_OBJECT_ARB 0x8B40 +#define GL_SHADER_OBJECT_ARB 0x8B48 +#define GL_OBJECT_TYPE_ARB 0x8B4E +#define GL_OBJECT_SUBTYPE_ARB 0x8B4F +#define GL_FLOAT_VEC2_ARB 0x8B50 +#define GL_FLOAT_VEC3_ARB 0x8B51 +#define GL_FLOAT_VEC4_ARB 0x8B52 +#define GL_INT_VEC2_ARB 0x8B53 +#define GL_INT_VEC3_ARB 0x8B54 +#define GL_INT_VEC4_ARB 0x8B55 +#define GL_BOOL_ARB 0x8B56 +#define GL_BOOL_VEC2_ARB 0x8B57 +#define GL_BOOL_VEC3_ARB 0x8B58 +#define GL_BOOL_VEC4_ARB 0x8B59 +#define GL_FLOAT_MAT2_ARB 0x8B5A +#define GL_FLOAT_MAT3_ARB 0x8B5B +#define GL_FLOAT_MAT4_ARB 0x8B5C +#define GL_SAMPLER_1D_ARB 0x8B5D +#define GL_SAMPLER_2D_ARB 0x8B5E +#define GL_SAMPLER_3D_ARB 0x8B5F +#define GL_SAMPLER_CUBE_ARB 0x8B60 +#define GL_SAMPLER_1D_SHADOW_ARB 0x8B61 +#define GL_SAMPLER_2D_SHADOW_ARB 0x8B62 +#define GL_SAMPLER_2D_RECT_ARB 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64 +#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80 +#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81 +#define GL_OBJECT_LINK_STATUS_ARB 0x8B82 +#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83 +#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84 +#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85 +#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86 +#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87 +#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88 + +typedef char GLcharARB; +typedef unsigned int GLhandleARB; + +typedef void (GLAPIENTRY * PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj); +typedef void (GLAPIENTRY * PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj); +typedef GLhandleARB (GLAPIENTRY * PFNGLCREATEPROGRAMOBJECTARBPROC) (void); +typedef GLhandleARB (GLAPIENTRY * PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType); +typedef void (GLAPIENTRY * PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj); +typedef void (GLAPIENTRY * PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint *size, GLenum *type, GLcharARB *name); +typedef void (GLAPIENTRY * PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei* count, GLhandleARB *obj); +typedef GLhandleARB (GLAPIENTRY * PFNGLGETHANDLEARBPROC) (GLenum pname); +typedef void (GLAPIENTRY * PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB *infoLog); +typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB *source); +typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB* name); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint* params); +typedef void (GLAPIENTRY * PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj); +typedef void (GLAPIENTRY * PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB ** string, const GLint *length); +typedef void (GLAPIENTRY * PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0); +typedef void (GLAPIENTRY * PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0); +typedef void (GLAPIENTRY * PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1); +typedef void (GLAPIENTRY * PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1); +typedef void (GLAPIENTRY * PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (GLAPIENTRY * PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2); +typedef void (GLAPIENTRY * PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (GLAPIENTRY * PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (GLAPIENTRY * PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj); +typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj); + +#define glAttachObjectARB GLEW_GET_FUN(__glewAttachObjectARB) +#define glCompileShaderARB GLEW_GET_FUN(__glewCompileShaderARB) +#define glCreateProgramObjectARB GLEW_GET_FUN(__glewCreateProgramObjectARB) +#define glCreateShaderObjectARB GLEW_GET_FUN(__glewCreateShaderObjectARB) +#define glDeleteObjectARB GLEW_GET_FUN(__glewDeleteObjectARB) +#define glDetachObjectARB GLEW_GET_FUN(__glewDetachObjectARB) +#define glGetActiveUniformARB GLEW_GET_FUN(__glewGetActiveUniformARB) +#define glGetAttachedObjectsARB GLEW_GET_FUN(__glewGetAttachedObjectsARB) +#define glGetHandleARB GLEW_GET_FUN(__glewGetHandleARB) +#define glGetInfoLogARB GLEW_GET_FUN(__glewGetInfoLogARB) +#define glGetObjectParameterfvARB GLEW_GET_FUN(__glewGetObjectParameterfvARB) +#define glGetObjectParameterivARB GLEW_GET_FUN(__glewGetObjectParameterivARB) +#define glGetShaderSourceARB GLEW_GET_FUN(__glewGetShaderSourceARB) +#define glGetUniformLocationARB GLEW_GET_FUN(__glewGetUniformLocationARB) +#define glGetUniformfvARB GLEW_GET_FUN(__glewGetUniformfvARB) +#define glGetUniformivARB GLEW_GET_FUN(__glewGetUniformivARB) +#define glLinkProgramARB GLEW_GET_FUN(__glewLinkProgramARB) +#define glShaderSourceARB GLEW_GET_FUN(__glewShaderSourceARB) +#define glUniform1fARB GLEW_GET_FUN(__glewUniform1fARB) +#define glUniform1fvARB GLEW_GET_FUN(__glewUniform1fvARB) +#define glUniform1iARB GLEW_GET_FUN(__glewUniform1iARB) +#define glUniform1ivARB GLEW_GET_FUN(__glewUniform1ivARB) +#define glUniform2fARB GLEW_GET_FUN(__glewUniform2fARB) +#define glUniform2fvARB GLEW_GET_FUN(__glewUniform2fvARB) +#define glUniform2iARB GLEW_GET_FUN(__glewUniform2iARB) +#define glUniform2ivARB GLEW_GET_FUN(__glewUniform2ivARB) +#define glUniform3fARB GLEW_GET_FUN(__glewUniform3fARB) +#define glUniform3fvARB GLEW_GET_FUN(__glewUniform3fvARB) +#define glUniform3iARB GLEW_GET_FUN(__glewUniform3iARB) +#define glUniform3ivARB GLEW_GET_FUN(__glewUniform3ivARB) +#define glUniform4fARB GLEW_GET_FUN(__glewUniform4fARB) +#define glUniform4fvARB GLEW_GET_FUN(__glewUniform4fvARB) +#define glUniform4iARB GLEW_GET_FUN(__glewUniform4iARB) +#define glUniform4ivARB GLEW_GET_FUN(__glewUniform4ivARB) +#define glUniformMatrix2fvARB GLEW_GET_FUN(__glewUniformMatrix2fvARB) +#define glUniformMatrix3fvARB GLEW_GET_FUN(__glewUniformMatrix3fvARB) +#define glUniformMatrix4fvARB GLEW_GET_FUN(__glewUniformMatrix4fvARB) +#define glUseProgramObjectARB GLEW_GET_FUN(__glewUseProgramObjectARB) +#define glValidateProgramARB GLEW_GET_FUN(__glewValidateProgramARB) + +#define GLEW_ARB_shader_objects GLEW_GET_VAR(__GLEW_ARB_shader_objects) + +#endif /* GL_ARB_shader_objects */ + +/* ------------------------ GL_ARB_shader_precision ------------------------ */ + +#ifndef GL_ARB_shader_precision +#define GL_ARB_shader_precision 1 + +#define GLEW_ARB_shader_precision GLEW_GET_VAR(__GLEW_ARB_shader_precision) + +#endif /* GL_ARB_shader_precision */ + +/* ---------------------- GL_ARB_shader_stencil_export --------------------- */ + +#ifndef GL_ARB_shader_stencil_export +#define GL_ARB_shader_stencil_export 1 + +#define GLEW_ARB_shader_stencil_export GLEW_GET_VAR(__GLEW_ARB_shader_stencil_export) + +#endif /* GL_ARB_shader_stencil_export */ + +/* ------------------ GL_ARB_shader_storage_buffer_object ------------------ */ + +#ifndef GL_ARB_shader_storage_buffer_object +#define GL_ARB_shader_storage_buffer_object 1 + +#define GL_SHADER_STORAGE_BARRIER_BIT 0x2000 +#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39 +#define GL_SHADER_STORAGE_BUFFER 0x90D2 +#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3 +#define GL_SHADER_STORAGE_BUFFER_START 0x90D4 +#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5 +#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6 +#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7 +#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8 +#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9 +#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA +#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB +#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC +#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD +#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE +#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF + +typedef void (GLAPIENTRY * PFNGLSHADERSTORAGEBLOCKBINDINGPROC) (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding); + +#define glShaderStorageBlockBinding GLEW_GET_FUN(__glewShaderStorageBlockBinding) + +#define GLEW_ARB_shader_storage_buffer_object GLEW_GET_VAR(__GLEW_ARB_shader_storage_buffer_object) + +#endif /* GL_ARB_shader_storage_buffer_object */ + +/* ------------------------ GL_ARB_shader_subroutine ----------------------- */ + +#ifndef GL_ARB_shader_subroutine +#define GL_ARB_shader_subroutine 1 + +#define GL_ACTIVE_SUBROUTINES 0x8DE5 +#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6 +#define GL_MAX_SUBROUTINES 0x8DE7 +#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8 +#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47 +#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48 +#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49 +#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A +#define GL_COMPATIBLE_SUBROUTINES 0x8E4B + +typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar *name); +typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar *name); +typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint* values); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint* values); +typedef GLuint (GLAPIENTRY * PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const GLchar* name); +typedef GLint (GLAPIENTRY * PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint* params); +typedef void (GLAPIENTRY * PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint* indices); + +#define glGetActiveSubroutineName GLEW_GET_FUN(__glewGetActiveSubroutineName) +#define glGetActiveSubroutineUniformName GLEW_GET_FUN(__glewGetActiveSubroutineUniformName) +#define glGetActiveSubroutineUniformiv GLEW_GET_FUN(__glewGetActiveSubroutineUniformiv) +#define glGetProgramStageiv GLEW_GET_FUN(__glewGetProgramStageiv) +#define glGetSubroutineIndex GLEW_GET_FUN(__glewGetSubroutineIndex) +#define glGetSubroutineUniformLocation GLEW_GET_FUN(__glewGetSubroutineUniformLocation) +#define glGetUniformSubroutineuiv GLEW_GET_FUN(__glewGetUniformSubroutineuiv) +#define glUniformSubroutinesuiv GLEW_GET_FUN(__glewUniformSubroutinesuiv) + +#define GLEW_ARB_shader_subroutine GLEW_GET_VAR(__GLEW_ARB_shader_subroutine) + +#endif /* GL_ARB_shader_subroutine */ + +/* ------------------ GL_ARB_shader_texture_image_samples ------------------ */ + +#ifndef GL_ARB_shader_texture_image_samples +#define GL_ARB_shader_texture_image_samples 1 + +#define GLEW_ARB_shader_texture_image_samples GLEW_GET_VAR(__GLEW_ARB_shader_texture_image_samples) + +#endif /* GL_ARB_shader_texture_image_samples */ + +/* ----------------------- GL_ARB_shader_texture_lod ----------------------- */ + +#ifndef GL_ARB_shader_texture_lod +#define GL_ARB_shader_texture_lod 1 + +#define GLEW_ARB_shader_texture_lod GLEW_GET_VAR(__GLEW_ARB_shader_texture_lod) + +#endif /* GL_ARB_shader_texture_lod */ + +/* ------------------- GL_ARB_shader_viewport_layer_array ------------------ */ + +#ifndef GL_ARB_shader_viewport_layer_array +#define GL_ARB_shader_viewport_layer_array 1 + +#define GLEW_ARB_shader_viewport_layer_array GLEW_GET_VAR(__GLEW_ARB_shader_viewport_layer_array) + +#endif /* GL_ARB_shader_viewport_layer_array */ + +/* ---------------------- GL_ARB_shading_language_100 ---------------------- */ + +#ifndef GL_ARB_shading_language_100 +#define GL_ARB_shading_language_100 1 + +#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C + +#define GLEW_ARB_shading_language_100 GLEW_GET_VAR(__GLEW_ARB_shading_language_100) + +#endif /* GL_ARB_shading_language_100 */ + +/* -------------------- GL_ARB_shading_language_420pack -------------------- */ + +#ifndef GL_ARB_shading_language_420pack +#define GL_ARB_shading_language_420pack 1 + +#define GLEW_ARB_shading_language_420pack GLEW_GET_VAR(__GLEW_ARB_shading_language_420pack) + +#endif /* GL_ARB_shading_language_420pack */ + +/* -------------------- GL_ARB_shading_language_include -------------------- */ + +#ifndef GL_ARB_shading_language_include +#define GL_ARB_shading_language_include 1 + +#define GL_SHADER_INCLUDE_ARB 0x8DAE +#define GL_NAMED_STRING_LENGTH_ARB 0x8DE9 +#define GL_NAMED_STRING_TYPE_ARB 0x8DEA + +typedef void (GLAPIENTRY * PFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const GLchar* const *path, const GLint *length); +typedef void (GLAPIENTRY * PFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const GLchar* name, GLsizei bufSize, GLint *stringlen, GLchar *string); +typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const GLchar* name, GLenum pname, GLint *params); +typedef GLboolean (GLAPIENTRY * PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const GLchar* name); +typedef void (GLAPIENTRY * PFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const GLchar* name, GLint stringlen, const GLchar *string); + +#define glCompileShaderIncludeARB GLEW_GET_FUN(__glewCompileShaderIncludeARB) +#define glDeleteNamedStringARB GLEW_GET_FUN(__glewDeleteNamedStringARB) +#define glGetNamedStringARB GLEW_GET_FUN(__glewGetNamedStringARB) +#define glGetNamedStringivARB GLEW_GET_FUN(__glewGetNamedStringivARB) +#define glIsNamedStringARB GLEW_GET_FUN(__glewIsNamedStringARB) +#define glNamedStringARB GLEW_GET_FUN(__glewNamedStringARB) + +#define GLEW_ARB_shading_language_include GLEW_GET_VAR(__GLEW_ARB_shading_language_include) + +#endif /* GL_ARB_shading_language_include */ + +/* -------------------- GL_ARB_shading_language_packing -------------------- */ + +#ifndef GL_ARB_shading_language_packing +#define GL_ARB_shading_language_packing 1 + +#define GLEW_ARB_shading_language_packing GLEW_GET_VAR(__GLEW_ARB_shading_language_packing) + +#endif /* GL_ARB_shading_language_packing */ + +/* ----------------------------- GL_ARB_shadow ----------------------------- */ + +#ifndef GL_ARB_shadow +#define GL_ARB_shadow 1 + +#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C +#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D +#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E + +#define GLEW_ARB_shadow GLEW_GET_VAR(__GLEW_ARB_shadow) + +#endif /* GL_ARB_shadow */ + +/* ------------------------- GL_ARB_shadow_ambient ------------------------- */ + +#ifndef GL_ARB_shadow_ambient +#define GL_ARB_shadow_ambient 1 + +#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF + +#define GLEW_ARB_shadow_ambient GLEW_GET_VAR(__GLEW_ARB_shadow_ambient) + +#endif /* GL_ARB_shadow_ambient */ + +/* -------------------------- GL_ARB_sparse_buffer ------------------------- */ + +#ifndef GL_ARB_sparse_buffer +#define GL_ARB_sparse_buffer 1 + +#define GL_SPARSE_STORAGE_BIT_ARB 0x0400 +#define GL_SPARSE_BUFFER_PAGE_SIZE_ARB 0x82F8 + +typedef void (GLAPIENTRY * PFNGLBUFFERPAGECOMMITMENTARBPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit); + +#define glBufferPageCommitmentARB GLEW_GET_FUN(__glewBufferPageCommitmentARB) + +#define GLEW_ARB_sparse_buffer GLEW_GET_VAR(__GLEW_ARB_sparse_buffer) + +#endif /* GL_ARB_sparse_buffer */ + +/* ------------------------- GL_ARB_sparse_texture ------------------------- */ + +#ifndef GL_ARB_sparse_texture +#define GL_ARB_sparse_texture 1 + +#define GL_VIRTUAL_PAGE_SIZE_X_ARB 0x9195 +#define GL_VIRTUAL_PAGE_SIZE_Y_ARB 0x9196 +#define GL_VIRTUAL_PAGE_SIZE_Z_ARB 0x9197 +#define GL_MAX_SPARSE_TEXTURE_SIZE_ARB 0x9198 +#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB 0x9199 +#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB 0x919A +#define GL_TEXTURE_SPARSE_ARB 0x91A6 +#define GL_VIRTUAL_PAGE_SIZE_INDEX_ARB 0x91A7 +#define GL_NUM_VIRTUAL_PAGE_SIZES_ARB 0x91A8 +#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB 0x91A9 +#define GL_NUM_SPARSE_LEVELS_ARB 0x91AA + +typedef void (GLAPIENTRY * PFNGLTEXPAGECOMMITMENTARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); +typedef void (GLAPIENTRY * PFNGLTEXTUREPAGECOMMITMENTEXTPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); + +#define glTexPageCommitmentARB GLEW_GET_FUN(__glewTexPageCommitmentARB) +#define glTexturePageCommitmentEXT GLEW_GET_FUN(__glewTexturePageCommitmentEXT) + +#define GLEW_ARB_sparse_texture GLEW_GET_VAR(__GLEW_ARB_sparse_texture) + +#endif /* GL_ARB_sparse_texture */ + +/* ------------------------- GL_ARB_sparse_texture2 ------------------------ */ + +#ifndef GL_ARB_sparse_texture2 +#define GL_ARB_sparse_texture2 1 + +#define GLEW_ARB_sparse_texture2 GLEW_GET_VAR(__GLEW_ARB_sparse_texture2) + +#endif /* GL_ARB_sparse_texture2 */ + +/* ---------------------- GL_ARB_sparse_texture_clamp ---------------------- */ + +#ifndef GL_ARB_sparse_texture_clamp +#define GL_ARB_sparse_texture_clamp 1 + +#define GLEW_ARB_sparse_texture_clamp GLEW_GET_VAR(__GLEW_ARB_sparse_texture_clamp) + +#endif /* GL_ARB_sparse_texture_clamp */ + +/* ------------------------ GL_ARB_stencil_texturing ----------------------- */ + +#ifndef GL_ARB_stencil_texturing +#define GL_ARB_stencil_texturing 1 + +#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA + +#define GLEW_ARB_stencil_texturing GLEW_GET_VAR(__GLEW_ARB_stencil_texturing) + +#endif /* GL_ARB_stencil_texturing */ + +/* ------------------------------ GL_ARB_sync ------------------------------ */ + +#ifndef GL_ARB_sync +#define GL_ARB_sync 1 + +#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001 +#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111 +#define GL_OBJECT_TYPE 0x9112 +#define GL_SYNC_CONDITION 0x9113 +#define GL_SYNC_STATUS 0x9114 +#define GL_SYNC_FLAGS 0x9115 +#define GL_SYNC_FENCE 0x9116 +#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117 +#define GL_UNSIGNALED 0x9118 +#define GL_SIGNALED 0x9119 +#define GL_ALREADY_SIGNALED 0x911A +#define GL_TIMEOUT_EXPIRED 0x911B +#define GL_CONDITION_SATISFIED 0x911C +#define GL_WAIT_FAILED 0x911D +#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF + +typedef GLenum (GLAPIENTRY * PFNGLCLIENTWAITSYNCPROC) (GLsync GLsync,GLbitfield flags,GLuint64 timeout); +typedef void (GLAPIENTRY * PFNGLDELETESYNCPROC) (GLsync GLsync); +typedef GLsync (GLAPIENTRY * PFNGLFENCESYNCPROC) (GLenum condition,GLbitfield flags); +typedef void (GLAPIENTRY * PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64* params); +typedef void (GLAPIENTRY * PFNGLGETSYNCIVPROC) (GLsync GLsync,GLenum pname,GLsizei bufSize,GLsizei* length, GLint *values); +typedef GLboolean (GLAPIENTRY * PFNGLISSYNCPROC) (GLsync GLsync); +typedef void (GLAPIENTRY * PFNGLWAITSYNCPROC) (GLsync GLsync,GLbitfield flags,GLuint64 timeout); + +#define glClientWaitSync GLEW_GET_FUN(__glewClientWaitSync) +#define glDeleteSync GLEW_GET_FUN(__glewDeleteSync) +#define glFenceSync GLEW_GET_FUN(__glewFenceSync) +#define glGetInteger64v GLEW_GET_FUN(__glewGetInteger64v) +#define glGetSynciv GLEW_GET_FUN(__glewGetSynciv) +#define glIsSync GLEW_GET_FUN(__glewIsSync) +#define glWaitSync GLEW_GET_FUN(__glewWaitSync) + +#define GLEW_ARB_sync GLEW_GET_VAR(__GLEW_ARB_sync) + +#endif /* GL_ARB_sync */ + +/* ----------------------- GL_ARB_tessellation_shader ---------------------- */ + +#ifndef GL_ARB_tessellation_shader +#define GL_ARB_tessellation_shader 1 + +#define GL_PATCHES 0xE +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1 +#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C +#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D +#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E +#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F +#define GL_PATCH_VERTICES 0x8E72 +#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73 +#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74 +#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75 +#define GL_TESS_GEN_MODE 0x8E76 +#define GL_TESS_GEN_SPACING 0x8E77 +#define GL_TESS_GEN_VERTEX_ORDER 0x8E78 +#define GL_TESS_GEN_POINT_MODE 0x8E79 +#define GL_ISOLINES 0x8E7A +#define GL_FRACTIONAL_ODD 0x8E7B +#define GL_FRACTIONAL_EVEN 0x8E7C +#define GL_MAX_PATCH_VERTICES 0x8E7D +#define GL_MAX_TESS_GEN_LEVEL 0x8E7E +#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F +#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80 +#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81 +#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82 +#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83 +#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84 +#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85 +#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86 +#define GL_TESS_EVALUATION_SHADER 0x8E87 +#define GL_TESS_CONTROL_SHADER 0x8E88 +#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89 +#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A + +typedef void (GLAPIENTRY * PFNGLPATCHPARAMETERFVPROC) (GLenum pname, const GLfloat* values); +typedef void (GLAPIENTRY * PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value); + +#define glPatchParameterfv GLEW_GET_FUN(__glewPatchParameterfv) +#define glPatchParameteri GLEW_GET_FUN(__glewPatchParameteri) + +#define GLEW_ARB_tessellation_shader GLEW_GET_VAR(__GLEW_ARB_tessellation_shader) + +#endif /* GL_ARB_tessellation_shader */ + +/* ------------------------- GL_ARB_texture_barrier ------------------------ */ + +#ifndef GL_ARB_texture_barrier +#define GL_ARB_texture_barrier 1 + +typedef void (GLAPIENTRY * PFNGLTEXTUREBARRIERPROC) (void); + +#define glTextureBarrier GLEW_GET_FUN(__glewTextureBarrier) + +#define GLEW_ARB_texture_barrier GLEW_GET_VAR(__GLEW_ARB_texture_barrier) + +#endif /* GL_ARB_texture_barrier */ + +/* ---------------------- GL_ARB_texture_border_clamp ---------------------- */ + +#ifndef GL_ARB_texture_border_clamp +#define GL_ARB_texture_border_clamp 1 + +#define GL_CLAMP_TO_BORDER_ARB 0x812D + +#define GLEW_ARB_texture_border_clamp GLEW_GET_VAR(__GLEW_ARB_texture_border_clamp) + +#endif /* GL_ARB_texture_border_clamp */ + +/* ---------------------- GL_ARB_texture_buffer_object --------------------- */ + +#ifndef GL_ARB_texture_buffer_object +#define GL_ARB_texture_buffer_object 1 + +#define GL_TEXTURE_BUFFER_ARB 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D +#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E + +typedef void (GLAPIENTRY * PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer); + +#define glTexBufferARB GLEW_GET_FUN(__glewTexBufferARB) + +#define GLEW_ARB_texture_buffer_object GLEW_GET_VAR(__GLEW_ARB_texture_buffer_object) + +#endif /* GL_ARB_texture_buffer_object */ + +/* ------------------- GL_ARB_texture_buffer_object_rgb32 ------------------ */ + +#ifndef GL_ARB_texture_buffer_object_rgb32 +#define GL_ARB_texture_buffer_object_rgb32 1 + +#define GLEW_ARB_texture_buffer_object_rgb32 GLEW_GET_VAR(__GLEW_ARB_texture_buffer_object_rgb32) + +#endif /* GL_ARB_texture_buffer_object_rgb32 */ + +/* ---------------------- GL_ARB_texture_buffer_range ---------------------- */ + +#ifndef GL_ARB_texture_buffer_range +#define GL_ARB_texture_buffer_range 1 + +#define GL_TEXTURE_BUFFER_OFFSET 0x919D +#define GL_TEXTURE_BUFFER_SIZE 0x919E +#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F + +typedef void (GLAPIENTRY * PFNGLTEXBUFFERRANGEPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLTEXTUREBUFFERRANGEEXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); + +#define glTexBufferRange GLEW_GET_FUN(__glewTexBufferRange) +#define glTextureBufferRangeEXT GLEW_GET_FUN(__glewTextureBufferRangeEXT) + +#define GLEW_ARB_texture_buffer_range GLEW_GET_VAR(__GLEW_ARB_texture_buffer_range) + +#endif /* GL_ARB_texture_buffer_range */ + +/* ----------------------- GL_ARB_texture_compression ---------------------- */ + +#ifndef GL_ARB_texture_compression +#define GL_ARB_texture_compression 1 + +#define GL_COMPRESSED_ALPHA_ARB 0x84E9 +#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA +#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB +#define GL_COMPRESSED_INTENSITY_ARB 0x84EC +#define GL_COMPRESSED_RGB_ARB 0x84ED +#define GL_COMPRESSED_RGBA_ARB 0x84EE +#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF +#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0 +#define GL_TEXTURE_COMPRESSED_ARB 0x86A1 +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2 +#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3 + +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, void *img); + +#define glCompressedTexImage1DARB GLEW_GET_FUN(__glewCompressedTexImage1DARB) +#define glCompressedTexImage2DARB GLEW_GET_FUN(__glewCompressedTexImage2DARB) +#define glCompressedTexImage3DARB GLEW_GET_FUN(__glewCompressedTexImage3DARB) +#define glCompressedTexSubImage1DARB GLEW_GET_FUN(__glewCompressedTexSubImage1DARB) +#define glCompressedTexSubImage2DARB GLEW_GET_FUN(__glewCompressedTexSubImage2DARB) +#define glCompressedTexSubImage3DARB GLEW_GET_FUN(__glewCompressedTexSubImage3DARB) +#define glGetCompressedTexImageARB GLEW_GET_FUN(__glewGetCompressedTexImageARB) + +#define GLEW_ARB_texture_compression GLEW_GET_VAR(__GLEW_ARB_texture_compression) + +#endif /* GL_ARB_texture_compression */ + +/* -------------------- GL_ARB_texture_compression_bptc -------------------- */ + +#ifndef GL_ARB_texture_compression_bptc +#define GL_ARB_texture_compression_bptc 1 + +#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C +#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D +#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E +#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F + +#define GLEW_ARB_texture_compression_bptc GLEW_GET_VAR(__GLEW_ARB_texture_compression_bptc) + +#endif /* GL_ARB_texture_compression_bptc */ + +/* -------------------- GL_ARB_texture_compression_rgtc -------------------- */ + +#ifndef GL_ARB_texture_compression_rgtc +#define GL_ARB_texture_compression_rgtc 1 + +#define GL_COMPRESSED_RED_RGTC1 0x8DBB +#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC +#define GL_COMPRESSED_RG_RGTC2 0x8DBD +#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE + +#define GLEW_ARB_texture_compression_rgtc GLEW_GET_VAR(__GLEW_ARB_texture_compression_rgtc) + +#endif /* GL_ARB_texture_compression_rgtc */ + +/* ------------------------ GL_ARB_texture_cube_map ------------------------ */ + +#ifndef GL_ARB_texture_cube_map +#define GL_ARB_texture_cube_map 1 + +#define GL_NORMAL_MAP_ARB 0x8511 +#define GL_REFLECTION_MAP_ARB 0x8512 +#define GL_TEXTURE_CUBE_MAP_ARB 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A +#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C + +#define GLEW_ARB_texture_cube_map GLEW_GET_VAR(__GLEW_ARB_texture_cube_map) + +#endif /* GL_ARB_texture_cube_map */ + +/* --------------------- GL_ARB_texture_cube_map_array --------------------- */ + +#ifndef GL_ARB_texture_cube_map_array +#define GL_ARB_texture_cube_map_array 1 + +#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A +#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B +#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F + +#define GLEW_ARB_texture_cube_map_array GLEW_GET_VAR(__GLEW_ARB_texture_cube_map_array) + +#endif /* GL_ARB_texture_cube_map_array */ + +/* ------------------------- GL_ARB_texture_env_add ------------------------ */ + +#ifndef GL_ARB_texture_env_add +#define GL_ARB_texture_env_add 1 + +#define GLEW_ARB_texture_env_add GLEW_GET_VAR(__GLEW_ARB_texture_env_add) + +#endif /* GL_ARB_texture_env_add */ + +/* ----------------------- GL_ARB_texture_env_combine ---------------------- */ + +#ifndef GL_ARB_texture_env_combine +#define GL_ARB_texture_env_combine 1 + +#define GL_SUBTRACT_ARB 0x84E7 +#define GL_COMBINE_ARB 0x8570 +#define GL_COMBINE_RGB_ARB 0x8571 +#define GL_COMBINE_ALPHA_ARB 0x8572 +#define GL_RGB_SCALE_ARB 0x8573 +#define GL_ADD_SIGNED_ARB 0x8574 +#define GL_INTERPOLATE_ARB 0x8575 +#define GL_CONSTANT_ARB 0x8576 +#define GL_PRIMARY_COLOR_ARB 0x8577 +#define GL_PREVIOUS_ARB 0x8578 +#define GL_SOURCE0_RGB_ARB 0x8580 +#define GL_SOURCE1_RGB_ARB 0x8581 +#define GL_SOURCE2_RGB_ARB 0x8582 +#define GL_SOURCE0_ALPHA_ARB 0x8588 +#define GL_SOURCE1_ALPHA_ARB 0x8589 +#define GL_SOURCE2_ALPHA_ARB 0x858A +#define GL_OPERAND0_RGB_ARB 0x8590 +#define GL_OPERAND1_RGB_ARB 0x8591 +#define GL_OPERAND2_RGB_ARB 0x8592 +#define GL_OPERAND0_ALPHA_ARB 0x8598 +#define GL_OPERAND1_ALPHA_ARB 0x8599 +#define GL_OPERAND2_ALPHA_ARB 0x859A + +#define GLEW_ARB_texture_env_combine GLEW_GET_VAR(__GLEW_ARB_texture_env_combine) + +#endif /* GL_ARB_texture_env_combine */ + +/* ---------------------- GL_ARB_texture_env_crossbar ---------------------- */ + +#ifndef GL_ARB_texture_env_crossbar +#define GL_ARB_texture_env_crossbar 1 + +#define GLEW_ARB_texture_env_crossbar GLEW_GET_VAR(__GLEW_ARB_texture_env_crossbar) + +#endif /* GL_ARB_texture_env_crossbar */ + +/* ------------------------ GL_ARB_texture_env_dot3 ------------------------ */ + +#ifndef GL_ARB_texture_env_dot3 +#define GL_ARB_texture_env_dot3 1 + +#define GL_DOT3_RGB_ARB 0x86AE +#define GL_DOT3_RGBA_ARB 0x86AF + +#define GLEW_ARB_texture_env_dot3 GLEW_GET_VAR(__GLEW_ARB_texture_env_dot3) + +#endif /* GL_ARB_texture_env_dot3 */ + +/* ---------------------- GL_ARB_texture_filter_minmax --------------------- */ + +#ifndef GL_ARB_texture_filter_minmax +#define GL_ARB_texture_filter_minmax 1 + +#define GL_TEXTURE_REDUCTION_MODE_ARB 0x9366 +#define GL_WEIGHTED_AVERAGE_ARB 0x9367 + +#define GLEW_ARB_texture_filter_minmax GLEW_GET_VAR(__GLEW_ARB_texture_filter_minmax) + +#endif /* GL_ARB_texture_filter_minmax */ + +/* -------------------------- GL_ARB_texture_float ------------------------- */ + +#ifndef GL_ARB_texture_float +#define GL_ARB_texture_float 1 + +#define GL_RGBA32F_ARB 0x8814 +#define GL_RGB32F_ARB 0x8815 +#define GL_ALPHA32F_ARB 0x8816 +#define GL_INTENSITY32F_ARB 0x8817 +#define GL_LUMINANCE32F_ARB 0x8818 +#define GL_LUMINANCE_ALPHA32F_ARB 0x8819 +#define GL_RGBA16F_ARB 0x881A +#define GL_RGB16F_ARB 0x881B +#define GL_ALPHA16F_ARB 0x881C +#define GL_INTENSITY16F_ARB 0x881D +#define GL_LUMINANCE16F_ARB 0x881E +#define GL_LUMINANCE_ALPHA16F_ARB 0x881F +#define GL_TEXTURE_RED_TYPE_ARB 0x8C10 +#define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11 +#define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12 +#define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13 +#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14 +#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15 +#define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16 +#define GL_UNSIGNED_NORMALIZED_ARB 0x8C17 + +#define GLEW_ARB_texture_float GLEW_GET_VAR(__GLEW_ARB_texture_float) + +#endif /* GL_ARB_texture_float */ + +/* ------------------------- GL_ARB_texture_gather ------------------------- */ + +#ifndef GL_ARB_texture_gather +#define GL_ARB_texture_gather 1 + +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F +#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8F9F + +#define GLEW_ARB_texture_gather GLEW_GET_VAR(__GLEW_ARB_texture_gather) + +#endif /* GL_ARB_texture_gather */ + +/* ------------------ GL_ARB_texture_mirror_clamp_to_edge ------------------ */ + +#ifndef GL_ARB_texture_mirror_clamp_to_edge +#define GL_ARB_texture_mirror_clamp_to_edge 1 + +#define GL_MIRROR_CLAMP_TO_EDGE 0x8743 + +#define GLEW_ARB_texture_mirror_clamp_to_edge GLEW_GET_VAR(__GLEW_ARB_texture_mirror_clamp_to_edge) + +#endif /* GL_ARB_texture_mirror_clamp_to_edge */ + +/* --------------------- GL_ARB_texture_mirrored_repeat -------------------- */ + +#ifndef GL_ARB_texture_mirrored_repeat +#define GL_ARB_texture_mirrored_repeat 1 + +#define GL_MIRRORED_REPEAT_ARB 0x8370 + +#define GLEW_ARB_texture_mirrored_repeat GLEW_GET_VAR(__GLEW_ARB_texture_mirrored_repeat) + +#endif /* GL_ARB_texture_mirrored_repeat */ + +/* ----------------------- GL_ARB_texture_multisample ---------------------- */ + +#ifndef GL_ARB_texture_multisample +#define GL_ARB_texture_multisample 1 + +#define GL_SAMPLE_POSITION 0x8E50 +#define GL_SAMPLE_MASK 0x8E51 +#define GL_SAMPLE_MASK_VALUE 0x8E52 +#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59 +#define GL_TEXTURE_2D_MULTISAMPLE 0x9100 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101 +#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 +#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105 +#define GL_TEXTURE_SAMPLES 0x9106 +#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107 +#define GL_SAMPLER_2D_MULTISAMPLE 0x9108 +#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109 +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A +#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B +#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D +#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E +#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F +#define GL_MAX_INTEGER_SAMPLES 0x9110 + +typedef void (GLAPIENTRY * PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat* val); +typedef void (GLAPIENTRY * PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask); +typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); + +#define glGetMultisamplefv GLEW_GET_FUN(__glewGetMultisamplefv) +#define glSampleMaski GLEW_GET_FUN(__glewSampleMaski) +#define glTexImage2DMultisample GLEW_GET_FUN(__glewTexImage2DMultisample) +#define glTexImage3DMultisample GLEW_GET_FUN(__glewTexImage3DMultisample) + +#define GLEW_ARB_texture_multisample GLEW_GET_VAR(__GLEW_ARB_texture_multisample) + +#endif /* GL_ARB_texture_multisample */ + +/* -------------------- GL_ARB_texture_non_power_of_two -------------------- */ + +#ifndef GL_ARB_texture_non_power_of_two +#define GL_ARB_texture_non_power_of_two 1 + +#define GLEW_ARB_texture_non_power_of_two GLEW_GET_VAR(__GLEW_ARB_texture_non_power_of_two) + +#endif /* GL_ARB_texture_non_power_of_two */ + +/* ---------------------- GL_ARB_texture_query_levels ---------------------- */ + +#ifndef GL_ARB_texture_query_levels +#define GL_ARB_texture_query_levels 1 + +#define GLEW_ARB_texture_query_levels GLEW_GET_VAR(__GLEW_ARB_texture_query_levels) + +#endif /* GL_ARB_texture_query_levels */ + +/* ------------------------ GL_ARB_texture_query_lod ----------------------- */ + +#ifndef GL_ARB_texture_query_lod +#define GL_ARB_texture_query_lod 1 + +#define GLEW_ARB_texture_query_lod GLEW_GET_VAR(__GLEW_ARB_texture_query_lod) + +#endif /* GL_ARB_texture_query_lod */ + +/* ------------------------ GL_ARB_texture_rectangle ----------------------- */ + +#ifndef GL_ARB_texture_rectangle +#define GL_ARB_texture_rectangle 1 + +#define GL_TEXTURE_RECTANGLE_ARB 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8 +#define GL_SAMPLER_2D_RECT_ARB 0x8B63 +#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64 + +#define GLEW_ARB_texture_rectangle GLEW_GET_VAR(__GLEW_ARB_texture_rectangle) + +#endif /* GL_ARB_texture_rectangle */ + +/* --------------------------- GL_ARB_texture_rg --------------------------- */ + +#ifndef GL_ARB_texture_rg +#define GL_ARB_texture_rg 1 + +#define GL_COMPRESSED_RED 0x8225 +#define GL_COMPRESSED_RG 0x8226 +#define GL_RG 0x8227 +#define GL_RG_INTEGER 0x8228 +#define GL_R8 0x8229 +#define GL_R16 0x822A +#define GL_RG8 0x822B +#define GL_RG16 0x822C +#define GL_R16F 0x822D +#define GL_R32F 0x822E +#define GL_RG16F 0x822F +#define GL_RG32F 0x8230 +#define GL_R8I 0x8231 +#define GL_R8UI 0x8232 +#define GL_R16I 0x8233 +#define GL_R16UI 0x8234 +#define GL_R32I 0x8235 +#define GL_R32UI 0x8236 +#define GL_RG8I 0x8237 +#define GL_RG8UI 0x8238 +#define GL_RG16I 0x8239 +#define GL_RG16UI 0x823A +#define GL_RG32I 0x823B +#define GL_RG32UI 0x823C + +#define GLEW_ARB_texture_rg GLEW_GET_VAR(__GLEW_ARB_texture_rg) + +#endif /* GL_ARB_texture_rg */ + +/* ----------------------- GL_ARB_texture_rgb10_a2ui ----------------------- */ + +#ifndef GL_ARB_texture_rgb10_a2ui +#define GL_ARB_texture_rgb10_a2ui 1 + +#define GL_RGB10_A2UI 0x906F + +#define GLEW_ARB_texture_rgb10_a2ui GLEW_GET_VAR(__GLEW_ARB_texture_rgb10_a2ui) + +#endif /* GL_ARB_texture_rgb10_a2ui */ + +/* ------------------------ GL_ARB_texture_stencil8 ------------------------ */ + +#ifndef GL_ARB_texture_stencil8 +#define GL_ARB_texture_stencil8 1 + +#define GL_STENCIL_INDEX 0x1901 +#define GL_STENCIL_INDEX8 0x8D48 + +#define GLEW_ARB_texture_stencil8 GLEW_GET_VAR(__GLEW_ARB_texture_stencil8) + +#endif /* GL_ARB_texture_stencil8 */ + +/* ------------------------- GL_ARB_texture_storage ------------------------ */ + +#ifndef GL_ARB_texture_storage +#define GL_ARB_texture_storage 1 + +#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F + +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE1DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); + +#define glTexStorage1D GLEW_GET_FUN(__glewTexStorage1D) +#define glTexStorage2D GLEW_GET_FUN(__glewTexStorage2D) +#define glTexStorage3D GLEW_GET_FUN(__glewTexStorage3D) +#define glTextureStorage1DEXT GLEW_GET_FUN(__glewTextureStorage1DEXT) +#define glTextureStorage2DEXT GLEW_GET_FUN(__glewTextureStorage2DEXT) +#define glTextureStorage3DEXT GLEW_GET_FUN(__glewTextureStorage3DEXT) + +#define GLEW_ARB_texture_storage GLEW_GET_VAR(__GLEW_ARB_texture_storage) + +#endif /* GL_ARB_texture_storage */ + +/* ------------------- GL_ARB_texture_storage_multisample ------------------ */ + +#ifndef GL_ARB_texture_storage_multisample +#define GL_ARB_texture_storage_multisample 1 + +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (GLAPIENTRY * PFNGLTEXSTORAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC) (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (GLAPIENTRY * PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC) (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); + +#define glTexStorage2DMultisample GLEW_GET_FUN(__glewTexStorage2DMultisample) +#define glTexStorage3DMultisample GLEW_GET_FUN(__glewTexStorage3DMultisample) +#define glTextureStorage2DMultisampleEXT GLEW_GET_FUN(__glewTextureStorage2DMultisampleEXT) +#define glTextureStorage3DMultisampleEXT GLEW_GET_FUN(__glewTextureStorage3DMultisampleEXT) + +#define GLEW_ARB_texture_storage_multisample GLEW_GET_VAR(__GLEW_ARB_texture_storage_multisample) + +#endif /* GL_ARB_texture_storage_multisample */ + +/* ------------------------- GL_ARB_texture_swizzle ------------------------ */ + +#ifndef GL_ARB_texture_swizzle +#define GL_ARB_texture_swizzle 1 + +#define GL_TEXTURE_SWIZZLE_R 0x8E42 +#define GL_TEXTURE_SWIZZLE_G 0x8E43 +#define GL_TEXTURE_SWIZZLE_B 0x8E44 +#define GL_TEXTURE_SWIZZLE_A 0x8E45 +#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46 + +#define GLEW_ARB_texture_swizzle GLEW_GET_VAR(__GLEW_ARB_texture_swizzle) + +#endif /* GL_ARB_texture_swizzle */ + +/* -------------------------- GL_ARB_texture_view -------------------------- */ + +#ifndef GL_ARB_texture_view +#define GL_ARB_texture_view 1 + +#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB +#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC +#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD +#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE +#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF + +typedef void (GLAPIENTRY * PFNGLTEXTUREVIEWPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); + +#define glTextureView GLEW_GET_FUN(__glewTextureView) + +#define GLEW_ARB_texture_view GLEW_GET_VAR(__GLEW_ARB_texture_view) + +#endif /* GL_ARB_texture_view */ + +/* --------------------------- GL_ARB_timer_query -------------------------- */ + +#ifndef GL_ARB_timer_query +#define GL_ARB_timer_query 1 + +#define GL_TIME_ELAPSED 0x88BF +#define GL_TIMESTAMP 0x8E28 + +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64* params); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64* params); +typedef void (GLAPIENTRY * PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target); + +#define glGetQueryObjecti64v GLEW_GET_FUN(__glewGetQueryObjecti64v) +#define glGetQueryObjectui64v GLEW_GET_FUN(__glewGetQueryObjectui64v) +#define glQueryCounter GLEW_GET_FUN(__glewQueryCounter) + +#define GLEW_ARB_timer_query GLEW_GET_VAR(__GLEW_ARB_timer_query) + +#endif /* GL_ARB_timer_query */ + +/* ----------------------- GL_ARB_transform_feedback2 ---------------------- */ + +#ifndef GL_ARB_transform_feedback2 +#define GL_ARB_transform_feedback2 1 + +#define GL_TRANSFORM_FEEDBACK 0x8E22 +#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23 +#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24 +#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25 + +typedef void (GLAPIENTRY * PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKPROC) (GLenum mode, GLuint id); +typedef void (GLAPIENTRY * PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint* ids); +typedef GLboolean (GLAPIENTRY * PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLPAUSETRANSFORMFEEDBACKPROC) (void); +typedef void (GLAPIENTRY * PFNGLRESUMETRANSFORMFEEDBACKPROC) (void); + +#define glBindTransformFeedback GLEW_GET_FUN(__glewBindTransformFeedback) +#define glDeleteTransformFeedbacks GLEW_GET_FUN(__glewDeleteTransformFeedbacks) +#define glDrawTransformFeedback GLEW_GET_FUN(__glewDrawTransformFeedback) +#define glGenTransformFeedbacks GLEW_GET_FUN(__glewGenTransformFeedbacks) +#define glIsTransformFeedback GLEW_GET_FUN(__glewIsTransformFeedback) +#define glPauseTransformFeedback GLEW_GET_FUN(__glewPauseTransformFeedback) +#define glResumeTransformFeedback GLEW_GET_FUN(__glewResumeTransformFeedback) + +#define GLEW_ARB_transform_feedback2 GLEW_GET_VAR(__GLEW_ARB_transform_feedback2) + +#endif /* GL_ARB_transform_feedback2 */ + +/* ----------------------- GL_ARB_transform_feedback3 ---------------------- */ + +#ifndef GL_ARB_transform_feedback3 +#define GL_ARB_transform_feedback3 1 + +#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70 +#define GL_MAX_VERTEX_STREAMS 0x8E71 + +typedef void (GLAPIENTRY * PFNGLBEGINQUERYINDEXEDPROC) (GLenum target, GLuint index, GLuint id); +typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) (GLenum mode, GLuint id, GLuint stream); +typedef void (GLAPIENTRY * PFNGLENDQUERYINDEXEDPROC) (GLenum target, GLuint index); +typedef void (GLAPIENTRY * PFNGLGETQUERYINDEXEDIVPROC) (GLenum target, GLuint index, GLenum pname, GLint* params); + +#define glBeginQueryIndexed GLEW_GET_FUN(__glewBeginQueryIndexed) +#define glDrawTransformFeedbackStream GLEW_GET_FUN(__glewDrawTransformFeedbackStream) +#define glEndQueryIndexed GLEW_GET_FUN(__glewEndQueryIndexed) +#define glGetQueryIndexediv GLEW_GET_FUN(__glewGetQueryIndexediv) + +#define GLEW_ARB_transform_feedback3 GLEW_GET_VAR(__GLEW_ARB_transform_feedback3) + +#endif /* GL_ARB_transform_feedback3 */ + +/* ------------------ GL_ARB_transform_feedback_instanced ------------------ */ + +#ifndef GL_ARB_transform_feedback_instanced +#define GL_ARB_transform_feedback_instanced 1 + +typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) (GLenum mode, GLuint id, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) (GLenum mode, GLuint id, GLuint stream, GLsizei primcount); + +#define glDrawTransformFeedbackInstanced GLEW_GET_FUN(__glewDrawTransformFeedbackInstanced) +#define glDrawTransformFeedbackStreamInstanced GLEW_GET_FUN(__glewDrawTransformFeedbackStreamInstanced) + +#define GLEW_ARB_transform_feedback_instanced GLEW_GET_VAR(__GLEW_ARB_transform_feedback_instanced) + +#endif /* GL_ARB_transform_feedback_instanced */ + +/* ---------------- GL_ARB_transform_feedback_overflow_query --------------- */ + +#ifndef GL_ARB_transform_feedback_overflow_query +#define GL_ARB_transform_feedback_overflow_query 1 + +#define GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB 0x82EC +#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB 0x82ED + +#define GLEW_ARB_transform_feedback_overflow_query GLEW_GET_VAR(__GLEW_ARB_transform_feedback_overflow_query) + +#endif /* GL_ARB_transform_feedback_overflow_query */ + +/* ------------------------ GL_ARB_transpose_matrix ------------------------ */ + +#ifndef GL_ARB_transpose_matrix +#define GL_ARB_transpose_matrix 1 + +#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3 +#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4 +#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5 +#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6 + +typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]); +typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]); +typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]); +typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]); + +#define glLoadTransposeMatrixdARB GLEW_GET_FUN(__glewLoadTransposeMatrixdARB) +#define glLoadTransposeMatrixfARB GLEW_GET_FUN(__glewLoadTransposeMatrixfARB) +#define glMultTransposeMatrixdARB GLEW_GET_FUN(__glewMultTransposeMatrixdARB) +#define glMultTransposeMatrixfARB GLEW_GET_FUN(__glewMultTransposeMatrixfARB) + +#define GLEW_ARB_transpose_matrix GLEW_GET_VAR(__GLEW_ARB_transpose_matrix) + +#endif /* GL_ARB_transpose_matrix */ + +/* ---------------------- GL_ARB_uniform_buffer_object --------------------- */ + +#ifndef GL_ARB_uniform_buffer_object +#define GL_ARB_uniform_buffer_object 1 + +#define GL_UNIFORM_BUFFER 0x8A11 +#define GL_UNIFORM_BUFFER_BINDING 0x8A28 +#define GL_UNIFORM_BUFFER_START 0x8A29 +#define GL_UNIFORM_BUFFER_SIZE 0x8A2A +#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C +#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D +#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E +#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F +#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 +#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 +#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 +#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 +#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 +#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36 +#define GL_UNIFORM_TYPE 0x8A37 +#define GL_UNIFORM_SIZE 0x8A38 +#define GL_UNIFORM_NAME_LENGTH 0x8A39 +#define GL_UNIFORM_BLOCK_INDEX 0x8A3A +#define GL_UNIFORM_OFFSET 0x8A3B +#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C +#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D +#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E +#define GL_UNIFORM_BLOCK_BINDING 0x8A3F +#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40 +#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 +#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 +#define GL_INVALID_INDEX 0xFFFFFFFF + +typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformName); +typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint* data); +typedef GLuint (GLAPIENTRY * PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar* uniformBlockName); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar* const * uniformNames, GLuint* uniformIndices); +typedef void (GLAPIENTRY * PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); + +#define glBindBufferBase GLEW_GET_FUN(__glewBindBufferBase) +#define glBindBufferRange GLEW_GET_FUN(__glewBindBufferRange) +#define glGetActiveUniformBlockName GLEW_GET_FUN(__glewGetActiveUniformBlockName) +#define glGetActiveUniformBlockiv GLEW_GET_FUN(__glewGetActiveUniformBlockiv) +#define glGetActiveUniformName GLEW_GET_FUN(__glewGetActiveUniformName) +#define glGetActiveUniformsiv GLEW_GET_FUN(__glewGetActiveUniformsiv) +#define glGetIntegeri_v GLEW_GET_FUN(__glewGetIntegeri_v) +#define glGetUniformBlockIndex GLEW_GET_FUN(__glewGetUniformBlockIndex) +#define glGetUniformIndices GLEW_GET_FUN(__glewGetUniformIndices) +#define glUniformBlockBinding GLEW_GET_FUN(__glewUniformBlockBinding) + +#define GLEW_ARB_uniform_buffer_object GLEW_GET_VAR(__GLEW_ARB_uniform_buffer_object) + +#endif /* GL_ARB_uniform_buffer_object */ + +/* ------------------------ GL_ARB_vertex_array_bgra ----------------------- */ + +#ifndef GL_ARB_vertex_array_bgra +#define GL_ARB_vertex_array_bgra 1 + +#define GL_BGRA 0x80E1 + +#define GLEW_ARB_vertex_array_bgra GLEW_GET_VAR(__GLEW_ARB_vertex_array_bgra) + +#endif /* GL_ARB_vertex_array_bgra */ + +/* ----------------------- GL_ARB_vertex_array_object ---------------------- */ + +#ifndef GL_ARB_vertex_array_object +#define GL_ARB_vertex_array_object 1 + +#define GL_VERTEX_ARRAY_BINDING 0x85B5 + +typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYPROC) (GLuint array); +typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint* arrays); +typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint* arrays); +typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYPROC) (GLuint array); + +#define glBindVertexArray GLEW_GET_FUN(__glewBindVertexArray) +#define glDeleteVertexArrays GLEW_GET_FUN(__glewDeleteVertexArrays) +#define glGenVertexArrays GLEW_GET_FUN(__glewGenVertexArrays) +#define glIsVertexArray GLEW_GET_FUN(__glewIsVertexArray) + +#define GLEW_ARB_vertex_array_object GLEW_GET_VAR(__GLEW_ARB_vertex_array_object) + +#endif /* GL_ARB_vertex_array_object */ + +/* ----------------------- GL_ARB_vertex_attrib_64bit ---------------------- */ + +#ifndef GL_ARB_vertex_attrib_64bit +#define GL_ARB_vertex_attrib_64bit 1 + +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLDVPROC) (GLuint index, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DPROC) (GLuint index, GLdouble x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer); + +#define glGetVertexAttribLdv GLEW_GET_FUN(__glewGetVertexAttribLdv) +#define glVertexAttribL1d GLEW_GET_FUN(__glewVertexAttribL1d) +#define glVertexAttribL1dv GLEW_GET_FUN(__glewVertexAttribL1dv) +#define glVertexAttribL2d GLEW_GET_FUN(__glewVertexAttribL2d) +#define glVertexAttribL2dv GLEW_GET_FUN(__glewVertexAttribL2dv) +#define glVertexAttribL3d GLEW_GET_FUN(__glewVertexAttribL3d) +#define glVertexAttribL3dv GLEW_GET_FUN(__glewVertexAttribL3dv) +#define glVertexAttribL4d GLEW_GET_FUN(__glewVertexAttribL4d) +#define glVertexAttribL4dv GLEW_GET_FUN(__glewVertexAttribL4dv) +#define glVertexAttribLPointer GLEW_GET_FUN(__glewVertexAttribLPointer) + +#define GLEW_ARB_vertex_attrib_64bit GLEW_GET_VAR(__GLEW_ARB_vertex_attrib_64bit) + +#endif /* GL_ARB_vertex_attrib_64bit */ + +/* ---------------------- GL_ARB_vertex_attrib_binding --------------------- */ + +#ifndef GL_ARB_vertex_attrib_binding +#define GL_ARB_vertex_attrib_binding 1 + +#define GL_VERTEX_ATTRIB_BINDING 0x82D4 +#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5 +#define GL_VERTEX_BINDING_DIVISOR 0x82D6 +#define GL_VERTEX_BINDING_OFFSET 0x82D7 +#define GL_VERTEX_BINDING_STRIDE 0x82D8 +#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9 +#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA +#define GL_VERTEX_BINDING_BUFFER 0x8F4F + +typedef void (GLAPIENTRY * PFNGLBINDVERTEXBUFFERPROC) (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC) (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC) (GLuint vaobj, GLuint attribindex, GLuint bindingindex); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC) (GLuint vaobj, GLuint bindingindex, GLuint divisor); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBBINDINGPROC) (GLuint attribindex, GLuint bindingindex); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (GLAPIENTRY * PFNGLVERTEXBINDINGDIVISORPROC) (GLuint bindingindex, GLuint divisor); + +#define glBindVertexBuffer GLEW_GET_FUN(__glewBindVertexBuffer) +#define glVertexArrayBindVertexBufferEXT GLEW_GET_FUN(__glewVertexArrayBindVertexBufferEXT) +#define glVertexArrayVertexAttribBindingEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribBindingEXT) +#define glVertexArrayVertexAttribFormatEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribFormatEXT) +#define glVertexArrayVertexAttribIFormatEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribIFormatEXT) +#define glVertexArrayVertexAttribLFormatEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribLFormatEXT) +#define glVertexArrayVertexBindingDivisorEXT GLEW_GET_FUN(__glewVertexArrayVertexBindingDivisorEXT) +#define glVertexAttribBinding GLEW_GET_FUN(__glewVertexAttribBinding) +#define glVertexAttribFormat GLEW_GET_FUN(__glewVertexAttribFormat) +#define glVertexAttribIFormat GLEW_GET_FUN(__glewVertexAttribIFormat) +#define glVertexAttribLFormat GLEW_GET_FUN(__glewVertexAttribLFormat) +#define glVertexBindingDivisor GLEW_GET_FUN(__glewVertexBindingDivisor) + +#define GLEW_ARB_vertex_attrib_binding GLEW_GET_VAR(__GLEW_ARB_vertex_attrib_binding) + +#endif /* GL_ARB_vertex_attrib_binding */ + +/* -------------------------- GL_ARB_vertex_blend -------------------------- */ + +#ifndef GL_ARB_vertex_blend +#define GL_ARB_vertex_blend 1 + +#define GL_MODELVIEW0_ARB 0x1700 +#define GL_MODELVIEW1_ARB 0x850A +#define GL_MAX_VERTEX_UNITS_ARB 0x86A4 +#define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5 +#define GL_WEIGHT_SUM_UNITY_ARB 0x86A6 +#define GL_VERTEX_BLEND_ARB 0x86A7 +#define GL_CURRENT_WEIGHT_ARB 0x86A8 +#define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9 +#define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA +#define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB +#define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC +#define GL_WEIGHT_ARRAY_ARB 0x86AD +#define GL_MODELVIEW2_ARB 0x8722 +#define GL_MODELVIEW3_ARB 0x8723 +#define GL_MODELVIEW4_ARB 0x8724 +#define GL_MODELVIEW5_ARB 0x8725 +#define GL_MODELVIEW6_ARB 0x8726 +#define GL_MODELVIEW7_ARB 0x8727 +#define GL_MODELVIEW8_ARB 0x8728 +#define GL_MODELVIEW9_ARB 0x8729 +#define GL_MODELVIEW10_ARB 0x872A +#define GL_MODELVIEW11_ARB 0x872B +#define GL_MODELVIEW12_ARB 0x872C +#define GL_MODELVIEW13_ARB 0x872D +#define GL_MODELVIEW14_ARB 0x872E +#define GL_MODELVIEW15_ARB 0x872F +#define GL_MODELVIEW16_ARB 0x8730 +#define GL_MODELVIEW17_ARB 0x8731 +#define GL_MODELVIEW18_ARB 0x8732 +#define GL_MODELVIEW19_ARB 0x8733 +#define GL_MODELVIEW20_ARB 0x8734 +#define GL_MODELVIEW21_ARB 0x8735 +#define GL_MODELVIEW22_ARB 0x8736 +#define GL_MODELVIEW23_ARB 0x8737 +#define GL_MODELVIEW24_ARB 0x8738 +#define GL_MODELVIEW25_ARB 0x8739 +#define GL_MODELVIEW26_ARB 0x873A +#define GL_MODELVIEW27_ARB 0x873B +#define GL_MODELVIEW28_ARB 0x873C +#define GL_MODELVIEW29_ARB 0x873D +#define GL_MODELVIEW30_ARB 0x873E +#define GL_MODELVIEW31_ARB 0x873F + +typedef void (GLAPIENTRY * PFNGLVERTEXBLENDARBPROC) (GLint count); +typedef void (GLAPIENTRY * PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, void *pointer); +typedef void (GLAPIENTRY * PFNGLWEIGHTBVARBPROC) (GLint size, GLbyte *weights); +typedef void (GLAPIENTRY * PFNGLWEIGHTDVARBPROC) (GLint size, GLdouble *weights); +typedef void (GLAPIENTRY * PFNGLWEIGHTFVARBPROC) (GLint size, GLfloat *weights); +typedef void (GLAPIENTRY * PFNGLWEIGHTIVARBPROC) (GLint size, GLint *weights); +typedef void (GLAPIENTRY * PFNGLWEIGHTSVARBPROC) (GLint size, GLshort *weights); +typedef void (GLAPIENTRY * PFNGLWEIGHTUBVARBPROC) (GLint size, GLubyte *weights); +typedef void (GLAPIENTRY * PFNGLWEIGHTUIVARBPROC) (GLint size, GLuint *weights); +typedef void (GLAPIENTRY * PFNGLWEIGHTUSVARBPROC) (GLint size, GLushort *weights); + +#define glVertexBlendARB GLEW_GET_FUN(__glewVertexBlendARB) +#define glWeightPointerARB GLEW_GET_FUN(__glewWeightPointerARB) +#define glWeightbvARB GLEW_GET_FUN(__glewWeightbvARB) +#define glWeightdvARB GLEW_GET_FUN(__glewWeightdvARB) +#define glWeightfvARB GLEW_GET_FUN(__glewWeightfvARB) +#define glWeightivARB GLEW_GET_FUN(__glewWeightivARB) +#define glWeightsvARB GLEW_GET_FUN(__glewWeightsvARB) +#define glWeightubvARB GLEW_GET_FUN(__glewWeightubvARB) +#define glWeightuivARB GLEW_GET_FUN(__glewWeightuivARB) +#define glWeightusvARB GLEW_GET_FUN(__glewWeightusvARB) + +#define GLEW_ARB_vertex_blend GLEW_GET_VAR(__GLEW_ARB_vertex_blend) + +#endif /* GL_ARB_vertex_blend */ + +/* ---------------------- GL_ARB_vertex_buffer_object ---------------------- */ + +#ifndef GL_ARB_vertex_buffer_object +#define GL_ARB_vertex_buffer_object 1 + +#define GL_BUFFER_SIZE_ARB 0x8764 +#define GL_BUFFER_USAGE_ARB 0x8765 +#define GL_ARRAY_BUFFER_ARB 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893 +#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895 +#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896 +#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897 +#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898 +#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899 +#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A +#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B +#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C +#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D +#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F +#define GL_READ_ONLY_ARB 0x88B8 +#define GL_WRITE_ONLY_ARB 0x88B9 +#define GL_READ_WRITE_ARB 0x88BA +#define GL_BUFFER_ACCESS_ARB 0x88BB +#define GL_BUFFER_MAPPED_ARB 0x88BC +#define GL_BUFFER_MAP_POINTER_ARB 0x88BD +#define GL_STREAM_DRAW_ARB 0x88E0 +#define GL_STREAM_READ_ARB 0x88E1 +#define GL_STREAM_COPY_ARB 0x88E2 +#define GL_STATIC_DRAW_ARB 0x88E4 +#define GL_STATIC_READ_ARB 0x88E5 +#define GL_STATIC_COPY_ARB 0x88E6 +#define GL_DYNAMIC_DRAW_ARB 0x88E8 +#define GL_DYNAMIC_READ_ARB 0x88E9 +#define GL_DYNAMIC_COPY_ARB 0x88EA + +typedef ptrdiff_t GLintptrARB; +typedef ptrdiff_t GLsizeiptrARB; + +typedef void (GLAPIENTRY * PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const void *data, GLenum usage); +typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void *data); +typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint* buffers); +typedef void (GLAPIENTRY * PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint* buffers); +typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, void** params); +typedef void (GLAPIENTRY * PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, void *data); +typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERARBPROC) (GLuint buffer); +typedef void * (GLAPIENTRY * PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access); +typedef GLboolean (GLAPIENTRY * PFNGLUNMAPBUFFERARBPROC) (GLenum target); + +#define glBindBufferARB GLEW_GET_FUN(__glewBindBufferARB) +#define glBufferDataARB GLEW_GET_FUN(__glewBufferDataARB) +#define glBufferSubDataARB GLEW_GET_FUN(__glewBufferSubDataARB) +#define glDeleteBuffersARB GLEW_GET_FUN(__glewDeleteBuffersARB) +#define glGenBuffersARB GLEW_GET_FUN(__glewGenBuffersARB) +#define glGetBufferParameterivARB GLEW_GET_FUN(__glewGetBufferParameterivARB) +#define glGetBufferPointervARB GLEW_GET_FUN(__glewGetBufferPointervARB) +#define glGetBufferSubDataARB GLEW_GET_FUN(__glewGetBufferSubDataARB) +#define glIsBufferARB GLEW_GET_FUN(__glewIsBufferARB) +#define glMapBufferARB GLEW_GET_FUN(__glewMapBufferARB) +#define glUnmapBufferARB GLEW_GET_FUN(__glewUnmapBufferARB) + +#define GLEW_ARB_vertex_buffer_object GLEW_GET_VAR(__GLEW_ARB_vertex_buffer_object) + +#endif /* GL_ARB_vertex_buffer_object */ + +/* ------------------------- GL_ARB_vertex_program ------------------------- */ + +#ifndef GL_ARB_vertex_program +#define GL_ARB_vertex_program 1 + +#define GL_COLOR_SUM_ARB 0x8458 +#define GL_VERTEX_PROGRAM_ARB 0x8620 +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625 +#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626 +#define GL_PROGRAM_LENGTH_ARB 0x8627 +#define GL_PROGRAM_STRING_ARB 0x8628 +#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E +#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F +#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640 +#define GL_CURRENT_MATRIX_ARB 0x8641 +#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642 +#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643 +#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645 +#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B +#define GL_PROGRAM_BINDING_ARB 0x8677 +#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A +#define GL_PROGRAM_ERROR_STRING_ARB 0x8874 +#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875 +#define GL_PROGRAM_FORMAT_ARB 0x8876 +#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0 +#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1 +#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2 +#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3 +#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4 +#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5 +#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6 +#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7 +#define GL_PROGRAM_PARAMETERS_ARB 0x88A8 +#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9 +#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA +#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB +#define GL_PROGRAM_ATTRIBS_ARB 0x88AC +#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD +#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE +#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF +#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0 +#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1 +#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2 +#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3 +#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4 +#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5 +#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6 +#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7 +#define GL_MATRIX0_ARB 0x88C0 +#define GL_MATRIX1_ARB 0x88C1 +#define GL_MATRIX2_ARB 0x88C2 +#define GL_MATRIX3_ARB 0x88C3 +#define GL_MATRIX4_ARB 0x88C4 +#define GL_MATRIX5_ARB 0x88C5 +#define GL_MATRIX6_ARB 0x88C6 +#define GL_MATRIX7_ARB 0x88C7 +#define GL_MATRIX8_ARB 0x88C8 +#define GL_MATRIX9_ARB 0x88C9 +#define GL_MATRIX10_ARB 0x88CA +#define GL_MATRIX11_ARB 0x88CB +#define GL_MATRIX12_ARB 0x88CC +#define GL_MATRIX13_ARB 0x88CD +#define GL_MATRIX14_ARB 0x88CE +#define GL_MATRIX15_ARB 0x88CF +#define GL_MATRIX16_ARB 0x88D0 +#define GL_MATRIX17_ARB 0x88D1 +#define GL_MATRIX18_ARB 0x88D2 +#define GL_MATRIX19_ARB 0x88D3 +#define GL_MATRIX20_ARB 0x88D4 +#define GL_MATRIX21_ARB 0x88D5 +#define GL_MATRIX22_ARB 0x88D6 +#define GL_MATRIX23_ARB 0x88D7 +#define GL_MATRIX24_ARB 0x88D8 +#define GL_MATRIX25_ARB 0x88D9 +#define GL_MATRIX26_ARB 0x88DA +#define GL_MATRIX27_ARB 0x88DB +#define GL_MATRIX28_ARB 0x88DC +#define GL_MATRIX29_ARB 0x88DD +#define GL_MATRIX30_ARB 0x88DE +#define GL_MATRIX31_ARB 0x88DF + +typedef void (GLAPIENTRY * PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program); +typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint* programs); +typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index); +typedef void (GLAPIENTRY * PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint* programs); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, void *string); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, void** pointer); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMARBPROC) (GLuint program); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const void *string); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); + +#define glBindProgramARB GLEW_GET_FUN(__glewBindProgramARB) +#define glDeleteProgramsARB GLEW_GET_FUN(__glewDeleteProgramsARB) +#define glDisableVertexAttribArrayARB GLEW_GET_FUN(__glewDisableVertexAttribArrayARB) +#define glEnableVertexAttribArrayARB GLEW_GET_FUN(__glewEnableVertexAttribArrayARB) +#define glGenProgramsARB GLEW_GET_FUN(__glewGenProgramsARB) +#define glGetProgramEnvParameterdvARB GLEW_GET_FUN(__glewGetProgramEnvParameterdvARB) +#define glGetProgramEnvParameterfvARB GLEW_GET_FUN(__glewGetProgramEnvParameterfvARB) +#define glGetProgramLocalParameterdvARB GLEW_GET_FUN(__glewGetProgramLocalParameterdvARB) +#define glGetProgramLocalParameterfvARB GLEW_GET_FUN(__glewGetProgramLocalParameterfvARB) +#define glGetProgramStringARB GLEW_GET_FUN(__glewGetProgramStringARB) +#define glGetProgramivARB GLEW_GET_FUN(__glewGetProgramivARB) +#define glGetVertexAttribPointervARB GLEW_GET_FUN(__glewGetVertexAttribPointervARB) +#define glGetVertexAttribdvARB GLEW_GET_FUN(__glewGetVertexAttribdvARB) +#define glGetVertexAttribfvARB GLEW_GET_FUN(__glewGetVertexAttribfvARB) +#define glGetVertexAttribivARB GLEW_GET_FUN(__glewGetVertexAttribivARB) +#define glIsProgramARB GLEW_GET_FUN(__glewIsProgramARB) +#define glProgramEnvParameter4dARB GLEW_GET_FUN(__glewProgramEnvParameter4dARB) +#define glProgramEnvParameter4dvARB GLEW_GET_FUN(__glewProgramEnvParameter4dvARB) +#define glProgramEnvParameter4fARB GLEW_GET_FUN(__glewProgramEnvParameter4fARB) +#define glProgramEnvParameter4fvARB GLEW_GET_FUN(__glewProgramEnvParameter4fvARB) +#define glProgramLocalParameter4dARB GLEW_GET_FUN(__glewProgramLocalParameter4dARB) +#define glProgramLocalParameter4dvARB GLEW_GET_FUN(__glewProgramLocalParameter4dvARB) +#define glProgramLocalParameter4fARB GLEW_GET_FUN(__glewProgramLocalParameter4fARB) +#define glProgramLocalParameter4fvARB GLEW_GET_FUN(__glewProgramLocalParameter4fvARB) +#define glProgramStringARB GLEW_GET_FUN(__glewProgramStringARB) +#define glVertexAttrib1dARB GLEW_GET_FUN(__glewVertexAttrib1dARB) +#define glVertexAttrib1dvARB GLEW_GET_FUN(__glewVertexAttrib1dvARB) +#define glVertexAttrib1fARB GLEW_GET_FUN(__glewVertexAttrib1fARB) +#define glVertexAttrib1fvARB GLEW_GET_FUN(__glewVertexAttrib1fvARB) +#define glVertexAttrib1sARB GLEW_GET_FUN(__glewVertexAttrib1sARB) +#define glVertexAttrib1svARB GLEW_GET_FUN(__glewVertexAttrib1svARB) +#define glVertexAttrib2dARB GLEW_GET_FUN(__glewVertexAttrib2dARB) +#define glVertexAttrib2dvARB GLEW_GET_FUN(__glewVertexAttrib2dvARB) +#define glVertexAttrib2fARB GLEW_GET_FUN(__glewVertexAttrib2fARB) +#define glVertexAttrib2fvARB GLEW_GET_FUN(__glewVertexAttrib2fvARB) +#define glVertexAttrib2sARB GLEW_GET_FUN(__glewVertexAttrib2sARB) +#define glVertexAttrib2svARB GLEW_GET_FUN(__glewVertexAttrib2svARB) +#define glVertexAttrib3dARB GLEW_GET_FUN(__glewVertexAttrib3dARB) +#define glVertexAttrib3dvARB GLEW_GET_FUN(__glewVertexAttrib3dvARB) +#define glVertexAttrib3fARB GLEW_GET_FUN(__glewVertexAttrib3fARB) +#define glVertexAttrib3fvARB GLEW_GET_FUN(__glewVertexAttrib3fvARB) +#define glVertexAttrib3sARB GLEW_GET_FUN(__glewVertexAttrib3sARB) +#define glVertexAttrib3svARB GLEW_GET_FUN(__glewVertexAttrib3svARB) +#define glVertexAttrib4NbvARB GLEW_GET_FUN(__glewVertexAttrib4NbvARB) +#define glVertexAttrib4NivARB GLEW_GET_FUN(__glewVertexAttrib4NivARB) +#define glVertexAttrib4NsvARB GLEW_GET_FUN(__glewVertexAttrib4NsvARB) +#define glVertexAttrib4NubARB GLEW_GET_FUN(__glewVertexAttrib4NubARB) +#define glVertexAttrib4NubvARB GLEW_GET_FUN(__glewVertexAttrib4NubvARB) +#define glVertexAttrib4NuivARB GLEW_GET_FUN(__glewVertexAttrib4NuivARB) +#define glVertexAttrib4NusvARB GLEW_GET_FUN(__glewVertexAttrib4NusvARB) +#define glVertexAttrib4bvARB GLEW_GET_FUN(__glewVertexAttrib4bvARB) +#define glVertexAttrib4dARB GLEW_GET_FUN(__glewVertexAttrib4dARB) +#define glVertexAttrib4dvARB GLEW_GET_FUN(__glewVertexAttrib4dvARB) +#define glVertexAttrib4fARB GLEW_GET_FUN(__glewVertexAttrib4fARB) +#define glVertexAttrib4fvARB GLEW_GET_FUN(__glewVertexAttrib4fvARB) +#define glVertexAttrib4ivARB GLEW_GET_FUN(__glewVertexAttrib4ivARB) +#define glVertexAttrib4sARB GLEW_GET_FUN(__glewVertexAttrib4sARB) +#define glVertexAttrib4svARB GLEW_GET_FUN(__glewVertexAttrib4svARB) +#define glVertexAttrib4ubvARB GLEW_GET_FUN(__glewVertexAttrib4ubvARB) +#define glVertexAttrib4uivARB GLEW_GET_FUN(__glewVertexAttrib4uivARB) +#define glVertexAttrib4usvARB GLEW_GET_FUN(__glewVertexAttrib4usvARB) +#define glVertexAttribPointerARB GLEW_GET_FUN(__glewVertexAttribPointerARB) + +#define GLEW_ARB_vertex_program GLEW_GET_VAR(__GLEW_ARB_vertex_program) + +#endif /* GL_ARB_vertex_program */ + +/* -------------------------- GL_ARB_vertex_shader ------------------------- */ + +#ifndef GL_ARB_vertex_shader +#define GL_ARB_vertex_shader 1 + +#define GL_VERTEX_SHADER_ARB 0x8B31 +#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A +#define GL_MAX_VARYING_FLOATS_ARB 0x8B4B +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D +#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89 +#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A + +typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB* name); +typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint *size, GLenum *type, GLcharARB *name); +typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB* name); + +#define glBindAttribLocationARB GLEW_GET_FUN(__glewBindAttribLocationARB) +#define glGetActiveAttribARB GLEW_GET_FUN(__glewGetActiveAttribARB) +#define glGetAttribLocationARB GLEW_GET_FUN(__glewGetAttribLocationARB) + +#define GLEW_ARB_vertex_shader GLEW_GET_VAR(__GLEW_ARB_vertex_shader) + +#endif /* GL_ARB_vertex_shader */ + +/* ------------------- GL_ARB_vertex_type_10f_11f_11f_rev ------------------ */ + +#ifndef GL_ARB_vertex_type_10f_11f_11f_rev +#define GL_ARB_vertex_type_10f_11f_11f_rev 1 + +#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B + +#define GLEW_ARB_vertex_type_10f_11f_11f_rev GLEW_GET_VAR(__GLEW_ARB_vertex_type_10f_11f_11f_rev) + +#endif /* GL_ARB_vertex_type_10f_11f_11f_rev */ + +/* ------------------- GL_ARB_vertex_type_2_10_10_10_rev ------------------- */ + +#ifndef GL_ARB_vertex_type_2_10_10_10_rev +#define GL_ARB_vertex_type_2_10_10_10_rev 1 + +#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 +#define GL_INT_2_10_10_10_REV 0x8D9F + +typedef void (GLAPIENTRY * PFNGLCOLORP3UIPROC) (GLenum type, GLuint color); +typedef void (GLAPIENTRY * PFNGLCOLORP3UIVPROC) (GLenum type, const GLuint* color); +typedef void (GLAPIENTRY * PFNGLCOLORP4UIPROC) (GLenum type, GLuint color); +typedef void (GLAPIENTRY * PFNGLCOLORP4UIVPROC) (GLenum type, const GLuint* color); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP1UIPROC) (GLenum texture, GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP1UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP2UIPROC) (GLenum texture, GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP2UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP3UIPROC) (GLenum texture, GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP3UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP4UIPROC) (GLenum texture, GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP4UIVPROC) (GLenum texture, GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLNORMALP3UIPROC) (GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLNORMALP3UIVPROC) (GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORP3UIPROC) (GLenum type, GLuint color); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORP3UIVPROC) (GLenum type, const GLuint* color); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP1UIPROC) (GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP1UIVPROC) (GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP2UIPROC) (GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP2UIVPROC) (GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP3UIPROC) (GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP3UIVPROC) (GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP4UIPROC) (GLenum type, GLuint coords); +typedef void (GLAPIENTRY * PFNGLTEXCOORDP4UIVPROC) (GLenum type, const GLuint* coords); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP1UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP1UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP2UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP2UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP3UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP3UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP4UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP4UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXP2UIPROC) (GLenum type, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXP2UIVPROC) (GLenum type, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXP3UIPROC) (GLenum type, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXP3UIVPROC) (GLenum type, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLVERTEXP4UIPROC) (GLenum type, GLuint value); +typedef void (GLAPIENTRY * PFNGLVERTEXP4UIVPROC) (GLenum type, const GLuint* value); + +#define glColorP3ui GLEW_GET_FUN(__glewColorP3ui) +#define glColorP3uiv GLEW_GET_FUN(__glewColorP3uiv) +#define glColorP4ui GLEW_GET_FUN(__glewColorP4ui) +#define glColorP4uiv GLEW_GET_FUN(__glewColorP4uiv) +#define glMultiTexCoordP1ui GLEW_GET_FUN(__glewMultiTexCoordP1ui) +#define glMultiTexCoordP1uiv GLEW_GET_FUN(__glewMultiTexCoordP1uiv) +#define glMultiTexCoordP2ui GLEW_GET_FUN(__glewMultiTexCoordP2ui) +#define glMultiTexCoordP2uiv GLEW_GET_FUN(__glewMultiTexCoordP2uiv) +#define glMultiTexCoordP3ui GLEW_GET_FUN(__glewMultiTexCoordP3ui) +#define glMultiTexCoordP3uiv GLEW_GET_FUN(__glewMultiTexCoordP3uiv) +#define glMultiTexCoordP4ui GLEW_GET_FUN(__glewMultiTexCoordP4ui) +#define glMultiTexCoordP4uiv GLEW_GET_FUN(__glewMultiTexCoordP4uiv) +#define glNormalP3ui GLEW_GET_FUN(__glewNormalP3ui) +#define glNormalP3uiv GLEW_GET_FUN(__glewNormalP3uiv) +#define glSecondaryColorP3ui GLEW_GET_FUN(__glewSecondaryColorP3ui) +#define glSecondaryColorP3uiv GLEW_GET_FUN(__glewSecondaryColorP3uiv) +#define glTexCoordP1ui GLEW_GET_FUN(__glewTexCoordP1ui) +#define glTexCoordP1uiv GLEW_GET_FUN(__glewTexCoordP1uiv) +#define glTexCoordP2ui GLEW_GET_FUN(__glewTexCoordP2ui) +#define glTexCoordP2uiv GLEW_GET_FUN(__glewTexCoordP2uiv) +#define glTexCoordP3ui GLEW_GET_FUN(__glewTexCoordP3ui) +#define glTexCoordP3uiv GLEW_GET_FUN(__glewTexCoordP3uiv) +#define glTexCoordP4ui GLEW_GET_FUN(__glewTexCoordP4ui) +#define glTexCoordP4uiv GLEW_GET_FUN(__glewTexCoordP4uiv) +#define glVertexAttribP1ui GLEW_GET_FUN(__glewVertexAttribP1ui) +#define glVertexAttribP1uiv GLEW_GET_FUN(__glewVertexAttribP1uiv) +#define glVertexAttribP2ui GLEW_GET_FUN(__glewVertexAttribP2ui) +#define glVertexAttribP2uiv GLEW_GET_FUN(__glewVertexAttribP2uiv) +#define glVertexAttribP3ui GLEW_GET_FUN(__glewVertexAttribP3ui) +#define glVertexAttribP3uiv GLEW_GET_FUN(__glewVertexAttribP3uiv) +#define glVertexAttribP4ui GLEW_GET_FUN(__glewVertexAttribP4ui) +#define glVertexAttribP4uiv GLEW_GET_FUN(__glewVertexAttribP4uiv) +#define glVertexP2ui GLEW_GET_FUN(__glewVertexP2ui) +#define glVertexP2uiv GLEW_GET_FUN(__glewVertexP2uiv) +#define glVertexP3ui GLEW_GET_FUN(__glewVertexP3ui) +#define glVertexP3uiv GLEW_GET_FUN(__glewVertexP3uiv) +#define glVertexP4ui GLEW_GET_FUN(__glewVertexP4ui) +#define glVertexP4uiv GLEW_GET_FUN(__glewVertexP4uiv) + +#define GLEW_ARB_vertex_type_2_10_10_10_rev GLEW_GET_VAR(__GLEW_ARB_vertex_type_2_10_10_10_rev) + +#endif /* GL_ARB_vertex_type_2_10_10_10_rev */ + +/* ------------------------- GL_ARB_viewport_array ------------------------- */ + +#ifndef GL_ARB_viewport_array +#define GL_ARB_viewport_array 1 + +#define GL_DEPTH_RANGE 0x0B70 +#define GL_VIEWPORT 0x0BA2 +#define GL_SCISSOR_BOX 0x0C10 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_MAX_VIEWPORTS 0x825B +#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C +#define GL_VIEWPORT_BOUNDS_RANGE 0x825D +#define GL_LAYER_PROVOKING_VERTEX 0x825E +#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F +#define GL_UNDEFINED_VERTEX 0x8260 +#define GL_FIRST_VERTEX_CONVENTION 0x8E4D +#define GL_LAST_VERTEX_CONVENTION 0x8E4E +#define GL_PROVOKING_VERTEX 0x8E4F + +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEARRAYVPROC) (GLuint first, GLsizei count, const GLclampd * v); +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEINDEXEDPROC) (GLuint index, GLclampd n, GLclampd f); +typedef void (GLAPIENTRY * PFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble* data); +typedef void (GLAPIENTRY * PFNGLGETFLOATI_VPROC) (GLenum target, GLuint index, GLfloat* data); +typedef void (GLAPIENTRY * PFNGLSCISSORARRAYVPROC) (GLuint first, GLsizei count, const GLint * v); +typedef void (GLAPIENTRY * PFNGLSCISSORINDEXEDPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLSCISSORINDEXEDVPROC) (GLuint index, const GLint * v); +typedef void (GLAPIENTRY * PFNGLVIEWPORTARRAYVPROC) (GLuint first, GLsizei count, const GLfloat * v); +typedef void (GLAPIENTRY * PFNGLVIEWPORTINDEXEDFPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); +typedef void (GLAPIENTRY * PFNGLVIEWPORTINDEXEDFVPROC) (GLuint index, const GLfloat * v); + +#define glDepthRangeArrayv GLEW_GET_FUN(__glewDepthRangeArrayv) +#define glDepthRangeIndexed GLEW_GET_FUN(__glewDepthRangeIndexed) +#define glGetDoublei_v GLEW_GET_FUN(__glewGetDoublei_v) +#define glGetFloati_v GLEW_GET_FUN(__glewGetFloati_v) +#define glScissorArrayv GLEW_GET_FUN(__glewScissorArrayv) +#define glScissorIndexed GLEW_GET_FUN(__glewScissorIndexed) +#define glScissorIndexedv GLEW_GET_FUN(__glewScissorIndexedv) +#define glViewportArrayv GLEW_GET_FUN(__glewViewportArrayv) +#define glViewportIndexedf GLEW_GET_FUN(__glewViewportIndexedf) +#define glViewportIndexedfv GLEW_GET_FUN(__glewViewportIndexedfv) + +#define GLEW_ARB_viewport_array GLEW_GET_VAR(__GLEW_ARB_viewport_array) + +#endif /* GL_ARB_viewport_array */ + +/* --------------------------- GL_ARB_window_pos --------------------------- */ + +#ifndef GL_ARB_window_pos +#define GL_ARB_window_pos 1 + +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVARBPROC) (const GLdouble* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVARBPROC) (const GLfloat* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVARBPROC) (const GLint* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVARBPROC) (const GLshort* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVARBPROC) (const GLdouble* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVARBPROC) (const GLfloat* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVARBPROC) (const GLint* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVARBPROC) (const GLshort* p); + +#define glWindowPos2dARB GLEW_GET_FUN(__glewWindowPos2dARB) +#define glWindowPos2dvARB GLEW_GET_FUN(__glewWindowPos2dvARB) +#define glWindowPos2fARB GLEW_GET_FUN(__glewWindowPos2fARB) +#define glWindowPos2fvARB GLEW_GET_FUN(__glewWindowPos2fvARB) +#define glWindowPos2iARB GLEW_GET_FUN(__glewWindowPos2iARB) +#define glWindowPos2ivARB GLEW_GET_FUN(__glewWindowPos2ivARB) +#define glWindowPos2sARB GLEW_GET_FUN(__glewWindowPos2sARB) +#define glWindowPos2svARB GLEW_GET_FUN(__glewWindowPos2svARB) +#define glWindowPos3dARB GLEW_GET_FUN(__glewWindowPos3dARB) +#define glWindowPos3dvARB GLEW_GET_FUN(__glewWindowPos3dvARB) +#define glWindowPos3fARB GLEW_GET_FUN(__glewWindowPos3fARB) +#define glWindowPos3fvARB GLEW_GET_FUN(__glewWindowPos3fvARB) +#define glWindowPos3iARB GLEW_GET_FUN(__glewWindowPos3iARB) +#define glWindowPos3ivARB GLEW_GET_FUN(__glewWindowPos3ivARB) +#define glWindowPos3sARB GLEW_GET_FUN(__glewWindowPos3sARB) +#define glWindowPos3svARB GLEW_GET_FUN(__glewWindowPos3svARB) + +#define GLEW_ARB_window_pos GLEW_GET_VAR(__GLEW_ARB_window_pos) + +#endif /* GL_ARB_window_pos */ + +/* ------------------------- GL_ATIX_point_sprites ------------------------- */ + +#ifndef GL_ATIX_point_sprites +#define GL_ATIX_point_sprites 1 + +#define GL_TEXTURE_POINT_MODE_ATIX 0x60B0 +#define GL_TEXTURE_POINT_ONE_COORD_ATIX 0x60B1 +#define GL_TEXTURE_POINT_SPRITE_ATIX 0x60B2 +#define GL_POINT_SPRITE_CULL_MODE_ATIX 0x60B3 +#define GL_POINT_SPRITE_CULL_CENTER_ATIX 0x60B4 +#define GL_POINT_SPRITE_CULL_CLIP_ATIX 0x60B5 + +#define GLEW_ATIX_point_sprites GLEW_GET_VAR(__GLEW_ATIX_point_sprites) + +#endif /* GL_ATIX_point_sprites */ + +/* ---------------------- GL_ATIX_texture_env_combine3 --------------------- */ + +#ifndef GL_ATIX_texture_env_combine3 +#define GL_ATIX_texture_env_combine3 1 + +#define GL_MODULATE_ADD_ATIX 0x8744 +#define GL_MODULATE_SIGNED_ADD_ATIX 0x8745 +#define GL_MODULATE_SUBTRACT_ATIX 0x8746 + +#define GLEW_ATIX_texture_env_combine3 GLEW_GET_VAR(__GLEW_ATIX_texture_env_combine3) + +#endif /* GL_ATIX_texture_env_combine3 */ + +/* ----------------------- GL_ATIX_texture_env_route ----------------------- */ + +#ifndef GL_ATIX_texture_env_route +#define GL_ATIX_texture_env_route 1 + +#define GL_SECONDARY_COLOR_ATIX 0x8747 +#define GL_TEXTURE_OUTPUT_RGB_ATIX 0x8748 +#define GL_TEXTURE_OUTPUT_ALPHA_ATIX 0x8749 + +#define GLEW_ATIX_texture_env_route GLEW_GET_VAR(__GLEW_ATIX_texture_env_route) + +#endif /* GL_ATIX_texture_env_route */ + +/* ---------------- GL_ATIX_vertex_shader_output_point_size ---------------- */ + +#ifndef GL_ATIX_vertex_shader_output_point_size +#define GL_ATIX_vertex_shader_output_point_size 1 + +#define GL_OUTPUT_POINT_SIZE_ATIX 0x610E + +#define GLEW_ATIX_vertex_shader_output_point_size GLEW_GET_VAR(__GLEW_ATIX_vertex_shader_output_point_size) + +#endif /* GL_ATIX_vertex_shader_output_point_size */ + +/* -------------------------- GL_ATI_draw_buffers -------------------------- */ + +#ifndef GL_ATI_draw_buffers +#define GL_ATI_draw_buffers 1 + +#define GL_MAX_DRAW_BUFFERS_ATI 0x8824 +#define GL_DRAW_BUFFER0_ATI 0x8825 +#define GL_DRAW_BUFFER1_ATI 0x8826 +#define GL_DRAW_BUFFER2_ATI 0x8827 +#define GL_DRAW_BUFFER3_ATI 0x8828 +#define GL_DRAW_BUFFER4_ATI 0x8829 +#define GL_DRAW_BUFFER5_ATI 0x882A +#define GL_DRAW_BUFFER6_ATI 0x882B +#define GL_DRAW_BUFFER7_ATI 0x882C +#define GL_DRAW_BUFFER8_ATI 0x882D +#define GL_DRAW_BUFFER9_ATI 0x882E +#define GL_DRAW_BUFFER10_ATI 0x882F +#define GL_DRAW_BUFFER11_ATI 0x8830 +#define GL_DRAW_BUFFER12_ATI 0x8831 +#define GL_DRAW_BUFFER13_ATI 0x8832 +#define GL_DRAW_BUFFER14_ATI 0x8833 +#define GL_DRAW_BUFFER15_ATI 0x8834 + +typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum* bufs); + +#define glDrawBuffersATI GLEW_GET_FUN(__glewDrawBuffersATI) + +#define GLEW_ATI_draw_buffers GLEW_GET_VAR(__GLEW_ATI_draw_buffers) + +#endif /* GL_ATI_draw_buffers */ + +/* -------------------------- GL_ATI_element_array ------------------------- */ + +#ifndef GL_ATI_element_array +#define GL_ATI_element_array 1 + +#define GL_ELEMENT_ARRAY_ATI 0x8768 +#define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769 +#define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A + +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count); +typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count); +typedef void (GLAPIENTRY * PFNGLELEMENTPOINTERATIPROC) (GLenum type, const void *pointer); + +#define glDrawElementArrayATI GLEW_GET_FUN(__glewDrawElementArrayATI) +#define glDrawRangeElementArrayATI GLEW_GET_FUN(__glewDrawRangeElementArrayATI) +#define glElementPointerATI GLEW_GET_FUN(__glewElementPointerATI) + +#define GLEW_ATI_element_array GLEW_GET_VAR(__GLEW_ATI_element_array) + +#endif /* GL_ATI_element_array */ + +/* ------------------------- GL_ATI_envmap_bumpmap ------------------------- */ + +#ifndef GL_ATI_envmap_bumpmap +#define GL_ATI_envmap_bumpmap 1 + +#define GL_BUMP_ROT_MATRIX_ATI 0x8775 +#define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776 +#define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777 +#define GL_BUMP_TEX_UNITS_ATI 0x8778 +#define GL_DUDV_ATI 0x8779 +#define GL_DU8DV8_ATI 0x877A +#define GL_BUMP_ENVMAP_ATI 0x877B +#define GL_BUMP_TARGET_ATI 0x877C + +typedef void (GLAPIENTRY * PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param); +typedef void (GLAPIENTRY * PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param); +typedef void (GLAPIENTRY * PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param); +typedef void (GLAPIENTRY * PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param); + +#define glGetTexBumpParameterfvATI GLEW_GET_FUN(__glewGetTexBumpParameterfvATI) +#define glGetTexBumpParameterivATI GLEW_GET_FUN(__glewGetTexBumpParameterivATI) +#define glTexBumpParameterfvATI GLEW_GET_FUN(__glewTexBumpParameterfvATI) +#define glTexBumpParameterivATI GLEW_GET_FUN(__glewTexBumpParameterivATI) + +#define GLEW_ATI_envmap_bumpmap GLEW_GET_VAR(__GLEW_ATI_envmap_bumpmap) + +#endif /* GL_ATI_envmap_bumpmap */ + +/* ------------------------- GL_ATI_fragment_shader ------------------------ */ + +#ifndef GL_ATI_fragment_shader +#define GL_ATI_fragment_shader 1 + +#define GL_2X_BIT_ATI 0x00000001 +#define GL_RED_BIT_ATI 0x00000001 +#define GL_4X_BIT_ATI 0x00000002 +#define GL_COMP_BIT_ATI 0x00000002 +#define GL_GREEN_BIT_ATI 0x00000002 +#define GL_8X_BIT_ATI 0x00000004 +#define GL_BLUE_BIT_ATI 0x00000004 +#define GL_NEGATE_BIT_ATI 0x00000004 +#define GL_BIAS_BIT_ATI 0x00000008 +#define GL_HALF_BIT_ATI 0x00000008 +#define GL_QUARTER_BIT_ATI 0x00000010 +#define GL_EIGHTH_BIT_ATI 0x00000020 +#define GL_SATURATE_BIT_ATI 0x00000040 +#define GL_FRAGMENT_SHADER_ATI 0x8920 +#define GL_REG_0_ATI 0x8921 +#define GL_REG_1_ATI 0x8922 +#define GL_REG_2_ATI 0x8923 +#define GL_REG_3_ATI 0x8924 +#define GL_REG_4_ATI 0x8925 +#define GL_REG_5_ATI 0x8926 +#define GL_CON_0_ATI 0x8941 +#define GL_CON_1_ATI 0x8942 +#define GL_CON_2_ATI 0x8943 +#define GL_CON_3_ATI 0x8944 +#define GL_CON_4_ATI 0x8945 +#define GL_CON_5_ATI 0x8946 +#define GL_CON_6_ATI 0x8947 +#define GL_CON_7_ATI 0x8948 +#define GL_MOV_ATI 0x8961 +#define GL_ADD_ATI 0x8963 +#define GL_MUL_ATI 0x8964 +#define GL_SUB_ATI 0x8965 +#define GL_DOT3_ATI 0x8966 +#define GL_DOT4_ATI 0x8967 +#define GL_MAD_ATI 0x8968 +#define GL_LERP_ATI 0x8969 +#define GL_CND_ATI 0x896A +#define GL_CND0_ATI 0x896B +#define GL_DOT2_ADD_ATI 0x896C +#define GL_SECONDARY_INTERPOLATOR_ATI 0x896D +#define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E +#define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F +#define GL_NUM_PASSES_ATI 0x8970 +#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971 +#define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972 +#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973 +#define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974 +#define GL_COLOR_ALPHA_PAIRING_ATI 0x8975 +#define GL_SWIZZLE_STR_ATI 0x8976 +#define GL_SWIZZLE_STQ_ATI 0x8977 +#define GL_SWIZZLE_STR_DR_ATI 0x8978 +#define GL_SWIZZLE_STQ_DQ_ATI 0x8979 +#define GL_SWIZZLE_STRQ_ATI 0x897A +#define GL_SWIZZLE_STRQ_DQ_ATI 0x897B + +typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); +typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); +typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); +typedef void (GLAPIENTRY * PFNGLBEGINFRAGMENTSHADERATIPROC) (void); +typedef void (GLAPIENTRY * PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); +typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); +typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); +typedef void (GLAPIENTRY * PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLENDFRAGMENTSHADERATIPROC) (void); +typedef GLuint (GLAPIENTRY * PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range); +typedef void (GLAPIENTRY * PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle); +typedef void (GLAPIENTRY * PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle); +typedef void (GLAPIENTRY * PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat* value); + +#define glAlphaFragmentOp1ATI GLEW_GET_FUN(__glewAlphaFragmentOp1ATI) +#define glAlphaFragmentOp2ATI GLEW_GET_FUN(__glewAlphaFragmentOp2ATI) +#define glAlphaFragmentOp3ATI GLEW_GET_FUN(__glewAlphaFragmentOp3ATI) +#define glBeginFragmentShaderATI GLEW_GET_FUN(__glewBeginFragmentShaderATI) +#define glBindFragmentShaderATI GLEW_GET_FUN(__glewBindFragmentShaderATI) +#define glColorFragmentOp1ATI GLEW_GET_FUN(__glewColorFragmentOp1ATI) +#define glColorFragmentOp2ATI GLEW_GET_FUN(__glewColorFragmentOp2ATI) +#define glColorFragmentOp3ATI GLEW_GET_FUN(__glewColorFragmentOp3ATI) +#define glDeleteFragmentShaderATI GLEW_GET_FUN(__glewDeleteFragmentShaderATI) +#define glEndFragmentShaderATI GLEW_GET_FUN(__glewEndFragmentShaderATI) +#define glGenFragmentShadersATI GLEW_GET_FUN(__glewGenFragmentShadersATI) +#define glPassTexCoordATI GLEW_GET_FUN(__glewPassTexCoordATI) +#define glSampleMapATI GLEW_GET_FUN(__glewSampleMapATI) +#define glSetFragmentShaderConstantATI GLEW_GET_FUN(__glewSetFragmentShaderConstantATI) + +#define GLEW_ATI_fragment_shader GLEW_GET_VAR(__GLEW_ATI_fragment_shader) + +#endif /* GL_ATI_fragment_shader */ + +/* ------------------------ GL_ATI_map_object_buffer ----------------------- */ + +#ifndef GL_ATI_map_object_buffer +#define GL_ATI_map_object_buffer 1 + +typedef void * (GLAPIENTRY * PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer); + +#define glMapObjectBufferATI GLEW_GET_FUN(__glewMapObjectBufferATI) +#define glUnmapObjectBufferATI GLEW_GET_FUN(__glewUnmapObjectBufferATI) + +#define GLEW_ATI_map_object_buffer GLEW_GET_VAR(__GLEW_ATI_map_object_buffer) + +#endif /* GL_ATI_map_object_buffer */ + +/* ----------------------------- GL_ATI_meminfo ---------------------------- */ + +#ifndef GL_ATI_meminfo +#define GL_ATI_meminfo 1 + +#define GL_VBO_FREE_MEMORY_ATI 0x87FB +#define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC +#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD + +#define GLEW_ATI_meminfo GLEW_GET_VAR(__GLEW_ATI_meminfo) + +#endif /* GL_ATI_meminfo */ + +/* -------------------------- GL_ATI_pn_triangles -------------------------- */ + +#ifndef GL_ATI_pn_triangles +#define GL_ATI_pn_triangles 1 + +#define GL_PN_TRIANGLES_ATI 0x87F0 +#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1 +#define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2 +#define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3 +#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4 +#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5 +#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6 +#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7 +#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8 + +typedef void (GLAPIENTRY * PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param); + +#define glPNTrianglesfATI GLEW_GET_FUN(__glewPNTrianglesfATI) +#define glPNTrianglesiATI GLEW_GET_FUN(__glewPNTrianglesiATI) + +#define GLEW_ATI_pn_triangles GLEW_GET_VAR(__GLEW_ATI_pn_triangles) + +#endif /* GL_ATI_pn_triangles */ + +/* ------------------------ GL_ATI_separate_stencil ------------------------ */ + +#ifndef GL_ATI_separate_stencil +#define GL_ATI_separate_stencil 1 + +#define GL_STENCIL_BACK_FUNC_ATI 0x8800 +#define GL_STENCIL_BACK_FAIL_ATI 0x8801 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803 + +typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); + +#define glStencilFuncSeparateATI GLEW_GET_FUN(__glewStencilFuncSeparateATI) +#define glStencilOpSeparateATI GLEW_GET_FUN(__glewStencilOpSeparateATI) + +#define GLEW_ATI_separate_stencil GLEW_GET_VAR(__GLEW_ATI_separate_stencil) + +#endif /* GL_ATI_separate_stencil */ + +/* ----------------------- GL_ATI_shader_texture_lod ----------------------- */ + +#ifndef GL_ATI_shader_texture_lod +#define GL_ATI_shader_texture_lod 1 + +#define GLEW_ATI_shader_texture_lod GLEW_GET_VAR(__GLEW_ATI_shader_texture_lod) + +#endif /* GL_ATI_shader_texture_lod */ + +/* ---------------------- GL_ATI_text_fragment_shader ---------------------- */ + +#ifndef GL_ATI_text_fragment_shader +#define GL_ATI_text_fragment_shader 1 + +#define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200 + +#define GLEW_ATI_text_fragment_shader GLEW_GET_VAR(__GLEW_ATI_text_fragment_shader) + +#endif /* GL_ATI_text_fragment_shader */ + +/* --------------------- GL_ATI_texture_compression_3dc -------------------- */ + +#ifndef GL_ATI_texture_compression_3dc +#define GL_ATI_texture_compression_3dc 1 + +#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837 + +#define GLEW_ATI_texture_compression_3dc GLEW_GET_VAR(__GLEW_ATI_texture_compression_3dc) + +#endif /* GL_ATI_texture_compression_3dc */ + +/* ---------------------- GL_ATI_texture_env_combine3 ---------------------- */ + +#ifndef GL_ATI_texture_env_combine3 +#define GL_ATI_texture_env_combine3 1 + +#define GL_MODULATE_ADD_ATI 0x8744 +#define GL_MODULATE_SIGNED_ADD_ATI 0x8745 +#define GL_MODULATE_SUBTRACT_ATI 0x8746 + +#define GLEW_ATI_texture_env_combine3 GLEW_GET_VAR(__GLEW_ATI_texture_env_combine3) + +#endif /* GL_ATI_texture_env_combine3 */ + +/* -------------------------- GL_ATI_texture_float ------------------------- */ + +#ifndef GL_ATI_texture_float +#define GL_ATI_texture_float 1 + +#define GL_RGBA_FLOAT32_ATI 0x8814 +#define GL_RGB_FLOAT32_ATI 0x8815 +#define GL_ALPHA_FLOAT32_ATI 0x8816 +#define GL_INTENSITY_FLOAT32_ATI 0x8817 +#define GL_LUMINANCE_FLOAT32_ATI 0x8818 +#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819 +#define GL_RGBA_FLOAT16_ATI 0x881A +#define GL_RGB_FLOAT16_ATI 0x881B +#define GL_ALPHA_FLOAT16_ATI 0x881C +#define GL_INTENSITY_FLOAT16_ATI 0x881D +#define GL_LUMINANCE_FLOAT16_ATI 0x881E +#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F + +#define GLEW_ATI_texture_float GLEW_GET_VAR(__GLEW_ATI_texture_float) + +#endif /* GL_ATI_texture_float */ + +/* ----------------------- GL_ATI_texture_mirror_once ---------------------- */ + +#ifndef GL_ATI_texture_mirror_once +#define GL_ATI_texture_mirror_once 1 + +#define GL_MIRROR_CLAMP_ATI 0x8742 +#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743 + +#define GLEW_ATI_texture_mirror_once GLEW_GET_VAR(__GLEW_ATI_texture_mirror_once) + +#endif /* GL_ATI_texture_mirror_once */ + +/* ----------------------- GL_ATI_vertex_array_object ---------------------- */ + +#ifndef GL_ATI_vertex_array_object +#define GL_ATI_vertex_array_object 1 + +#define GL_STATIC_ATI 0x8760 +#define GL_DYNAMIC_ATI 0x8761 +#define GL_PRESERVE_ATI 0x8762 +#define GL_DISCARD_ATI 0x8763 +#define GL_OBJECT_BUFFER_SIZE_ATI 0x8764 +#define GL_OBJECT_BUFFER_USAGE_ATI 0x8765 +#define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766 +#define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767 + +typedef void (GLAPIENTRY * PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); +typedef void (GLAPIENTRY * PFNGLFREEOBJECTBUFFERATIPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer); +typedef GLuint (GLAPIENTRY * PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const void *pointer, GLenum usage); +typedef void (GLAPIENTRY * PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const void *pointer, GLenum preserve); +typedef void (GLAPIENTRY * PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); + +#define glArrayObjectATI GLEW_GET_FUN(__glewArrayObjectATI) +#define glFreeObjectBufferATI GLEW_GET_FUN(__glewFreeObjectBufferATI) +#define glGetArrayObjectfvATI GLEW_GET_FUN(__glewGetArrayObjectfvATI) +#define glGetArrayObjectivATI GLEW_GET_FUN(__glewGetArrayObjectivATI) +#define glGetObjectBufferfvATI GLEW_GET_FUN(__glewGetObjectBufferfvATI) +#define glGetObjectBufferivATI GLEW_GET_FUN(__glewGetObjectBufferivATI) +#define glGetVariantArrayObjectfvATI GLEW_GET_FUN(__glewGetVariantArrayObjectfvATI) +#define glGetVariantArrayObjectivATI GLEW_GET_FUN(__glewGetVariantArrayObjectivATI) +#define glIsObjectBufferATI GLEW_GET_FUN(__glewIsObjectBufferATI) +#define glNewObjectBufferATI GLEW_GET_FUN(__glewNewObjectBufferATI) +#define glUpdateObjectBufferATI GLEW_GET_FUN(__glewUpdateObjectBufferATI) +#define glVariantArrayObjectATI GLEW_GET_FUN(__glewVariantArrayObjectATI) + +#define GLEW_ATI_vertex_array_object GLEW_GET_VAR(__GLEW_ATI_vertex_array_object) + +#endif /* GL_ATI_vertex_array_object */ + +/* ------------------- GL_ATI_vertex_attrib_array_object ------------------- */ + +#ifndef GL_ATI_vertex_attrib_array_object +#define GL_ATI_vertex_attrib_array_object 1 + +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) (GLuint index, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset); + +#define glGetVertexAttribArrayObjectfvATI GLEW_GET_FUN(__glewGetVertexAttribArrayObjectfvATI) +#define glGetVertexAttribArrayObjectivATI GLEW_GET_FUN(__glewGetVertexAttribArrayObjectivATI) +#define glVertexAttribArrayObjectATI GLEW_GET_FUN(__glewVertexAttribArrayObjectATI) + +#define GLEW_ATI_vertex_attrib_array_object GLEW_GET_VAR(__GLEW_ATI_vertex_attrib_array_object) + +#endif /* GL_ATI_vertex_attrib_array_object */ + +/* ------------------------- GL_ATI_vertex_streams ------------------------- */ + +#ifndef GL_ATI_vertex_streams +#define GL_ATI_vertex_streams 1 + +#define GL_MAX_VERTEX_STREAMS_ATI 0x876B +#define GL_VERTEX_SOURCE_ATI 0x876C +#define GL_VERTEX_STREAM0_ATI 0x876D +#define GL_VERTEX_STREAM1_ATI 0x876E +#define GL_VERTEX_STREAM2_ATI 0x876F +#define GL_VERTEX_STREAM3_ATI 0x8770 +#define GL_VERTEX_STREAM4_ATI 0x8771 +#define GL_VERTEX_STREAM5_ATI 0x8772 +#define GL_VERTEX_STREAM6_ATI 0x8773 +#define GL_VERTEX_STREAM7_ATI 0x8774 + +typedef void (GLAPIENTRY * PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte x, GLbyte y, GLbyte z); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *coords); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *coords); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1DATIPROC) (GLenum stream, GLdouble x); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1DVATIPROC) (GLenum stream, const GLdouble *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1FATIPROC) (GLenum stream, GLfloat x); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1FVATIPROC) (GLenum stream, const GLfloat *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1IATIPROC) (GLenum stream, GLint x); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1IVATIPROC) (GLenum stream, const GLint *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1SATIPROC) (GLenum stream, GLshort x); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1SVATIPROC) (GLenum stream, const GLshort *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *coords); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *coords); + +#define glClientActiveVertexStreamATI GLEW_GET_FUN(__glewClientActiveVertexStreamATI) +#define glNormalStream3bATI GLEW_GET_FUN(__glewNormalStream3bATI) +#define glNormalStream3bvATI GLEW_GET_FUN(__glewNormalStream3bvATI) +#define glNormalStream3dATI GLEW_GET_FUN(__glewNormalStream3dATI) +#define glNormalStream3dvATI GLEW_GET_FUN(__glewNormalStream3dvATI) +#define glNormalStream3fATI GLEW_GET_FUN(__glewNormalStream3fATI) +#define glNormalStream3fvATI GLEW_GET_FUN(__glewNormalStream3fvATI) +#define glNormalStream3iATI GLEW_GET_FUN(__glewNormalStream3iATI) +#define glNormalStream3ivATI GLEW_GET_FUN(__glewNormalStream3ivATI) +#define glNormalStream3sATI GLEW_GET_FUN(__glewNormalStream3sATI) +#define glNormalStream3svATI GLEW_GET_FUN(__glewNormalStream3svATI) +#define glVertexBlendEnvfATI GLEW_GET_FUN(__glewVertexBlendEnvfATI) +#define glVertexBlendEnviATI GLEW_GET_FUN(__glewVertexBlendEnviATI) +#define glVertexStream1dATI GLEW_GET_FUN(__glewVertexStream1dATI) +#define glVertexStream1dvATI GLEW_GET_FUN(__glewVertexStream1dvATI) +#define glVertexStream1fATI GLEW_GET_FUN(__glewVertexStream1fATI) +#define glVertexStream1fvATI GLEW_GET_FUN(__glewVertexStream1fvATI) +#define glVertexStream1iATI GLEW_GET_FUN(__glewVertexStream1iATI) +#define glVertexStream1ivATI GLEW_GET_FUN(__glewVertexStream1ivATI) +#define glVertexStream1sATI GLEW_GET_FUN(__glewVertexStream1sATI) +#define glVertexStream1svATI GLEW_GET_FUN(__glewVertexStream1svATI) +#define glVertexStream2dATI GLEW_GET_FUN(__glewVertexStream2dATI) +#define glVertexStream2dvATI GLEW_GET_FUN(__glewVertexStream2dvATI) +#define glVertexStream2fATI GLEW_GET_FUN(__glewVertexStream2fATI) +#define glVertexStream2fvATI GLEW_GET_FUN(__glewVertexStream2fvATI) +#define glVertexStream2iATI GLEW_GET_FUN(__glewVertexStream2iATI) +#define glVertexStream2ivATI GLEW_GET_FUN(__glewVertexStream2ivATI) +#define glVertexStream2sATI GLEW_GET_FUN(__glewVertexStream2sATI) +#define glVertexStream2svATI GLEW_GET_FUN(__glewVertexStream2svATI) +#define glVertexStream3dATI GLEW_GET_FUN(__glewVertexStream3dATI) +#define glVertexStream3dvATI GLEW_GET_FUN(__glewVertexStream3dvATI) +#define glVertexStream3fATI GLEW_GET_FUN(__glewVertexStream3fATI) +#define glVertexStream3fvATI GLEW_GET_FUN(__glewVertexStream3fvATI) +#define glVertexStream3iATI GLEW_GET_FUN(__glewVertexStream3iATI) +#define glVertexStream3ivATI GLEW_GET_FUN(__glewVertexStream3ivATI) +#define glVertexStream3sATI GLEW_GET_FUN(__glewVertexStream3sATI) +#define glVertexStream3svATI GLEW_GET_FUN(__glewVertexStream3svATI) +#define glVertexStream4dATI GLEW_GET_FUN(__glewVertexStream4dATI) +#define glVertexStream4dvATI GLEW_GET_FUN(__glewVertexStream4dvATI) +#define glVertexStream4fATI GLEW_GET_FUN(__glewVertexStream4fATI) +#define glVertexStream4fvATI GLEW_GET_FUN(__glewVertexStream4fvATI) +#define glVertexStream4iATI GLEW_GET_FUN(__glewVertexStream4iATI) +#define glVertexStream4ivATI GLEW_GET_FUN(__glewVertexStream4ivATI) +#define glVertexStream4sATI GLEW_GET_FUN(__glewVertexStream4sATI) +#define glVertexStream4svATI GLEW_GET_FUN(__glewVertexStream4svATI) + +#define GLEW_ATI_vertex_streams GLEW_GET_VAR(__GLEW_ATI_vertex_streams) + +#endif /* GL_ATI_vertex_streams */ + +/* --------------------------- GL_EXT_422_pixels --------------------------- */ + +#ifndef GL_EXT_422_pixels +#define GL_EXT_422_pixels 1 + +#define GL_422_EXT 0x80CC +#define GL_422_REV_EXT 0x80CD +#define GL_422_AVERAGE_EXT 0x80CE +#define GL_422_REV_AVERAGE_EXT 0x80CF + +#define GLEW_EXT_422_pixels GLEW_GET_VAR(__GLEW_EXT_422_pixels) + +#endif /* GL_EXT_422_pixels */ + +/* ---------------------------- GL_EXT_Cg_shader --------------------------- */ + +#ifndef GL_EXT_Cg_shader +#define GL_EXT_Cg_shader 1 + +#define GL_CG_VERTEX_SHADER_EXT 0x890E +#define GL_CG_FRAGMENT_SHADER_EXT 0x890F + +#define GLEW_EXT_Cg_shader GLEW_GET_VAR(__GLEW_EXT_Cg_shader) + +#endif /* GL_EXT_Cg_shader */ + +/* ------------------------------ GL_EXT_abgr ------------------------------ */ + +#ifndef GL_EXT_abgr +#define GL_EXT_abgr 1 + +#define GL_ABGR_EXT 0x8000 + +#define GLEW_EXT_abgr GLEW_GET_VAR(__GLEW_EXT_abgr) + +#endif /* GL_EXT_abgr */ + +/* ------------------------------ GL_EXT_bgra ------------------------------ */ + +#ifndef GL_EXT_bgra +#define GL_EXT_bgra 1 + +#define GL_BGR_EXT 0x80E0 +#define GL_BGRA_EXT 0x80E1 + +#define GLEW_EXT_bgra GLEW_GET_VAR(__GLEW_EXT_bgra) + +#endif /* GL_EXT_bgra */ + +/* ------------------------ GL_EXT_bindable_uniform ------------------------ */ + +#ifndef GL_EXT_bindable_uniform +#define GL_EXT_bindable_uniform 1 + +#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2 +#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3 +#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4 +#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED +#define GL_UNIFORM_BUFFER_EXT 0x8DEE +#define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF + +typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMBUFFERSIZEEXTPROC) (GLuint program, GLint location); +typedef GLintptr (GLAPIENTRY * PFNGLGETUNIFORMOFFSETEXTPROC) (GLuint program, GLint location); +typedef void (GLAPIENTRY * PFNGLUNIFORMBUFFEREXTPROC) (GLuint program, GLint location, GLuint buffer); + +#define glGetUniformBufferSizeEXT GLEW_GET_FUN(__glewGetUniformBufferSizeEXT) +#define glGetUniformOffsetEXT GLEW_GET_FUN(__glewGetUniformOffsetEXT) +#define glUniformBufferEXT GLEW_GET_FUN(__glewUniformBufferEXT) + +#define GLEW_EXT_bindable_uniform GLEW_GET_VAR(__GLEW_EXT_bindable_uniform) + +#endif /* GL_EXT_bindable_uniform */ + +/* --------------------------- GL_EXT_blend_color -------------------------- */ + +#ifndef GL_EXT_blend_color +#define GL_EXT_blend_color 1 + +#define GL_CONSTANT_COLOR_EXT 0x8001 +#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002 +#define GL_CONSTANT_ALPHA_EXT 0x8003 +#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004 +#define GL_BLEND_COLOR_EXT 0x8005 + +typedef void (GLAPIENTRY * PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); + +#define glBlendColorEXT GLEW_GET_FUN(__glewBlendColorEXT) + +#define GLEW_EXT_blend_color GLEW_GET_VAR(__GLEW_EXT_blend_color) + +#endif /* GL_EXT_blend_color */ + +/* --------------------- GL_EXT_blend_equation_separate -------------------- */ + +#ifndef GL_EXT_blend_equation_separate +#define GL_EXT_blend_equation_separate 1 + +#define GL_BLEND_EQUATION_RGB_EXT 0x8009 +#define GL_BLEND_EQUATION_ALPHA_EXT 0x883D + +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha); + +#define glBlendEquationSeparateEXT GLEW_GET_FUN(__glewBlendEquationSeparateEXT) + +#define GLEW_EXT_blend_equation_separate GLEW_GET_VAR(__GLEW_EXT_blend_equation_separate) + +#endif /* GL_EXT_blend_equation_separate */ + +/* ----------------------- GL_EXT_blend_func_separate ---------------------- */ + +#ifndef GL_EXT_blend_func_separate +#define GL_EXT_blend_func_separate 1 + +#define GL_BLEND_DST_RGB_EXT 0x80C8 +#define GL_BLEND_SRC_RGB_EXT 0x80C9 +#define GL_BLEND_DST_ALPHA_EXT 0x80CA +#define GL_BLEND_SRC_ALPHA_EXT 0x80CB + +typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); + +#define glBlendFuncSeparateEXT GLEW_GET_FUN(__glewBlendFuncSeparateEXT) + +#define GLEW_EXT_blend_func_separate GLEW_GET_VAR(__GLEW_EXT_blend_func_separate) + +#endif /* GL_EXT_blend_func_separate */ + +/* ------------------------- GL_EXT_blend_logic_op ------------------------- */ + +#ifndef GL_EXT_blend_logic_op +#define GL_EXT_blend_logic_op 1 + +#define GLEW_EXT_blend_logic_op GLEW_GET_VAR(__GLEW_EXT_blend_logic_op) + +#endif /* GL_EXT_blend_logic_op */ + +/* -------------------------- GL_EXT_blend_minmax -------------------------- */ + +#ifndef GL_EXT_blend_minmax +#define GL_EXT_blend_minmax 1 + +#define GL_FUNC_ADD_EXT 0x8006 +#define GL_MIN_EXT 0x8007 +#define GL_MAX_EXT 0x8008 +#define GL_BLEND_EQUATION_EXT 0x8009 + +typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONEXTPROC) (GLenum mode); + +#define glBlendEquationEXT GLEW_GET_FUN(__glewBlendEquationEXT) + +#define GLEW_EXT_blend_minmax GLEW_GET_VAR(__GLEW_EXT_blend_minmax) + +#endif /* GL_EXT_blend_minmax */ + +/* ------------------------- GL_EXT_blend_subtract ------------------------- */ + +#ifndef GL_EXT_blend_subtract +#define GL_EXT_blend_subtract 1 + +#define GL_FUNC_SUBTRACT_EXT 0x800A +#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B + +#define GLEW_EXT_blend_subtract GLEW_GET_VAR(__GLEW_EXT_blend_subtract) + +#endif /* GL_EXT_blend_subtract */ + +/* ------------------------ GL_EXT_clip_volume_hint ------------------------ */ + +#ifndef GL_EXT_clip_volume_hint +#define GL_EXT_clip_volume_hint 1 + +#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0 + +#define GLEW_EXT_clip_volume_hint GLEW_GET_VAR(__GLEW_EXT_clip_volume_hint) + +#endif /* GL_EXT_clip_volume_hint */ + +/* ------------------------------ GL_EXT_cmyka ----------------------------- */ + +#ifndef GL_EXT_cmyka +#define GL_EXT_cmyka 1 + +#define GL_CMYK_EXT 0x800C +#define GL_CMYKA_EXT 0x800D +#define GL_PACK_CMYK_HINT_EXT 0x800E +#define GL_UNPACK_CMYK_HINT_EXT 0x800F + +#define GLEW_EXT_cmyka GLEW_GET_VAR(__GLEW_EXT_cmyka) + +#endif /* GL_EXT_cmyka */ + +/* ------------------------- GL_EXT_color_subtable ------------------------- */ + +#ifndef GL_EXT_color_subtable +#define GL_EXT_color_subtable 1 + +typedef void (GLAPIENTRY * PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); + +#define glColorSubTableEXT GLEW_GET_FUN(__glewColorSubTableEXT) +#define glCopyColorSubTableEXT GLEW_GET_FUN(__glewCopyColorSubTableEXT) + +#define GLEW_EXT_color_subtable GLEW_GET_VAR(__GLEW_EXT_color_subtable) + +#endif /* GL_EXT_color_subtable */ + +/* ---------------------- GL_EXT_compiled_vertex_array --------------------- */ + +#ifndef GL_EXT_compiled_vertex_array +#define GL_EXT_compiled_vertex_array 1 + +#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8 +#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9 + +typedef void (GLAPIENTRY * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count); +typedef void (GLAPIENTRY * PFNGLUNLOCKARRAYSEXTPROC) (void); + +#define glLockArraysEXT GLEW_GET_FUN(__glewLockArraysEXT) +#define glUnlockArraysEXT GLEW_GET_FUN(__glewUnlockArraysEXT) + +#define GLEW_EXT_compiled_vertex_array GLEW_GET_VAR(__GLEW_EXT_compiled_vertex_array) + +#endif /* GL_EXT_compiled_vertex_array */ + +/* --------------------------- GL_EXT_convolution -------------------------- */ + +#ifndef GL_EXT_convolution +#define GL_EXT_convolution 1 + +#define GL_CONVOLUTION_1D_EXT 0x8010 +#define GL_CONVOLUTION_2D_EXT 0x8011 +#define GL_SEPARABLE_2D_EXT 0x8012 +#define GL_CONVOLUTION_BORDER_MODE_EXT 0x8013 +#define GL_CONVOLUTION_FILTER_SCALE_EXT 0x8014 +#define GL_CONVOLUTION_FILTER_BIAS_EXT 0x8015 +#define GL_REDUCE_EXT 0x8016 +#define GL_CONVOLUTION_FORMAT_EXT 0x8017 +#define GL_CONVOLUTION_WIDTH_EXT 0x8018 +#define GL_CONVOLUTION_HEIGHT_EXT 0x8019 +#define GL_MAX_CONVOLUTION_WIDTH_EXT 0x801A +#define GL_MAX_CONVOLUTION_HEIGHT_EXT 0x801B +#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C +#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D +#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E +#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F +#define GL_POST_CONVOLUTION_RED_BIAS_EXT 0x8020 +#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021 +#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022 +#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023 + +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, void *image); +typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, void *row, void *column, void *span); +typedef void (GLAPIENTRY * PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column); + +#define glConvolutionFilter1DEXT GLEW_GET_FUN(__glewConvolutionFilter1DEXT) +#define glConvolutionFilter2DEXT GLEW_GET_FUN(__glewConvolutionFilter2DEXT) +#define glConvolutionParameterfEXT GLEW_GET_FUN(__glewConvolutionParameterfEXT) +#define glConvolutionParameterfvEXT GLEW_GET_FUN(__glewConvolutionParameterfvEXT) +#define glConvolutionParameteriEXT GLEW_GET_FUN(__glewConvolutionParameteriEXT) +#define glConvolutionParameterivEXT GLEW_GET_FUN(__glewConvolutionParameterivEXT) +#define glCopyConvolutionFilter1DEXT GLEW_GET_FUN(__glewCopyConvolutionFilter1DEXT) +#define glCopyConvolutionFilter2DEXT GLEW_GET_FUN(__glewCopyConvolutionFilter2DEXT) +#define glGetConvolutionFilterEXT GLEW_GET_FUN(__glewGetConvolutionFilterEXT) +#define glGetConvolutionParameterfvEXT GLEW_GET_FUN(__glewGetConvolutionParameterfvEXT) +#define glGetConvolutionParameterivEXT GLEW_GET_FUN(__glewGetConvolutionParameterivEXT) +#define glGetSeparableFilterEXT GLEW_GET_FUN(__glewGetSeparableFilterEXT) +#define glSeparableFilter2DEXT GLEW_GET_FUN(__glewSeparableFilter2DEXT) + +#define GLEW_EXT_convolution GLEW_GET_VAR(__GLEW_EXT_convolution) + +#endif /* GL_EXT_convolution */ + +/* ------------------------ GL_EXT_coordinate_frame ------------------------ */ + +#ifndef GL_EXT_coordinate_frame +#define GL_EXT_coordinate_frame 1 + +#define GL_TANGENT_ARRAY_EXT 0x8439 +#define GL_BINORMAL_ARRAY_EXT 0x843A +#define GL_CURRENT_TANGENT_EXT 0x843B +#define GL_CURRENT_BINORMAL_EXT 0x843C +#define GL_TANGENT_ARRAY_TYPE_EXT 0x843E +#define GL_TANGENT_ARRAY_STRIDE_EXT 0x843F +#define GL_BINORMAL_ARRAY_TYPE_EXT 0x8440 +#define GL_BINORMAL_ARRAY_STRIDE_EXT 0x8441 +#define GL_TANGENT_ARRAY_POINTER_EXT 0x8442 +#define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443 +#define GL_MAP1_TANGENT_EXT 0x8444 +#define GL_MAP2_TANGENT_EXT 0x8445 +#define GL_MAP1_BINORMAL_EXT 0x8446 +#define GL_MAP2_BINORMAL_EXT 0x8447 + +typedef void (GLAPIENTRY * PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, void *pointer); +typedef void (GLAPIENTRY * PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, void *pointer); + +#define glBinormalPointerEXT GLEW_GET_FUN(__glewBinormalPointerEXT) +#define glTangentPointerEXT GLEW_GET_FUN(__glewTangentPointerEXT) + +#define GLEW_EXT_coordinate_frame GLEW_GET_VAR(__GLEW_EXT_coordinate_frame) + +#endif /* GL_EXT_coordinate_frame */ + +/* -------------------------- GL_EXT_copy_texture -------------------------- */ + +#ifndef GL_EXT_copy_texture +#define GL_EXT_copy_texture 1 + +typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); + +#define glCopyTexImage1DEXT GLEW_GET_FUN(__glewCopyTexImage1DEXT) +#define glCopyTexImage2DEXT GLEW_GET_FUN(__glewCopyTexImage2DEXT) +#define glCopyTexSubImage1DEXT GLEW_GET_FUN(__glewCopyTexSubImage1DEXT) +#define glCopyTexSubImage2DEXT GLEW_GET_FUN(__glewCopyTexSubImage2DEXT) +#define glCopyTexSubImage3DEXT GLEW_GET_FUN(__glewCopyTexSubImage3DEXT) + +#define GLEW_EXT_copy_texture GLEW_GET_VAR(__GLEW_EXT_copy_texture) + +#endif /* GL_EXT_copy_texture */ + +/* --------------------------- GL_EXT_cull_vertex -------------------------- */ + +#ifndef GL_EXT_cull_vertex +#define GL_EXT_cull_vertex 1 + +#define GL_CULL_VERTEX_EXT 0x81AA +#define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB +#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC + +typedef void (GLAPIENTRY * PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat* params); + +#define glCullParameterdvEXT GLEW_GET_FUN(__glewCullParameterdvEXT) +#define glCullParameterfvEXT GLEW_GET_FUN(__glewCullParameterfvEXT) + +#define GLEW_EXT_cull_vertex GLEW_GET_VAR(__GLEW_EXT_cull_vertex) + +#endif /* GL_EXT_cull_vertex */ + +/* --------------------------- GL_EXT_debug_label -------------------------- */ + +#ifndef GL_EXT_debug_label +#define GL_EXT_debug_label 1 + +#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F +#define GL_PROGRAM_OBJECT_EXT 0x8B40 +#define GL_SHADER_OBJECT_EXT 0x8B48 +#define GL_BUFFER_OBJECT_EXT 0x9151 +#define GL_QUERY_OBJECT_EXT 0x9153 +#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 + +typedef void (GLAPIENTRY * PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei* length, GLchar *label); +typedef void (GLAPIENTRY * PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar* label); + +#define glGetObjectLabelEXT GLEW_GET_FUN(__glewGetObjectLabelEXT) +#define glLabelObjectEXT GLEW_GET_FUN(__glewLabelObjectEXT) + +#define GLEW_EXT_debug_label GLEW_GET_VAR(__GLEW_EXT_debug_label) + +#endif /* GL_EXT_debug_label */ + +/* -------------------------- GL_EXT_debug_marker -------------------------- */ + +#ifndef GL_EXT_debug_marker +#define GL_EXT_debug_marker 1 + +typedef void (GLAPIENTRY * PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar* marker); +typedef void (GLAPIENTRY * PFNGLPOPGROUPMARKEREXTPROC) (void); +typedef void (GLAPIENTRY * PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar* marker); + +#define glInsertEventMarkerEXT GLEW_GET_FUN(__glewInsertEventMarkerEXT) +#define glPopGroupMarkerEXT GLEW_GET_FUN(__glewPopGroupMarkerEXT) +#define glPushGroupMarkerEXT GLEW_GET_FUN(__glewPushGroupMarkerEXT) + +#define GLEW_EXT_debug_marker GLEW_GET_VAR(__GLEW_EXT_debug_marker) + +#endif /* GL_EXT_debug_marker */ + +/* ------------------------ GL_EXT_depth_bounds_test ----------------------- */ + +#ifndef GL_EXT_depth_bounds_test +#define GL_EXT_depth_bounds_test 1 + +#define GL_DEPTH_BOUNDS_TEST_EXT 0x8890 +#define GL_DEPTH_BOUNDS_EXT 0x8891 + +typedef void (GLAPIENTRY * PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax); + +#define glDepthBoundsEXT GLEW_GET_FUN(__glewDepthBoundsEXT) + +#define GLEW_EXT_depth_bounds_test GLEW_GET_VAR(__GLEW_EXT_depth_bounds_test) + +#endif /* GL_EXT_depth_bounds_test */ + +/* ----------------------- GL_EXT_direct_state_access ---------------------- */ + +#ifndef GL_EXT_direct_state_access +#define GL_EXT_direct_state_access 1 + +#define GL_PROGRAM_MATRIX_EXT 0x8E2D +#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E +#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F + +typedef void (GLAPIENTRY * PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture); +typedef GLenum (GLAPIENTRY * PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target); +typedef void (GLAPIENTRY * PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); +typedef void (GLAPIENTRY * PFNGLDISABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index); +typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index); +typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array); +typedef void (GLAPIENTRY * PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array); +typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum* bufs); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode); +typedef void (GLAPIENTRY * PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target); +typedef void (GLAPIENTRY * PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target); +typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, void *img); +typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, void *img); +typedef void (GLAPIENTRY * PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETDOUBLEI_VEXTPROC) (GLenum pname, GLuint index, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETFLOATI_VEXTPROC) (GLenum pname, GLuint index, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void *pixels); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, void** params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); +typedef void (GLAPIENTRY * PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, void *string); +typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, void** params); +typedef void (GLAPIENTRY * PFNGLGETPOINTERI_VEXTPROC) (GLenum pname, GLuint index, void** params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels); +typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINTEGERVEXTPROC) (GLuint vaobj, GLenum pname, GLint* param); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, void** param); +typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYPOINTERVEXTPROC) (GLuint vaobj, GLenum pname, void** param); +typedef void * (GLAPIENTRY * PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access); +typedef void * (GLAPIENTRY * PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); +typedef void (GLAPIENTRY * PFNGLMATRIXFRUSTUMEXTPROC) (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum matrixMode); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum matrixMode, const GLdouble* m); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADDEXTPROC) (GLenum matrixMode, const GLdouble* m); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADFEXTPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum matrixMode, const GLdouble* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULTDEXTPROC) (GLenum matrixMode, const GLdouble* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULTFEXTPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXORTHOEXTPROC) (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f); +typedef void (GLAPIENTRY * PFNGLMATRIXPOPEXTPROC) (GLenum matrixMode); +typedef void (GLAPIENTRY * PFNGLMATRIXPUSHEXTPROC) (GLenum matrixMode); +typedef void (GLAPIENTRY * PFNGLMATRIXROTATEDEXTPROC) (GLenum matrixMode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLMATRIXROTATEFEXTPROC) (GLenum matrixMode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLMATRIXSCALEDEXTPROC) (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLMATRIXSCALEFEXTPROC) (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const void *pointer); +typedef void (GLAPIENTRY * PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat* param); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* param); +typedef void (GLAPIENTRY * PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage); +typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); +typedef void (GLAPIENTRY * PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const void *string); +typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask); +typedef void (GLAPIENTRY * PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint* params); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat* param); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint* param); +typedef void (GLAPIENTRY * PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +typedef GLboolean (GLAPIENTRY * PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYINDEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYNORMALOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC) (GLuint vaobj, GLuint index, GLuint divisor); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); + +#define glBindMultiTextureEXT GLEW_GET_FUN(__glewBindMultiTextureEXT) +#define glCheckNamedFramebufferStatusEXT GLEW_GET_FUN(__glewCheckNamedFramebufferStatusEXT) +#define glClientAttribDefaultEXT GLEW_GET_FUN(__glewClientAttribDefaultEXT) +#define glCompressedMultiTexImage1DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage1DEXT) +#define glCompressedMultiTexImage2DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage2DEXT) +#define glCompressedMultiTexImage3DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage3DEXT) +#define glCompressedMultiTexSubImage1DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage1DEXT) +#define glCompressedMultiTexSubImage2DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage2DEXT) +#define glCompressedMultiTexSubImage3DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage3DEXT) +#define glCompressedTextureImage1DEXT GLEW_GET_FUN(__glewCompressedTextureImage1DEXT) +#define glCompressedTextureImage2DEXT GLEW_GET_FUN(__glewCompressedTextureImage2DEXT) +#define glCompressedTextureImage3DEXT GLEW_GET_FUN(__glewCompressedTextureImage3DEXT) +#define glCompressedTextureSubImage1DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage1DEXT) +#define glCompressedTextureSubImage2DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage2DEXT) +#define glCompressedTextureSubImage3DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage3DEXT) +#define glCopyMultiTexImage1DEXT GLEW_GET_FUN(__glewCopyMultiTexImage1DEXT) +#define glCopyMultiTexImage2DEXT GLEW_GET_FUN(__glewCopyMultiTexImage2DEXT) +#define glCopyMultiTexSubImage1DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage1DEXT) +#define glCopyMultiTexSubImage2DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage2DEXT) +#define glCopyMultiTexSubImage3DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage3DEXT) +#define glCopyTextureImage1DEXT GLEW_GET_FUN(__glewCopyTextureImage1DEXT) +#define glCopyTextureImage2DEXT GLEW_GET_FUN(__glewCopyTextureImage2DEXT) +#define glCopyTextureSubImage1DEXT GLEW_GET_FUN(__glewCopyTextureSubImage1DEXT) +#define glCopyTextureSubImage2DEXT GLEW_GET_FUN(__glewCopyTextureSubImage2DEXT) +#define glCopyTextureSubImage3DEXT GLEW_GET_FUN(__glewCopyTextureSubImage3DEXT) +#define glDisableClientStateIndexedEXT GLEW_GET_FUN(__glewDisableClientStateIndexedEXT) +#define glDisableClientStateiEXT GLEW_GET_FUN(__glewDisableClientStateiEXT) +#define glDisableVertexArrayAttribEXT GLEW_GET_FUN(__glewDisableVertexArrayAttribEXT) +#define glDisableVertexArrayEXT GLEW_GET_FUN(__glewDisableVertexArrayEXT) +#define glEnableClientStateIndexedEXT GLEW_GET_FUN(__glewEnableClientStateIndexedEXT) +#define glEnableClientStateiEXT GLEW_GET_FUN(__glewEnableClientStateiEXT) +#define glEnableVertexArrayAttribEXT GLEW_GET_FUN(__glewEnableVertexArrayAttribEXT) +#define glEnableVertexArrayEXT GLEW_GET_FUN(__glewEnableVertexArrayEXT) +#define glFlushMappedNamedBufferRangeEXT GLEW_GET_FUN(__glewFlushMappedNamedBufferRangeEXT) +#define glFramebufferDrawBufferEXT GLEW_GET_FUN(__glewFramebufferDrawBufferEXT) +#define glFramebufferDrawBuffersEXT GLEW_GET_FUN(__glewFramebufferDrawBuffersEXT) +#define glFramebufferReadBufferEXT GLEW_GET_FUN(__glewFramebufferReadBufferEXT) +#define glGenerateMultiTexMipmapEXT GLEW_GET_FUN(__glewGenerateMultiTexMipmapEXT) +#define glGenerateTextureMipmapEXT GLEW_GET_FUN(__glewGenerateTextureMipmapEXT) +#define glGetCompressedMultiTexImageEXT GLEW_GET_FUN(__glewGetCompressedMultiTexImageEXT) +#define glGetCompressedTextureImageEXT GLEW_GET_FUN(__glewGetCompressedTextureImageEXT) +#define glGetDoubleIndexedvEXT GLEW_GET_FUN(__glewGetDoubleIndexedvEXT) +#define glGetDoublei_vEXT GLEW_GET_FUN(__glewGetDoublei_vEXT) +#define glGetFloatIndexedvEXT GLEW_GET_FUN(__glewGetFloatIndexedvEXT) +#define glGetFloati_vEXT GLEW_GET_FUN(__glewGetFloati_vEXT) +#define glGetFramebufferParameterivEXT GLEW_GET_FUN(__glewGetFramebufferParameterivEXT) +#define glGetMultiTexEnvfvEXT GLEW_GET_FUN(__glewGetMultiTexEnvfvEXT) +#define glGetMultiTexEnvivEXT GLEW_GET_FUN(__glewGetMultiTexEnvivEXT) +#define glGetMultiTexGendvEXT GLEW_GET_FUN(__glewGetMultiTexGendvEXT) +#define glGetMultiTexGenfvEXT GLEW_GET_FUN(__glewGetMultiTexGenfvEXT) +#define glGetMultiTexGenivEXT GLEW_GET_FUN(__glewGetMultiTexGenivEXT) +#define glGetMultiTexImageEXT GLEW_GET_FUN(__glewGetMultiTexImageEXT) +#define glGetMultiTexLevelParameterfvEXT GLEW_GET_FUN(__glewGetMultiTexLevelParameterfvEXT) +#define glGetMultiTexLevelParameterivEXT GLEW_GET_FUN(__glewGetMultiTexLevelParameterivEXT) +#define glGetMultiTexParameterIivEXT GLEW_GET_FUN(__glewGetMultiTexParameterIivEXT) +#define glGetMultiTexParameterIuivEXT GLEW_GET_FUN(__glewGetMultiTexParameterIuivEXT) +#define glGetMultiTexParameterfvEXT GLEW_GET_FUN(__glewGetMultiTexParameterfvEXT) +#define glGetMultiTexParameterivEXT GLEW_GET_FUN(__glewGetMultiTexParameterivEXT) +#define glGetNamedBufferParameterivEXT GLEW_GET_FUN(__glewGetNamedBufferParameterivEXT) +#define glGetNamedBufferPointervEXT GLEW_GET_FUN(__glewGetNamedBufferPointervEXT) +#define glGetNamedBufferSubDataEXT GLEW_GET_FUN(__glewGetNamedBufferSubDataEXT) +#define glGetNamedFramebufferAttachmentParameterivEXT GLEW_GET_FUN(__glewGetNamedFramebufferAttachmentParameterivEXT) +#define glGetNamedProgramLocalParameterIivEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterIivEXT) +#define glGetNamedProgramLocalParameterIuivEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterIuivEXT) +#define glGetNamedProgramLocalParameterdvEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterdvEXT) +#define glGetNamedProgramLocalParameterfvEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterfvEXT) +#define glGetNamedProgramStringEXT GLEW_GET_FUN(__glewGetNamedProgramStringEXT) +#define glGetNamedProgramivEXT GLEW_GET_FUN(__glewGetNamedProgramivEXT) +#define glGetNamedRenderbufferParameterivEXT GLEW_GET_FUN(__glewGetNamedRenderbufferParameterivEXT) +#define glGetPointerIndexedvEXT GLEW_GET_FUN(__glewGetPointerIndexedvEXT) +#define glGetPointeri_vEXT GLEW_GET_FUN(__glewGetPointeri_vEXT) +#define glGetTextureImageEXT GLEW_GET_FUN(__glewGetTextureImageEXT) +#define glGetTextureLevelParameterfvEXT GLEW_GET_FUN(__glewGetTextureLevelParameterfvEXT) +#define glGetTextureLevelParameterivEXT GLEW_GET_FUN(__glewGetTextureLevelParameterivEXT) +#define glGetTextureParameterIivEXT GLEW_GET_FUN(__glewGetTextureParameterIivEXT) +#define glGetTextureParameterIuivEXT GLEW_GET_FUN(__glewGetTextureParameterIuivEXT) +#define glGetTextureParameterfvEXT GLEW_GET_FUN(__glewGetTextureParameterfvEXT) +#define glGetTextureParameterivEXT GLEW_GET_FUN(__glewGetTextureParameterivEXT) +#define glGetVertexArrayIntegeri_vEXT GLEW_GET_FUN(__glewGetVertexArrayIntegeri_vEXT) +#define glGetVertexArrayIntegervEXT GLEW_GET_FUN(__glewGetVertexArrayIntegervEXT) +#define glGetVertexArrayPointeri_vEXT GLEW_GET_FUN(__glewGetVertexArrayPointeri_vEXT) +#define glGetVertexArrayPointervEXT GLEW_GET_FUN(__glewGetVertexArrayPointervEXT) +#define glMapNamedBufferEXT GLEW_GET_FUN(__glewMapNamedBufferEXT) +#define glMapNamedBufferRangeEXT GLEW_GET_FUN(__glewMapNamedBufferRangeEXT) +#define glMatrixFrustumEXT GLEW_GET_FUN(__glewMatrixFrustumEXT) +#define glMatrixLoadIdentityEXT GLEW_GET_FUN(__glewMatrixLoadIdentityEXT) +#define glMatrixLoadTransposedEXT GLEW_GET_FUN(__glewMatrixLoadTransposedEXT) +#define glMatrixLoadTransposefEXT GLEW_GET_FUN(__glewMatrixLoadTransposefEXT) +#define glMatrixLoaddEXT GLEW_GET_FUN(__glewMatrixLoaddEXT) +#define glMatrixLoadfEXT GLEW_GET_FUN(__glewMatrixLoadfEXT) +#define glMatrixMultTransposedEXT GLEW_GET_FUN(__glewMatrixMultTransposedEXT) +#define glMatrixMultTransposefEXT GLEW_GET_FUN(__glewMatrixMultTransposefEXT) +#define glMatrixMultdEXT GLEW_GET_FUN(__glewMatrixMultdEXT) +#define glMatrixMultfEXT GLEW_GET_FUN(__glewMatrixMultfEXT) +#define glMatrixOrthoEXT GLEW_GET_FUN(__glewMatrixOrthoEXT) +#define glMatrixPopEXT GLEW_GET_FUN(__glewMatrixPopEXT) +#define glMatrixPushEXT GLEW_GET_FUN(__glewMatrixPushEXT) +#define glMatrixRotatedEXT GLEW_GET_FUN(__glewMatrixRotatedEXT) +#define glMatrixRotatefEXT GLEW_GET_FUN(__glewMatrixRotatefEXT) +#define glMatrixScaledEXT GLEW_GET_FUN(__glewMatrixScaledEXT) +#define glMatrixScalefEXT GLEW_GET_FUN(__glewMatrixScalefEXT) +#define glMatrixTranslatedEXT GLEW_GET_FUN(__glewMatrixTranslatedEXT) +#define glMatrixTranslatefEXT GLEW_GET_FUN(__glewMatrixTranslatefEXT) +#define glMultiTexBufferEXT GLEW_GET_FUN(__glewMultiTexBufferEXT) +#define glMultiTexCoordPointerEXT GLEW_GET_FUN(__glewMultiTexCoordPointerEXT) +#define glMultiTexEnvfEXT GLEW_GET_FUN(__glewMultiTexEnvfEXT) +#define glMultiTexEnvfvEXT GLEW_GET_FUN(__glewMultiTexEnvfvEXT) +#define glMultiTexEnviEXT GLEW_GET_FUN(__glewMultiTexEnviEXT) +#define glMultiTexEnvivEXT GLEW_GET_FUN(__glewMultiTexEnvivEXT) +#define glMultiTexGendEXT GLEW_GET_FUN(__glewMultiTexGendEXT) +#define glMultiTexGendvEXT GLEW_GET_FUN(__glewMultiTexGendvEXT) +#define glMultiTexGenfEXT GLEW_GET_FUN(__glewMultiTexGenfEXT) +#define glMultiTexGenfvEXT GLEW_GET_FUN(__glewMultiTexGenfvEXT) +#define glMultiTexGeniEXT GLEW_GET_FUN(__glewMultiTexGeniEXT) +#define glMultiTexGenivEXT GLEW_GET_FUN(__glewMultiTexGenivEXT) +#define glMultiTexImage1DEXT GLEW_GET_FUN(__glewMultiTexImage1DEXT) +#define glMultiTexImage2DEXT GLEW_GET_FUN(__glewMultiTexImage2DEXT) +#define glMultiTexImage3DEXT GLEW_GET_FUN(__glewMultiTexImage3DEXT) +#define glMultiTexParameterIivEXT GLEW_GET_FUN(__glewMultiTexParameterIivEXT) +#define glMultiTexParameterIuivEXT GLEW_GET_FUN(__glewMultiTexParameterIuivEXT) +#define glMultiTexParameterfEXT GLEW_GET_FUN(__glewMultiTexParameterfEXT) +#define glMultiTexParameterfvEXT GLEW_GET_FUN(__glewMultiTexParameterfvEXT) +#define glMultiTexParameteriEXT GLEW_GET_FUN(__glewMultiTexParameteriEXT) +#define glMultiTexParameterivEXT GLEW_GET_FUN(__glewMultiTexParameterivEXT) +#define glMultiTexRenderbufferEXT GLEW_GET_FUN(__glewMultiTexRenderbufferEXT) +#define glMultiTexSubImage1DEXT GLEW_GET_FUN(__glewMultiTexSubImage1DEXT) +#define glMultiTexSubImage2DEXT GLEW_GET_FUN(__glewMultiTexSubImage2DEXT) +#define glMultiTexSubImage3DEXT GLEW_GET_FUN(__glewMultiTexSubImage3DEXT) +#define glNamedBufferDataEXT GLEW_GET_FUN(__glewNamedBufferDataEXT) +#define glNamedBufferSubDataEXT GLEW_GET_FUN(__glewNamedBufferSubDataEXT) +#define glNamedCopyBufferSubDataEXT GLEW_GET_FUN(__glewNamedCopyBufferSubDataEXT) +#define glNamedFramebufferRenderbufferEXT GLEW_GET_FUN(__glewNamedFramebufferRenderbufferEXT) +#define glNamedFramebufferTexture1DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture1DEXT) +#define glNamedFramebufferTexture2DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture2DEXT) +#define glNamedFramebufferTexture3DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture3DEXT) +#define glNamedFramebufferTextureEXT GLEW_GET_FUN(__glewNamedFramebufferTextureEXT) +#define glNamedFramebufferTextureFaceEXT GLEW_GET_FUN(__glewNamedFramebufferTextureFaceEXT) +#define glNamedFramebufferTextureLayerEXT GLEW_GET_FUN(__glewNamedFramebufferTextureLayerEXT) +#define glNamedProgramLocalParameter4dEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4dEXT) +#define glNamedProgramLocalParameter4dvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4dvEXT) +#define glNamedProgramLocalParameter4fEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4fEXT) +#define glNamedProgramLocalParameter4fvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4fvEXT) +#define glNamedProgramLocalParameterI4iEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4iEXT) +#define glNamedProgramLocalParameterI4ivEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4ivEXT) +#define glNamedProgramLocalParameterI4uiEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4uiEXT) +#define glNamedProgramLocalParameterI4uivEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4uivEXT) +#define glNamedProgramLocalParameters4fvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameters4fvEXT) +#define glNamedProgramLocalParametersI4ivEXT GLEW_GET_FUN(__glewNamedProgramLocalParametersI4ivEXT) +#define glNamedProgramLocalParametersI4uivEXT GLEW_GET_FUN(__glewNamedProgramLocalParametersI4uivEXT) +#define glNamedProgramStringEXT GLEW_GET_FUN(__glewNamedProgramStringEXT) +#define glNamedRenderbufferStorageEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageEXT) +#define glNamedRenderbufferStorageMultisampleCoverageEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisampleCoverageEXT) +#define glNamedRenderbufferStorageMultisampleEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisampleEXT) +#define glProgramUniform1fEXT GLEW_GET_FUN(__glewProgramUniform1fEXT) +#define glProgramUniform1fvEXT GLEW_GET_FUN(__glewProgramUniform1fvEXT) +#define glProgramUniform1iEXT GLEW_GET_FUN(__glewProgramUniform1iEXT) +#define glProgramUniform1ivEXT GLEW_GET_FUN(__glewProgramUniform1ivEXT) +#define glProgramUniform1uiEXT GLEW_GET_FUN(__glewProgramUniform1uiEXT) +#define glProgramUniform1uivEXT GLEW_GET_FUN(__glewProgramUniform1uivEXT) +#define glProgramUniform2fEXT GLEW_GET_FUN(__glewProgramUniform2fEXT) +#define glProgramUniform2fvEXT GLEW_GET_FUN(__glewProgramUniform2fvEXT) +#define glProgramUniform2iEXT GLEW_GET_FUN(__glewProgramUniform2iEXT) +#define glProgramUniform2ivEXT GLEW_GET_FUN(__glewProgramUniform2ivEXT) +#define glProgramUniform2uiEXT GLEW_GET_FUN(__glewProgramUniform2uiEXT) +#define glProgramUniform2uivEXT GLEW_GET_FUN(__glewProgramUniform2uivEXT) +#define glProgramUniform3fEXT GLEW_GET_FUN(__glewProgramUniform3fEXT) +#define glProgramUniform3fvEXT GLEW_GET_FUN(__glewProgramUniform3fvEXT) +#define glProgramUniform3iEXT GLEW_GET_FUN(__glewProgramUniform3iEXT) +#define glProgramUniform3ivEXT GLEW_GET_FUN(__glewProgramUniform3ivEXT) +#define glProgramUniform3uiEXT GLEW_GET_FUN(__glewProgramUniform3uiEXT) +#define glProgramUniform3uivEXT GLEW_GET_FUN(__glewProgramUniform3uivEXT) +#define glProgramUniform4fEXT GLEW_GET_FUN(__glewProgramUniform4fEXT) +#define glProgramUniform4fvEXT GLEW_GET_FUN(__glewProgramUniform4fvEXT) +#define glProgramUniform4iEXT GLEW_GET_FUN(__glewProgramUniform4iEXT) +#define glProgramUniform4ivEXT GLEW_GET_FUN(__glewProgramUniform4ivEXT) +#define glProgramUniform4uiEXT GLEW_GET_FUN(__glewProgramUniform4uiEXT) +#define glProgramUniform4uivEXT GLEW_GET_FUN(__glewProgramUniform4uivEXT) +#define glProgramUniformMatrix2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2fvEXT) +#define glProgramUniformMatrix2x3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x3fvEXT) +#define glProgramUniformMatrix2x4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x4fvEXT) +#define glProgramUniformMatrix3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3fvEXT) +#define glProgramUniformMatrix3x2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x2fvEXT) +#define glProgramUniformMatrix3x4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x4fvEXT) +#define glProgramUniformMatrix4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4fvEXT) +#define glProgramUniformMatrix4x2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x2fvEXT) +#define glProgramUniformMatrix4x3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x3fvEXT) +#define glPushClientAttribDefaultEXT GLEW_GET_FUN(__glewPushClientAttribDefaultEXT) +#define glTextureBufferEXT GLEW_GET_FUN(__glewTextureBufferEXT) +#define glTextureImage1DEXT GLEW_GET_FUN(__glewTextureImage1DEXT) +#define glTextureImage2DEXT GLEW_GET_FUN(__glewTextureImage2DEXT) +#define glTextureImage3DEXT GLEW_GET_FUN(__glewTextureImage3DEXT) +#define glTextureParameterIivEXT GLEW_GET_FUN(__glewTextureParameterIivEXT) +#define glTextureParameterIuivEXT GLEW_GET_FUN(__glewTextureParameterIuivEXT) +#define glTextureParameterfEXT GLEW_GET_FUN(__glewTextureParameterfEXT) +#define glTextureParameterfvEXT GLEW_GET_FUN(__glewTextureParameterfvEXT) +#define glTextureParameteriEXT GLEW_GET_FUN(__glewTextureParameteriEXT) +#define glTextureParameterivEXT GLEW_GET_FUN(__glewTextureParameterivEXT) +#define glTextureRenderbufferEXT GLEW_GET_FUN(__glewTextureRenderbufferEXT) +#define glTextureSubImage1DEXT GLEW_GET_FUN(__glewTextureSubImage1DEXT) +#define glTextureSubImage2DEXT GLEW_GET_FUN(__glewTextureSubImage2DEXT) +#define glTextureSubImage3DEXT GLEW_GET_FUN(__glewTextureSubImage3DEXT) +#define glUnmapNamedBufferEXT GLEW_GET_FUN(__glewUnmapNamedBufferEXT) +#define glVertexArrayColorOffsetEXT GLEW_GET_FUN(__glewVertexArrayColorOffsetEXT) +#define glVertexArrayEdgeFlagOffsetEXT GLEW_GET_FUN(__glewVertexArrayEdgeFlagOffsetEXT) +#define glVertexArrayFogCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayFogCoordOffsetEXT) +#define glVertexArrayIndexOffsetEXT GLEW_GET_FUN(__glewVertexArrayIndexOffsetEXT) +#define glVertexArrayMultiTexCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayMultiTexCoordOffsetEXT) +#define glVertexArrayNormalOffsetEXT GLEW_GET_FUN(__glewVertexArrayNormalOffsetEXT) +#define glVertexArraySecondaryColorOffsetEXT GLEW_GET_FUN(__glewVertexArraySecondaryColorOffsetEXT) +#define glVertexArrayTexCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayTexCoordOffsetEXT) +#define glVertexArrayVertexAttribDivisorEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribDivisorEXT) +#define glVertexArrayVertexAttribIOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribIOffsetEXT) +#define glVertexArrayVertexAttribOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribOffsetEXT) +#define glVertexArrayVertexOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexOffsetEXT) + +#define GLEW_EXT_direct_state_access GLEW_GET_VAR(__GLEW_EXT_direct_state_access) + +#endif /* GL_EXT_direct_state_access */ + +/* -------------------------- GL_EXT_draw_buffers2 ------------------------- */ + +#ifndef GL_EXT_draw_buffers2 +#define GL_EXT_draw_buffers2 1 + +typedef void (GLAPIENTRY * PFNGLCOLORMASKINDEXEDEXTPROC) (GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +typedef void (GLAPIENTRY * PFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index); +typedef void (GLAPIENTRY * PFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index); +typedef void (GLAPIENTRY * PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum value, GLuint index, GLboolean* data); +typedef void (GLAPIENTRY * PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum value, GLuint index, GLint* data); +typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index); + +#define glColorMaskIndexedEXT GLEW_GET_FUN(__glewColorMaskIndexedEXT) +#define glDisableIndexedEXT GLEW_GET_FUN(__glewDisableIndexedEXT) +#define glEnableIndexedEXT GLEW_GET_FUN(__glewEnableIndexedEXT) +#define glGetBooleanIndexedvEXT GLEW_GET_FUN(__glewGetBooleanIndexedvEXT) +#define glGetIntegerIndexedvEXT GLEW_GET_FUN(__glewGetIntegerIndexedvEXT) +#define glIsEnabledIndexedEXT GLEW_GET_FUN(__glewIsEnabledIndexedEXT) + +#define GLEW_EXT_draw_buffers2 GLEW_GET_VAR(__GLEW_EXT_draw_buffers2) + +#endif /* GL_EXT_draw_buffers2 */ + +/* ------------------------- GL_EXT_draw_instanced ------------------------- */ + +#ifndef GL_EXT_draw_instanced +#define GL_EXT_draw_instanced 1 + +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); + +#define glDrawArraysInstancedEXT GLEW_GET_FUN(__glewDrawArraysInstancedEXT) +#define glDrawElementsInstancedEXT GLEW_GET_FUN(__glewDrawElementsInstancedEXT) + +#define GLEW_EXT_draw_instanced GLEW_GET_VAR(__GLEW_EXT_draw_instanced) + +#endif /* GL_EXT_draw_instanced */ + +/* ----------------------- GL_EXT_draw_range_elements ---------------------- */ + +#ifndef GL_EXT_draw_range_elements +#define GL_EXT_draw_range_elements 1 + +#define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8 +#define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9 + +typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); + +#define glDrawRangeElementsEXT GLEW_GET_FUN(__glewDrawRangeElementsEXT) + +#define GLEW_EXT_draw_range_elements GLEW_GET_VAR(__GLEW_EXT_draw_range_elements) + +#endif /* GL_EXT_draw_range_elements */ + +/* ---------------------------- GL_EXT_fog_coord --------------------------- */ + +#ifndef GL_EXT_fog_coord +#define GL_EXT_fog_coord 1 + +#define GL_FOG_COORDINATE_SOURCE_EXT 0x8450 +#define GL_FOG_COORDINATE_EXT 0x8451 +#define GL_FRAGMENT_DEPTH_EXT 0x8452 +#define GL_CURRENT_FOG_COORDINATE_EXT 0x8453 +#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454 +#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455 +#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456 +#define GL_FOG_COORDINATE_ARRAY_EXT 0x8457 + +typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const void *pointer); +typedef void (GLAPIENTRY * PFNGLFOGCOORDDEXTPROC) (GLdouble coord); +typedef void (GLAPIENTRY * PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord); +typedef void (GLAPIENTRY * PFNGLFOGCOORDFEXTPROC) (GLfloat coord); +typedef void (GLAPIENTRY * PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord); + +#define glFogCoordPointerEXT GLEW_GET_FUN(__glewFogCoordPointerEXT) +#define glFogCoorddEXT GLEW_GET_FUN(__glewFogCoorddEXT) +#define glFogCoorddvEXT GLEW_GET_FUN(__glewFogCoorddvEXT) +#define glFogCoordfEXT GLEW_GET_FUN(__glewFogCoordfEXT) +#define glFogCoordfvEXT GLEW_GET_FUN(__glewFogCoordfvEXT) + +#define GLEW_EXT_fog_coord GLEW_GET_VAR(__GLEW_EXT_fog_coord) + +#endif /* GL_EXT_fog_coord */ + +/* ------------------------ GL_EXT_fragment_lighting ----------------------- */ + +#ifndef GL_EXT_fragment_lighting +#define GL_EXT_fragment_lighting 1 + +#define GL_FRAGMENT_LIGHTING_EXT 0x8400 +#define GL_FRAGMENT_COLOR_MATERIAL_EXT 0x8401 +#define GL_FRAGMENT_COLOR_MATERIAL_FACE_EXT 0x8402 +#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_EXT 0x8403 +#define GL_MAX_FRAGMENT_LIGHTS_EXT 0x8404 +#define GL_MAX_ACTIVE_LIGHTS_EXT 0x8405 +#define GL_CURRENT_RASTER_NORMAL_EXT 0x8406 +#define GL_LIGHT_ENV_MODE_EXT 0x8407 +#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_EXT 0x8408 +#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_EXT 0x8409 +#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_EXT 0x840A +#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_EXT 0x840B +#define GL_FRAGMENT_LIGHT0_EXT 0x840C +#define GL_FRAGMENT_LIGHT7_EXT 0x8413 + +typedef void (GLAPIENTRY * PFNGLFRAGMENTCOLORMATERIALEXTPROC) (GLenum face, GLenum mode); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFEXTPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFVEXTPROC) (GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIEXTPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIVEXTPROC) (GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFEXTPROC) (GLenum light, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFVEXTPROC) (GLenum light, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIEXTPROC) (GLenum light, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIVEXTPROC) (GLenum light, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFEXTPROC) (GLenum face, GLenum pname, const GLfloat param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFVEXTPROC) (GLenum face, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIEXTPROC) (GLenum face, GLenum pname, const GLint param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIVEXTPROC) (GLenum face, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTFVEXTPROC) (GLenum light, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTIVEXTPROC) (GLenum light, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALFVEXTPROC) (GLenum face, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALIVEXTPROC) (GLenum face, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLLIGHTENVIEXTPROC) (GLenum pname, GLint param); + +#define glFragmentColorMaterialEXT GLEW_GET_FUN(__glewFragmentColorMaterialEXT) +#define glFragmentLightModelfEXT GLEW_GET_FUN(__glewFragmentLightModelfEXT) +#define glFragmentLightModelfvEXT GLEW_GET_FUN(__glewFragmentLightModelfvEXT) +#define glFragmentLightModeliEXT GLEW_GET_FUN(__glewFragmentLightModeliEXT) +#define glFragmentLightModelivEXT GLEW_GET_FUN(__glewFragmentLightModelivEXT) +#define glFragmentLightfEXT GLEW_GET_FUN(__glewFragmentLightfEXT) +#define glFragmentLightfvEXT GLEW_GET_FUN(__glewFragmentLightfvEXT) +#define glFragmentLightiEXT GLEW_GET_FUN(__glewFragmentLightiEXT) +#define glFragmentLightivEXT GLEW_GET_FUN(__glewFragmentLightivEXT) +#define glFragmentMaterialfEXT GLEW_GET_FUN(__glewFragmentMaterialfEXT) +#define glFragmentMaterialfvEXT GLEW_GET_FUN(__glewFragmentMaterialfvEXT) +#define glFragmentMaterialiEXT GLEW_GET_FUN(__glewFragmentMaterialiEXT) +#define glFragmentMaterialivEXT GLEW_GET_FUN(__glewFragmentMaterialivEXT) +#define glGetFragmentLightfvEXT GLEW_GET_FUN(__glewGetFragmentLightfvEXT) +#define glGetFragmentLightivEXT GLEW_GET_FUN(__glewGetFragmentLightivEXT) +#define glGetFragmentMaterialfvEXT GLEW_GET_FUN(__glewGetFragmentMaterialfvEXT) +#define glGetFragmentMaterialivEXT GLEW_GET_FUN(__glewGetFragmentMaterialivEXT) +#define glLightEnviEXT GLEW_GET_FUN(__glewLightEnviEXT) + +#define GLEW_EXT_fragment_lighting GLEW_GET_VAR(__GLEW_EXT_fragment_lighting) + +#endif /* GL_EXT_fragment_lighting */ + +/* ------------------------ GL_EXT_framebuffer_blit ------------------------ */ + +#ifndef GL_EXT_framebuffer_blit +#define GL_EXT_framebuffer_blit 1 + +#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6 +#define GL_READ_FRAMEBUFFER_EXT 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9 +#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA + +typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); + +#define glBlitFramebufferEXT GLEW_GET_FUN(__glewBlitFramebufferEXT) + +#define GLEW_EXT_framebuffer_blit GLEW_GET_VAR(__GLEW_EXT_framebuffer_blit) + +#endif /* GL_EXT_framebuffer_blit */ + +/* --------------------- GL_EXT_framebuffer_multisample -------------------- */ + +#ifndef GL_EXT_framebuffer_multisample +#define GL_EXT_framebuffer_multisample 1 + +#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 +#define GL_MAX_SAMPLES_EXT 0x8D57 + +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); + +#define glRenderbufferStorageMultisampleEXT GLEW_GET_FUN(__glewRenderbufferStorageMultisampleEXT) + +#define GLEW_EXT_framebuffer_multisample GLEW_GET_VAR(__GLEW_EXT_framebuffer_multisample) + +#endif /* GL_EXT_framebuffer_multisample */ + +/* --------------- GL_EXT_framebuffer_multisample_blit_scaled -------------- */ + +#ifndef GL_EXT_framebuffer_multisample_blit_scaled +#define GL_EXT_framebuffer_multisample_blit_scaled 1 + +#define GL_SCALED_RESOLVE_FASTEST_EXT 0x90BA +#define GL_SCALED_RESOLVE_NICEST_EXT 0x90BB + +#define GLEW_EXT_framebuffer_multisample_blit_scaled GLEW_GET_VAR(__GLEW_EXT_framebuffer_multisample_blit_scaled) + +#endif /* GL_EXT_framebuffer_multisample_blit_scaled */ + +/* ----------------------- GL_EXT_framebuffer_object ----------------------- */ + +#ifndef GL_EXT_framebuffer_object +#define GL_EXT_framebuffer_object 1 + +#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506 +#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 +#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6 +#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4 +#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9 +#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA +#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB +#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC +#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD +#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF +#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 +#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 +#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 +#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 +#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 +#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 +#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 +#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 +#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 +#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 +#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA +#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB +#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC +#define GL_COLOR_ATTACHMENT13_EXT 0x8CED +#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE +#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF +#define GL_DEPTH_ATTACHMENT_EXT 0x8D00 +#define GL_STENCIL_ATTACHMENT_EXT 0x8D20 +#define GL_FRAMEBUFFER_EXT 0x8D40 +#define GL_RENDERBUFFER_EXT 0x8D41 +#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42 +#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44 +#define GL_STENCIL_INDEX1_EXT 0x8D46 +#define GL_STENCIL_INDEX4_EXT 0x8D47 +#define GL_STENCIL_INDEX8_EXT 0x8D48 +#define GL_STENCIL_INDEX16_EXT 0x8D49 +#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55 + +typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer); +typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer); +typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint* framebuffers); +typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint* renderbuffers); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint* framebuffers); +typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint* renderbuffers); +typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPEXTPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer); +typedef GLboolean (GLAPIENTRY * PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer); +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); + +#define glBindFramebufferEXT GLEW_GET_FUN(__glewBindFramebufferEXT) +#define glBindRenderbufferEXT GLEW_GET_FUN(__glewBindRenderbufferEXT) +#define glCheckFramebufferStatusEXT GLEW_GET_FUN(__glewCheckFramebufferStatusEXT) +#define glDeleteFramebuffersEXT GLEW_GET_FUN(__glewDeleteFramebuffersEXT) +#define glDeleteRenderbuffersEXT GLEW_GET_FUN(__glewDeleteRenderbuffersEXT) +#define glFramebufferRenderbufferEXT GLEW_GET_FUN(__glewFramebufferRenderbufferEXT) +#define glFramebufferTexture1DEXT GLEW_GET_FUN(__glewFramebufferTexture1DEXT) +#define glFramebufferTexture2DEXT GLEW_GET_FUN(__glewFramebufferTexture2DEXT) +#define glFramebufferTexture3DEXT GLEW_GET_FUN(__glewFramebufferTexture3DEXT) +#define glGenFramebuffersEXT GLEW_GET_FUN(__glewGenFramebuffersEXT) +#define glGenRenderbuffersEXT GLEW_GET_FUN(__glewGenRenderbuffersEXT) +#define glGenerateMipmapEXT GLEW_GET_FUN(__glewGenerateMipmapEXT) +#define glGetFramebufferAttachmentParameterivEXT GLEW_GET_FUN(__glewGetFramebufferAttachmentParameterivEXT) +#define glGetRenderbufferParameterivEXT GLEW_GET_FUN(__glewGetRenderbufferParameterivEXT) +#define glIsFramebufferEXT GLEW_GET_FUN(__glewIsFramebufferEXT) +#define glIsRenderbufferEXT GLEW_GET_FUN(__glewIsRenderbufferEXT) +#define glRenderbufferStorageEXT GLEW_GET_FUN(__glewRenderbufferStorageEXT) + +#define GLEW_EXT_framebuffer_object GLEW_GET_VAR(__GLEW_EXT_framebuffer_object) + +#endif /* GL_EXT_framebuffer_object */ + +/* ------------------------ GL_EXT_framebuffer_sRGB ------------------------ */ + +#ifndef GL_EXT_framebuffer_sRGB +#define GL_EXT_framebuffer_sRGB 1 + +#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9 +#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA + +#define GLEW_EXT_framebuffer_sRGB GLEW_GET_VAR(__GLEW_EXT_framebuffer_sRGB) + +#endif /* GL_EXT_framebuffer_sRGB */ + +/* ------------------------ GL_EXT_geometry_shader4 ------------------------ */ + +#ifndef GL_EXT_geometry_shader4 +#define GL_EXT_geometry_shader4 1 + +#define GL_LINES_ADJACENCY_EXT 0xA +#define GL_LINE_STRIP_ADJACENCY_EXT 0xB +#define GL_TRIANGLES_ADJACENCY_EXT 0xC +#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0xD +#define GL_PROGRAM_POINT_SIZE_EXT 0x8642 +#define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9 +#define GL_GEOMETRY_SHADER_EXT 0x8DD9 +#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA +#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB +#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC +#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD +#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); + +#define glFramebufferTextureEXT GLEW_GET_FUN(__glewFramebufferTextureEXT) +#define glFramebufferTextureFaceEXT GLEW_GET_FUN(__glewFramebufferTextureFaceEXT) +#define glProgramParameteriEXT GLEW_GET_FUN(__glewProgramParameteriEXT) + +#define GLEW_EXT_geometry_shader4 GLEW_GET_VAR(__GLEW_EXT_geometry_shader4) + +#endif /* GL_EXT_geometry_shader4 */ + +/* --------------------- GL_EXT_gpu_program_parameters --------------------- */ + +#ifndef GL_EXT_gpu_program_parameters +#define GL_EXT_gpu_program_parameters 1 + +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat* params); + +#define glProgramEnvParameters4fvEXT GLEW_GET_FUN(__glewProgramEnvParameters4fvEXT) +#define glProgramLocalParameters4fvEXT GLEW_GET_FUN(__glewProgramLocalParameters4fvEXT) + +#define GLEW_EXT_gpu_program_parameters GLEW_GET_VAR(__GLEW_EXT_gpu_program_parameters) + +#endif /* GL_EXT_gpu_program_parameters */ + +/* --------------------------- GL_EXT_gpu_shader4 -------------------------- */ + +#ifndef GL_EXT_gpu_shader4 +#define GL_EXT_gpu_shader4 1 + +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT 0x88FD +#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0 +#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1 +#define GL_SAMPLER_BUFFER_EXT 0x8DC2 +#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3 +#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4 +#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5 +#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6 +#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7 +#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8 +#define GL_INT_SAMPLER_1D_EXT 0x8DC9 +#define GL_INT_SAMPLER_2D_EXT 0x8DCA +#define GL_INT_SAMPLER_3D_EXT 0x8DCB +#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC +#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD +#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE +#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF +#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0 +#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1 +#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2 +#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3 +#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4 +#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5 +#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6 +#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8 + +typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name); +typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONEXTPROC) (GLuint program, const GLchar *name); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVEXTPROC) (GLuint program, GLint location, GLuint *params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVEXTPROC) (GLuint index, GLenum pname, GLint *params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVEXTPROC) (GLuint index, GLenum pname, GLuint *params); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UIEXTPROC) (GLint location, GLuint v0); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UIEXTPROC) (GLint location, GLuint v0, GLuint v1); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IEXTPROC) (GLuint index, GLint x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IVEXTPROC) (GLuint index, const GLint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIEXTPROC) (GLuint index, GLuint x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IEXTPROC) (GLuint index, GLint x, GLint y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IVEXTPROC) (GLuint index, const GLint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIEXTPROC) (GLuint index, GLuint x, GLuint y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IEXTPROC) (GLuint index, GLint x, GLint y, GLint z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IVEXTPROC) (GLuint index, const GLint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4BVEXTPROC) (GLuint index, const GLbyte *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IEXTPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVEXTPROC) (GLuint index, const GLint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4SVEXTPROC) (GLuint index, const GLshort *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UBVEXTPROC) (GLuint index, const GLubyte *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4USVEXTPROC) (GLuint index, const GLushort *v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); + +#define glBindFragDataLocationEXT GLEW_GET_FUN(__glewBindFragDataLocationEXT) +#define glGetFragDataLocationEXT GLEW_GET_FUN(__glewGetFragDataLocationEXT) +#define glGetUniformuivEXT GLEW_GET_FUN(__glewGetUniformuivEXT) +#define glGetVertexAttribIivEXT GLEW_GET_FUN(__glewGetVertexAttribIivEXT) +#define glGetVertexAttribIuivEXT GLEW_GET_FUN(__glewGetVertexAttribIuivEXT) +#define glUniform1uiEXT GLEW_GET_FUN(__glewUniform1uiEXT) +#define glUniform1uivEXT GLEW_GET_FUN(__glewUniform1uivEXT) +#define glUniform2uiEXT GLEW_GET_FUN(__glewUniform2uiEXT) +#define glUniform2uivEXT GLEW_GET_FUN(__glewUniform2uivEXT) +#define glUniform3uiEXT GLEW_GET_FUN(__glewUniform3uiEXT) +#define glUniform3uivEXT GLEW_GET_FUN(__glewUniform3uivEXT) +#define glUniform4uiEXT GLEW_GET_FUN(__glewUniform4uiEXT) +#define glUniform4uivEXT GLEW_GET_FUN(__glewUniform4uivEXT) +#define glVertexAttribI1iEXT GLEW_GET_FUN(__glewVertexAttribI1iEXT) +#define glVertexAttribI1ivEXT GLEW_GET_FUN(__glewVertexAttribI1ivEXT) +#define glVertexAttribI1uiEXT GLEW_GET_FUN(__glewVertexAttribI1uiEXT) +#define glVertexAttribI1uivEXT GLEW_GET_FUN(__glewVertexAttribI1uivEXT) +#define glVertexAttribI2iEXT GLEW_GET_FUN(__glewVertexAttribI2iEXT) +#define glVertexAttribI2ivEXT GLEW_GET_FUN(__glewVertexAttribI2ivEXT) +#define glVertexAttribI2uiEXT GLEW_GET_FUN(__glewVertexAttribI2uiEXT) +#define glVertexAttribI2uivEXT GLEW_GET_FUN(__glewVertexAttribI2uivEXT) +#define glVertexAttribI3iEXT GLEW_GET_FUN(__glewVertexAttribI3iEXT) +#define glVertexAttribI3ivEXT GLEW_GET_FUN(__glewVertexAttribI3ivEXT) +#define glVertexAttribI3uiEXT GLEW_GET_FUN(__glewVertexAttribI3uiEXT) +#define glVertexAttribI3uivEXT GLEW_GET_FUN(__glewVertexAttribI3uivEXT) +#define glVertexAttribI4bvEXT GLEW_GET_FUN(__glewVertexAttribI4bvEXT) +#define glVertexAttribI4iEXT GLEW_GET_FUN(__glewVertexAttribI4iEXT) +#define glVertexAttribI4ivEXT GLEW_GET_FUN(__glewVertexAttribI4ivEXT) +#define glVertexAttribI4svEXT GLEW_GET_FUN(__glewVertexAttribI4svEXT) +#define glVertexAttribI4ubvEXT GLEW_GET_FUN(__glewVertexAttribI4ubvEXT) +#define glVertexAttribI4uiEXT GLEW_GET_FUN(__glewVertexAttribI4uiEXT) +#define glVertexAttribI4uivEXT GLEW_GET_FUN(__glewVertexAttribI4uivEXT) +#define glVertexAttribI4usvEXT GLEW_GET_FUN(__glewVertexAttribI4usvEXT) +#define glVertexAttribIPointerEXT GLEW_GET_FUN(__glewVertexAttribIPointerEXT) + +#define GLEW_EXT_gpu_shader4 GLEW_GET_VAR(__GLEW_EXT_gpu_shader4) + +#endif /* GL_EXT_gpu_shader4 */ + +/* ---------------------------- GL_EXT_histogram --------------------------- */ + +#ifndef GL_EXT_histogram +#define GL_EXT_histogram 1 + +#define GL_HISTOGRAM_EXT 0x8024 +#define GL_PROXY_HISTOGRAM_EXT 0x8025 +#define GL_HISTOGRAM_WIDTH_EXT 0x8026 +#define GL_HISTOGRAM_FORMAT_EXT 0x8027 +#define GL_HISTOGRAM_RED_SIZE_EXT 0x8028 +#define GL_HISTOGRAM_GREEN_SIZE_EXT 0x8029 +#define GL_HISTOGRAM_BLUE_SIZE_EXT 0x802A +#define GL_HISTOGRAM_ALPHA_SIZE_EXT 0x802B +#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C +#define GL_HISTOGRAM_SINK_EXT 0x802D +#define GL_MINMAX_EXT 0x802E +#define GL_MINMAX_FORMAT_EXT 0x802F +#define GL_MINMAX_SINK_EXT 0x8030 + +typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values); +typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values); +typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); +typedef void (GLAPIENTRY * PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink); +typedef void (GLAPIENTRY * PFNGLRESETHISTOGRAMEXTPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLRESETMINMAXEXTPROC) (GLenum target); + +#define glGetHistogramEXT GLEW_GET_FUN(__glewGetHistogramEXT) +#define glGetHistogramParameterfvEXT GLEW_GET_FUN(__glewGetHistogramParameterfvEXT) +#define glGetHistogramParameterivEXT GLEW_GET_FUN(__glewGetHistogramParameterivEXT) +#define glGetMinmaxEXT GLEW_GET_FUN(__glewGetMinmaxEXT) +#define glGetMinmaxParameterfvEXT GLEW_GET_FUN(__glewGetMinmaxParameterfvEXT) +#define glGetMinmaxParameterivEXT GLEW_GET_FUN(__glewGetMinmaxParameterivEXT) +#define glHistogramEXT GLEW_GET_FUN(__glewHistogramEXT) +#define glMinmaxEXT GLEW_GET_FUN(__glewMinmaxEXT) +#define glResetHistogramEXT GLEW_GET_FUN(__glewResetHistogramEXT) +#define glResetMinmaxEXT GLEW_GET_FUN(__glewResetMinmaxEXT) + +#define GLEW_EXT_histogram GLEW_GET_VAR(__GLEW_EXT_histogram) + +#endif /* GL_EXT_histogram */ + +/* ----------------------- GL_EXT_index_array_formats ---------------------- */ + +#ifndef GL_EXT_index_array_formats +#define GL_EXT_index_array_formats 1 + +#define GLEW_EXT_index_array_formats GLEW_GET_VAR(__GLEW_EXT_index_array_formats) + +#endif /* GL_EXT_index_array_formats */ + +/* --------------------------- GL_EXT_index_func --------------------------- */ + +#ifndef GL_EXT_index_func +#define GL_EXT_index_func 1 + +typedef void (GLAPIENTRY * PFNGLINDEXFUNCEXTPROC) (GLenum func, GLfloat ref); + +#define glIndexFuncEXT GLEW_GET_FUN(__glewIndexFuncEXT) + +#define GLEW_EXT_index_func GLEW_GET_VAR(__GLEW_EXT_index_func) + +#endif /* GL_EXT_index_func */ + +/* ------------------------- GL_EXT_index_material ------------------------- */ + +#ifndef GL_EXT_index_material +#define GL_EXT_index_material 1 + +typedef void (GLAPIENTRY * PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode); + +#define glIndexMaterialEXT GLEW_GET_FUN(__glewIndexMaterialEXT) + +#define GLEW_EXT_index_material GLEW_GET_VAR(__GLEW_EXT_index_material) + +#endif /* GL_EXT_index_material */ + +/* -------------------------- GL_EXT_index_texture ------------------------- */ + +#ifndef GL_EXT_index_texture +#define GL_EXT_index_texture 1 + +#define GLEW_EXT_index_texture GLEW_GET_VAR(__GLEW_EXT_index_texture) + +#endif /* GL_EXT_index_texture */ + +/* -------------------------- GL_EXT_light_texture ------------------------- */ + +#ifndef GL_EXT_light_texture +#define GL_EXT_light_texture 1 + +#define GL_FRAGMENT_MATERIAL_EXT 0x8349 +#define GL_FRAGMENT_NORMAL_EXT 0x834A +#define GL_FRAGMENT_COLOR_EXT 0x834C +#define GL_ATTENUATION_EXT 0x834D +#define GL_SHADOW_ATTENUATION_EXT 0x834E +#define GL_TEXTURE_APPLICATION_MODE_EXT 0x834F +#define GL_TEXTURE_LIGHT_EXT 0x8350 +#define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351 +#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352 + +typedef void (GLAPIENTRY * PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode); +typedef void (GLAPIENTRY * PFNGLTEXTURELIGHTEXTPROC) (GLenum pname); +typedef void (GLAPIENTRY * PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode); + +#define glApplyTextureEXT GLEW_GET_FUN(__glewApplyTextureEXT) +#define glTextureLightEXT GLEW_GET_FUN(__glewTextureLightEXT) +#define glTextureMaterialEXT GLEW_GET_FUN(__glewTextureMaterialEXT) + +#define GLEW_EXT_light_texture GLEW_GET_VAR(__GLEW_EXT_light_texture) + +#endif /* GL_EXT_light_texture */ + +/* ------------------------- GL_EXT_misc_attribute ------------------------- */ + +#ifndef GL_EXT_misc_attribute +#define GL_EXT_misc_attribute 1 + +#define GLEW_EXT_misc_attribute GLEW_GET_VAR(__GLEW_EXT_misc_attribute) + +#endif /* GL_EXT_misc_attribute */ + +/* ------------------------ GL_EXT_multi_draw_arrays ----------------------- */ + +#ifndef GL_EXT_multi_draw_arrays +#define GL_EXT_multi_draw_arrays 1 + +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint* first, const GLsizei *count, GLsizei primcount); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, GLsizei* count, GLenum type, const void *const *indices, GLsizei primcount); + +#define glMultiDrawArraysEXT GLEW_GET_FUN(__glewMultiDrawArraysEXT) +#define glMultiDrawElementsEXT GLEW_GET_FUN(__glewMultiDrawElementsEXT) + +#define GLEW_EXT_multi_draw_arrays GLEW_GET_VAR(__GLEW_EXT_multi_draw_arrays) + +#endif /* GL_EXT_multi_draw_arrays */ + +/* --------------------------- GL_EXT_multisample -------------------------- */ + +#ifndef GL_EXT_multisample +#define GL_EXT_multisample 1 + +#define GL_MULTISAMPLE_EXT 0x809D +#define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F +#define GL_SAMPLE_MASK_EXT 0x80A0 +#define GL_1PASS_EXT 0x80A1 +#define GL_2PASS_0_EXT 0x80A2 +#define GL_2PASS_1_EXT 0x80A3 +#define GL_4PASS_0_EXT 0x80A4 +#define GL_4PASS_1_EXT 0x80A5 +#define GL_4PASS_2_EXT 0x80A6 +#define GL_4PASS_3_EXT 0x80A7 +#define GL_SAMPLE_BUFFERS_EXT 0x80A8 +#define GL_SAMPLES_EXT 0x80A9 +#define GL_SAMPLE_MASK_VALUE_EXT 0x80AA +#define GL_SAMPLE_MASK_INVERT_EXT 0x80AB +#define GL_SAMPLE_PATTERN_EXT 0x80AC +#define GL_MULTISAMPLE_BIT_EXT 0x20000000 + +typedef void (GLAPIENTRY * PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert); +typedef void (GLAPIENTRY * PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern); + +#define glSampleMaskEXT GLEW_GET_FUN(__glewSampleMaskEXT) +#define glSamplePatternEXT GLEW_GET_FUN(__glewSamplePatternEXT) + +#define GLEW_EXT_multisample GLEW_GET_VAR(__GLEW_EXT_multisample) + +#endif /* GL_EXT_multisample */ + +/* ---------------------- GL_EXT_packed_depth_stencil ---------------------- */ + +#ifndef GL_EXT_packed_depth_stencil +#define GL_EXT_packed_depth_stencil 1 + +#define GL_DEPTH_STENCIL_EXT 0x84F9 +#define GL_UNSIGNED_INT_24_8_EXT 0x84FA +#define GL_DEPTH24_STENCIL8_EXT 0x88F0 +#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1 + +#define GLEW_EXT_packed_depth_stencil GLEW_GET_VAR(__GLEW_EXT_packed_depth_stencil) + +#endif /* GL_EXT_packed_depth_stencil */ + +/* -------------------------- GL_EXT_packed_float -------------------------- */ + +#ifndef GL_EXT_packed_float +#define GL_EXT_packed_float 1 + +#define GL_R11F_G11F_B10F_EXT 0x8C3A +#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B +#define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C + +#define GLEW_EXT_packed_float GLEW_GET_VAR(__GLEW_EXT_packed_float) + +#endif /* GL_EXT_packed_float */ + +/* -------------------------- GL_EXT_packed_pixels ------------------------- */ + +#ifndef GL_EXT_packed_pixels +#define GL_EXT_packed_pixels 1 + +#define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032 +#define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033 +#define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034 +#define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035 +#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036 + +#define GLEW_EXT_packed_pixels GLEW_GET_VAR(__GLEW_EXT_packed_pixels) + +#endif /* GL_EXT_packed_pixels */ + +/* ------------------------ GL_EXT_paletted_texture ------------------------ */ + +#ifndef GL_EXT_paletted_texture +#define GL_EXT_paletted_texture 1 + +#define GL_TEXTURE_1D 0x0DE0 +#define GL_TEXTURE_2D 0x0DE1 +#define GL_PROXY_TEXTURE_1D 0x8063 +#define GL_PROXY_TEXTURE_2D 0x8064 +#define GL_COLOR_TABLE_FORMAT_EXT 0x80D8 +#define GL_COLOR_TABLE_WIDTH_EXT 0x80D9 +#define GL_COLOR_TABLE_RED_SIZE_EXT 0x80DA +#define GL_COLOR_TABLE_GREEN_SIZE_EXT 0x80DB +#define GL_COLOR_TABLE_BLUE_SIZE_EXT 0x80DC +#define GL_COLOR_TABLE_ALPHA_SIZE_EXT 0x80DD +#define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE +#define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF +#define GL_COLOR_INDEX1_EXT 0x80E2 +#define GL_COLOR_INDEX2_EXT 0x80E3 +#define GL_COLOR_INDEX4_EXT 0x80E4 +#define GL_COLOR_INDEX8_EXT 0x80E5 +#define GL_COLOR_INDEX12_EXT 0x80E6 +#define GL_COLOR_INDEX16_EXT 0x80E7 +#define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED +#define GL_TEXTURE_CUBE_MAP_ARB 0x8513 +#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B + +typedef void (GLAPIENTRY * PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, void *data); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params); + +#define glColorTableEXT GLEW_GET_FUN(__glewColorTableEXT) +#define glGetColorTableEXT GLEW_GET_FUN(__glewGetColorTableEXT) +#define glGetColorTableParameterfvEXT GLEW_GET_FUN(__glewGetColorTableParameterfvEXT) +#define glGetColorTableParameterivEXT GLEW_GET_FUN(__glewGetColorTableParameterivEXT) + +#define GLEW_EXT_paletted_texture GLEW_GET_VAR(__GLEW_EXT_paletted_texture) + +#endif /* GL_EXT_paletted_texture */ + +/* ----------------------- GL_EXT_pixel_buffer_object ---------------------- */ + +#ifndef GL_EXT_pixel_buffer_object +#define GL_EXT_pixel_buffer_object 1 + +#define GL_PIXEL_PACK_BUFFER_EXT 0x88EB +#define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF + +#define GLEW_EXT_pixel_buffer_object GLEW_GET_VAR(__GLEW_EXT_pixel_buffer_object) + +#endif /* GL_EXT_pixel_buffer_object */ + +/* ------------------------- GL_EXT_pixel_transform ------------------------ */ + +#ifndef GL_EXT_pixel_transform +#define GL_EXT_pixel_transform 1 + +#define GL_PIXEL_TRANSFORM_2D_EXT 0x8330 +#define GL_PIXEL_MAG_FILTER_EXT 0x8331 +#define GL_PIXEL_MIN_FILTER_EXT 0x8332 +#define GL_PIXEL_CUBIC_WEIGHT_EXT 0x8333 +#define GL_CUBIC_EXT 0x8334 +#define GL_AVERAGE_EXT 0x8335 +#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336 +#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337 +#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT 0x8338 + +typedef void (GLAPIENTRY * PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, const GLfloat param); +typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, const GLint param); +typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params); + +#define glGetPixelTransformParameterfvEXT GLEW_GET_FUN(__glewGetPixelTransformParameterfvEXT) +#define glGetPixelTransformParameterivEXT GLEW_GET_FUN(__glewGetPixelTransformParameterivEXT) +#define glPixelTransformParameterfEXT GLEW_GET_FUN(__glewPixelTransformParameterfEXT) +#define glPixelTransformParameterfvEXT GLEW_GET_FUN(__glewPixelTransformParameterfvEXT) +#define glPixelTransformParameteriEXT GLEW_GET_FUN(__glewPixelTransformParameteriEXT) +#define glPixelTransformParameterivEXT GLEW_GET_FUN(__glewPixelTransformParameterivEXT) + +#define GLEW_EXT_pixel_transform GLEW_GET_VAR(__GLEW_EXT_pixel_transform) + +#endif /* GL_EXT_pixel_transform */ + +/* ------------------- GL_EXT_pixel_transform_color_table ------------------ */ + +#ifndef GL_EXT_pixel_transform_color_table +#define GL_EXT_pixel_transform_color_table 1 + +#define GLEW_EXT_pixel_transform_color_table GLEW_GET_VAR(__GLEW_EXT_pixel_transform_color_table) + +#endif /* GL_EXT_pixel_transform_color_table */ + +/* ------------------------ GL_EXT_point_parameters ------------------------ */ + +#ifndef GL_EXT_point_parameters +#define GL_EXT_point_parameters 1 + +#define GL_POINT_SIZE_MIN_EXT 0x8126 +#define GL_POINT_SIZE_MAX_EXT 0x8127 +#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128 +#define GL_DISTANCE_ATTENUATION_EXT 0x8129 + +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat* params); + +#define glPointParameterfEXT GLEW_GET_FUN(__glewPointParameterfEXT) +#define glPointParameterfvEXT GLEW_GET_FUN(__glewPointParameterfvEXT) + +#define GLEW_EXT_point_parameters GLEW_GET_VAR(__GLEW_EXT_point_parameters) + +#endif /* GL_EXT_point_parameters */ + +/* ------------------------- GL_EXT_polygon_offset ------------------------- */ + +#ifndef GL_EXT_polygon_offset +#define GL_EXT_polygon_offset 1 + +#define GL_POLYGON_OFFSET_EXT 0x8037 +#define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038 +#define GL_POLYGON_OFFSET_BIAS_EXT 0x8039 + +typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias); + +#define glPolygonOffsetEXT GLEW_GET_FUN(__glewPolygonOffsetEXT) + +#define GLEW_EXT_polygon_offset GLEW_GET_VAR(__GLEW_EXT_polygon_offset) + +#endif /* GL_EXT_polygon_offset */ + +/* ---------------------- GL_EXT_polygon_offset_clamp ---------------------- */ + +#ifndef GL_EXT_polygon_offset_clamp +#define GL_EXT_polygon_offset_clamp 1 + +#define GL_POLYGON_OFFSET_CLAMP_EXT 0x8E1B + +typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETCLAMPEXTPROC) (GLfloat factor, GLfloat units, GLfloat clamp); + +#define glPolygonOffsetClampEXT GLEW_GET_FUN(__glewPolygonOffsetClampEXT) + +#define GLEW_EXT_polygon_offset_clamp GLEW_GET_VAR(__GLEW_EXT_polygon_offset_clamp) + +#endif /* GL_EXT_polygon_offset_clamp */ + +/* ----------------------- GL_EXT_post_depth_coverage ---------------------- */ + +#ifndef GL_EXT_post_depth_coverage +#define GL_EXT_post_depth_coverage 1 + +#define GLEW_EXT_post_depth_coverage GLEW_GET_VAR(__GLEW_EXT_post_depth_coverage) + +#endif /* GL_EXT_post_depth_coverage */ + +/* ------------------------ GL_EXT_provoking_vertex ------------------------ */ + +#ifndef GL_EXT_provoking_vertex +#define GL_EXT_provoking_vertex 1 + +#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C +#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D +#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E +#define GL_PROVOKING_VERTEX_EXT 0x8E4F + +typedef void (GLAPIENTRY * PFNGLPROVOKINGVERTEXEXTPROC) (GLenum mode); + +#define glProvokingVertexEXT GLEW_GET_FUN(__glewProvokingVertexEXT) + +#define GLEW_EXT_provoking_vertex GLEW_GET_VAR(__GLEW_EXT_provoking_vertex) + +#endif /* GL_EXT_provoking_vertex */ + +/* ----------------------- GL_EXT_raster_multisample ----------------------- */ + +#ifndef GL_EXT_raster_multisample +#define GL_EXT_raster_multisample 1 + +#define GL_COLOR_SAMPLES_NV 0x8E20 +#define GL_RASTER_MULTISAMPLE_EXT 0x9327 +#define GL_RASTER_SAMPLES_EXT 0x9328 +#define GL_MAX_RASTER_SAMPLES_EXT 0x9329 +#define GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT 0x932A +#define GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT 0x932B +#define GL_EFFECTIVE_RASTER_SAMPLES_EXT 0x932C +#define GL_DEPTH_SAMPLES_NV 0x932D +#define GL_STENCIL_SAMPLES_NV 0x932E +#define GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV 0x932F +#define GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV 0x9330 +#define GL_COVERAGE_MODULATION_TABLE_NV 0x9331 +#define GL_COVERAGE_MODULATION_NV 0x9332 +#define GL_COVERAGE_MODULATION_TABLE_SIZE_NV 0x9333 + +typedef void (GLAPIENTRY * PFNGLCOVERAGEMODULATIONNVPROC) (GLenum components); +typedef void (GLAPIENTRY * PFNGLCOVERAGEMODULATIONTABLENVPROC) (GLsizei n, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLGETCOVERAGEMODULATIONTABLENVPROC) (GLsizei bufsize, GLfloat* v); +typedef void (GLAPIENTRY * PFNGLRASTERSAMPLESEXTPROC) (GLuint samples, GLboolean fixedsamplelocations); + +#define glCoverageModulationNV GLEW_GET_FUN(__glewCoverageModulationNV) +#define glCoverageModulationTableNV GLEW_GET_FUN(__glewCoverageModulationTableNV) +#define glGetCoverageModulationTableNV GLEW_GET_FUN(__glewGetCoverageModulationTableNV) +#define glRasterSamplesEXT GLEW_GET_FUN(__glewRasterSamplesEXT) + +#define GLEW_EXT_raster_multisample GLEW_GET_VAR(__GLEW_EXT_raster_multisample) + +#endif /* GL_EXT_raster_multisample */ + +/* ------------------------- GL_EXT_rescale_normal ------------------------- */ + +#ifndef GL_EXT_rescale_normal +#define GL_EXT_rescale_normal 1 + +#define GL_RESCALE_NORMAL_EXT 0x803A + +#define GLEW_EXT_rescale_normal GLEW_GET_VAR(__GLEW_EXT_rescale_normal) + +#endif /* GL_EXT_rescale_normal */ + +/* -------------------------- GL_EXT_scene_marker -------------------------- */ + +#ifndef GL_EXT_scene_marker +#define GL_EXT_scene_marker 1 + +typedef void (GLAPIENTRY * PFNGLBEGINSCENEEXTPROC) (void); +typedef void (GLAPIENTRY * PFNGLENDSCENEEXTPROC) (void); + +#define glBeginSceneEXT GLEW_GET_FUN(__glewBeginSceneEXT) +#define glEndSceneEXT GLEW_GET_FUN(__glewEndSceneEXT) + +#define GLEW_EXT_scene_marker GLEW_GET_VAR(__GLEW_EXT_scene_marker) + +#endif /* GL_EXT_scene_marker */ + +/* ------------------------- GL_EXT_secondary_color ------------------------ */ + +#ifndef GL_EXT_secondary_color +#define GL_EXT_secondary_color 1 + +#define GL_COLOR_SUM_EXT 0x8458 +#define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459 +#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A +#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B +#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C +#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D +#define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E + +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer); + +#define glSecondaryColor3bEXT GLEW_GET_FUN(__glewSecondaryColor3bEXT) +#define glSecondaryColor3bvEXT GLEW_GET_FUN(__glewSecondaryColor3bvEXT) +#define glSecondaryColor3dEXT GLEW_GET_FUN(__glewSecondaryColor3dEXT) +#define glSecondaryColor3dvEXT GLEW_GET_FUN(__glewSecondaryColor3dvEXT) +#define glSecondaryColor3fEXT GLEW_GET_FUN(__glewSecondaryColor3fEXT) +#define glSecondaryColor3fvEXT GLEW_GET_FUN(__glewSecondaryColor3fvEXT) +#define glSecondaryColor3iEXT GLEW_GET_FUN(__glewSecondaryColor3iEXT) +#define glSecondaryColor3ivEXT GLEW_GET_FUN(__glewSecondaryColor3ivEXT) +#define glSecondaryColor3sEXT GLEW_GET_FUN(__glewSecondaryColor3sEXT) +#define glSecondaryColor3svEXT GLEW_GET_FUN(__glewSecondaryColor3svEXT) +#define glSecondaryColor3ubEXT GLEW_GET_FUN(__glewSecondaryColor3ubEXT) +#define glSecondaryColor3ubvEXT GLEW_GET_FUN(__glewSecondaryColor3ubvEXT) +#define glSecondaryColor3uiEXT GLEW_GET_FUN(__glewSecondaryColor3uiEXT) +#define glSecondaryColor3uivEXT GLEW_GET_FUN(__glewSecondaryColor3uivEXT) +#define glSecondaryColor3usEXT GLEW_GET_FUN(__glewSecondaryColor3usEXT) +#define glSecondaryColor3usvEXT GLEW_GET_FUN(__glewSecondaryColor3usvEXT) +#define glSecondaryColorPointerEXT GLEW_GET_FUN(__glewSecondaryColorPointerEXT) + +#define GLEW_EXT_secondary_color GLEW_GET_VAR(__GLEW_EXT_secondary_color) + +#endif /* GL_EXT_secondary_color */ + +/* --------------------- GL_EXT_separate_shader_objects -------------------- */ + +#ifndef GL_EXT_separate_shader_objects +#define GL_EXT_separate_shader_objects 1 + +#define GL_ACTIVE_PROGRAM_EXT 0x8B8D + +typedef void (GLAPIENTRY * PFNGLACTIVEPROGRAMEXTPROC) (GLuint program); +typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, const GLchar* string); +typedef void (GLAPIENTRY * PFNGLUSESHADERPROGRAMEXTPROC) (GLenum type, GLuint program); + +#define glActiveProgramEXT GLEW_GET_FUN(__glewActiveProgramEXT) +#define glCreateShaderProgramEXT GLEW_GET_FUN(__glewCreateShaderProgramEXT) +#define glUseShaderProgramEXT GLEW_GET_FUN(__glewUseShaderProgramEXT) + +#define GLEW_EXT_separate_shader_objects GLEW_GET_VAR(__GLEW_EXT_separate_shader_objects) + +#endif /* GL_EXT_separate_shader_objects */ + +/* --------------------- GL_EXT_separate_specular_color -------------------- */ + +#ifndef GL_EXT_separate_specular_color +#define GL_EXT_separate_specular_color 1 + +#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8 +#define GL_SINGLE_COLOR_EXT 0x81F9 +#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA + +#define GLEW_EXT_separate_specular_color GLEW_GET_VAR(__GLEW_EXT_separate_specular_color) + +#endif /* GL_EXT_separate_specular_color */ + +/* ------------------- GL_EXT_shader_image_load_formatted ------------------ */ + +#ifndef GL_EXT_shader_image_load_formatted +#define GL_EXT_shader_image_load_formatted 1 + +#define GLEW_EXT_shader_image_load_formatted GLEW_GET_VAR(__GLEW_EXT_shader_image_load_formatted) + +#endif /* GL_EXT_shader_image_load_formatted */ + +/* --------------------- GL_EXT_shader_image_load_store -------------------- */ + +#ifndef GL_EXT_shader_image_load_store +#define GL_EXT_shader_image_load_store 1 + +#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT 0x00000001 +#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT 0x00000002 +#define GL_UNIFORM_BARRIER_BIT_EXT 0x00000004 +#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT 0x00000008 +#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT 0x00000020 +#define GL_COMMAND_BARRIER_BIT_EXT 0x00000040 +#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT 0x00000080 +#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT 0x00000100 +#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT 0x00000200 +#define GL_FRAMEBUFFER_BARRIER_BIT_EXT 0x00000400 +#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT 0x00000800 +#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT 0x00001000 +#define GL_MAX_IMAGE_UNITS_EXT 0x8F38 +#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8F39 +#define GL_IMAGE_BINDING_NAME_EXT 0x8F3A +#define GL_IMAGE_BINDING_LEVEL_EXT 0x8F3B +#define GL_IMAGE_BINDING_LAYERED_EXT 0x8F3C +#define GL_IMAGE_BINDING_LAYER_EXT 0x8F3D +#define GL_IMAGE_BINDING_ACCESS_EXT 0x8F3E +#define GL_IMAGE_1D_EXT 0x904C +#define GL_IMAGE_2D_EXT 0x904D +#define GL_IMAGE_3D_EXT 0x904E +#define GL_IMAGE_2D_RECT_EXT 0x904F +#define GL_IMAGE_CUBE_EXT 0x9050 +#define GL_IMAGE_BUFFER_EXT 0x9051 +#define GL_IMAGE_1D_ARRAY_EXT 0x9052 +#define GL_IMAGE_2D_ARRAY_EXT 0x9053 +#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054 +#define GL_IMAGE_2D_MULTISAMPLE_EXT 0x9055 +#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9056 +#define GL_INT_IMAGE_1D_EXT 0x9057 +#define GL_INT_IMAGE_2D_EXT 0x9058 +#define GL_INT_IMAGE_3D_EXT 0x9059 +#define GL_INT_IMAGE_2D_RECT_EXT 0x905A +#define GL_INT_IMAGE_CUBE_EXT 0x905B +#define GL_INT_IMAGE_BUFFER_EXT 0x905C +#define GL_INT_IMAGE_1D_ARRAY_EXT 0x905D +#define GL_INT_IMAGE_2D_ARRAY_EXT 0x905E +#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F +#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT 0x9060 +#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9061 +#define GL_UNSIGNED_INT_IMAGE_1D_EXT 0x9062 +#define GL_UNSIGNED_INT_IMAGE_2D_EXT 0x9063 +#define GL_UNSIGNED_INT_IMAGE_3D_EXT 0x9064 +#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT 0x9065 +#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT 0x9066 +#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067 +#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT 0x9068 +#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT 0x9069 +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT 0x906B +#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x906C +#define GL_MAX_IMAGE_SAMPLES_EXT 0x906D +#define GL_IMAGE_BINDING_FORMAT_EXT 0x906E +#define GL_ALL_BARRIER_BITS_EXT 0xFFFFFFFF + +typedef void (GLAPIENTRY * PFNGLBINDIMAGETEXTUREEXTPROC) (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format); +typedef void (GLAPIENTRY * PFNGLMEMORYBARRIEREXTPROC) (GLbitfield barriers); + +#define glBindImageTextureEXT GLEW_GET_FUN(__glewBindImageTextureEXT) +#define glMemoryBarrierEXT GLEW_GET_FUN(__glewMemoryBarrierEXT) + +#define GLEW_EXT_shader_image_load_store GLEW_GET_VAR(__GLEW_EXT_shader_image_load_store) + +#endif /* GL_EXT_shader_image_load_store */ + +/* ----------------------- GL_EXT_shader_integer_mix ----------------------- */ + +#ifndef GL_EXT_shader_integer_mix +#define GL_EXT_shader_integer_mix 1 + +#define GLEW_EXT_shader_integer_mix GLEW_GET_VAR(__GLEW_EXT_shader_integer_mix) + +#endif /* GL_EXT_shader_integer_mix */ + +/* -------------------------- GL_EXT_shadow_funcs -------------------------- */ + +#ifndef GL_EXT_shadow_funcs +#define GL_EXT_shadow_funcs 1 + +#define GLEW_EXT_shadow_funcs GLEW_GET_VAR(__GLEW_EXT_shadow_funcs) + +#endif /* GL_EXT_shadow_funcs */ + +/* --------------------- GL_EXT_shared_texture_palette --------------------- */ + +#ifndef GL_EXT_shared_texture_palette +#define GL_EXT_shared_texture_palette 1 + +#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB + +#define GLEW_EXT_shared_texture_palette GLEW_GET_VAR(__GLEW_EXT_shared_texture_palette) + +#endif /* GL_EXT_shared_texture_palette */ + +/* ------------------------- GL_EXT_sparse_texture2 ------------------------ */ + +#ifndef GL_EXT_sparse_texture2 +#define GL_EXT_sparse_texture2 1 + +#define GLEW_EXT_sparse_texture2 GLEW_GET_VAR(__GLEW_EXT_sparse_texture2) + +#endif /* GL_EXT_sparse_texture2 */ + +/* ------------------------ GL_EXT_stencil_clear_tag ----------------------- */ + +#ifndef GL_EXT_stencil_clear_tag +#define GL_EXT_stencil_clear_tag 1 + +#define GL_STENCIL_TAG_BITS_EXT 0x88F2 +#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3 + +#define GLEW_EXT_stencil_clear_tag GLEW_GET_VAR(__GLEW_EXT_stencil_clear_tag) + +#endif /* GL_EXT_stencil_clear_tag */ + +/* ------------------------ GL_EXT_stencil_two_side ------------------------ */ + +#ifndef GL_EXT_stencil_two_side +#define GL_EXT_stencil_two_side 1 + +#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910 +#define GL_ACTIVE_STENCIL_FACE_EXT 0x8911 + +typedef void (GLAPIENTRY * PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face); + +#define glActiveStencilFaceEXT GLEW_GET_FUN(__glewActiveStencilFaceEXT) + +#define GLEW_EXT_stencil_two_side GLEW_GET_VAR(__GLEW_EXT_stencil_two_side) + +#endif /* GL_EXT_stencil_two_side */ + +/* -------------------------- GL_EXT_stencil_wrap -------------------------- */ + +#ifndef GL_EXT_stencil_wrap +#define GL_EXT_stencil_wrap 1 + +#define GL_INCR_WRAP_EXT 0x8507 +#define GL_DECR_WRAP_EXT 0x8508 + +#define GLEW_EXT_stencil_wrap GLEW_GET_VAR(__GLEW_EXT_stencil_wrap) + +#endif /* GL_EXT_stencil_wrap */ + +/* --------------------------- GL_EXT_subtexture --------------------------- */ + +#ifndef GL_EXT_subtexture +#define GL_EXT_subtexture 1 + +typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); + +#define glTexSubImage1DEXT GLEW_GET_FUN(__glewTexSubImage1DEXT) +#define glTexSubImage2DEXT GLEW_GET_FUN(__glewTexSubImage2DEXT) +#define glTexSubImage3DEXT GLEW_GET_FUN(__glewTexSubImage3DEXT) + +#define GLEW_EXT_subtexture GLEW_GET_VAR(__GLEW_EXT_subtexture) + +#endif /* GL_EXT_subtexture */ + +/* ----------------------------- GL_EXT_texture ---------------------------- */ + +#ifndef GL_EXT_texture +#define GL_EXT_texture 1 + +#define GL_ALPHA4_EXT 0x803B +#define GL_ALPHA8_EXT 0x803C +#define GL_ALPHA12_EXT 0x803D +#define GL_ALPHA16_EXT 0x803E +#define GL_LUMINANCE4_EXT 0x803F +#define GL_LUMINANCE8_EXT 0x8040 +#define GL_LUMINANCE12_EXT 0x8041 +#define GL_LUMINANCE16_EXT 0x8042 +#define GL_LUMINANCE4_ALPHA4_EXT 0x8043 +#define GL_LUMINANCE6_ALPHA2_EXT 0x8044 +#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 +#define GL_LUMINANCE12_ALPHA4_EXT 0x8046 +#define GL_LUMINANCE12_ALPHA12_EXT 0x8047 +#define GL_LUMINANCE16_ALPHA16_EXT 0x8048 +#define GL_INTENSITY_EXT 0x8049 +#define GL_INTENSITY4_EXT 0x804A +#define GL_INTENSITY8_EXT 0x804B +#define GL_INTENSITY12_EXT 0x804C +#define GL_INTENSITY16_EXT 0x804D +#define GL_RGB2_EXT 0x804E +#define GL_RGB4_EXT 0x804F +#define GL_RGB5_EXT 0x8050 +#define GL_RGB8_EXT 0x8051 +#define GL_RGB10_EXT 0x8052 +#define GL_RGB12_EXT 0x8053 +#define GL_RGB16_EXT 0x8054 +#define GL_RGBA2_EXT 0x8055 +#define GL_RGBA4_EXT 0x8056 +#define GL_RGB5_A1_EXT 0x8057 +#define GL_RGBA8_EXT 0x8058 +#define GL_RGB10_A2_EXT 0x8059 +#define GL_RGBA12_EXT 0x805A +#define GL_RGBA16_EXT 0x805B +#define GL_TEXTURE_RED_SIZE_EXT 0x805C +#define GL_TEXTURE_GREEN_SIZE_EXT 0x805D +#define GL_TEXTURE_BLUE_SIZE_EXT 0x805E +#define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F +#define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060 +#define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061 +#define GL_REPLACE_EXT 0x8062 +#define GL_PROXY_TEXTURE_1D_EXT 0x8063 +#define GL_PROXY_TEXTURE_2D_EXT 0x8064 + +#define GLEW_EXT_texture GLEW_GET_VAR(__GLEW_EXT_texture) + +#endif /* GL_EXT_texture */ + +/* ---------------------------- GL_EXT_texture3D --------------------------- */ + +#ifndef GL_EXT_texture3D +#define GL_EXT_texture3D 1 + +#define GL_PACK_SKIP_IMAGES_EXT 0x806B +#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C +#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D +#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E +#define GL_TEXTURE_3D_EXT 0x806F +#define GL_PROXY_TEXTURE_3D_EXT 0x8070 +#define GL_TEXTURE_DEPTH_EXT 0x8071 +#define GL_TEXTURE_WRAP_R_EXT 0x8072 +#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073 + +typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); + +#define glTexImage3DEXT GLEW_GET_FUN(__glewTexImage3DEXT) + +#define GLEW_EXT_texture3D GLEW_GET_VAR(__GLEW_EXT_texture3D) + +#endif /* GL_EXT_texture3D */ + +/* -------------------------- GL_EXT_texture_array ------------------------- */ + +#ifndef GL_EXT_texture_array +#define GL_EXT_texture_array 1 + +#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E +#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF +#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18 +#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19 +#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A +#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B +#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C +#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); + +#define glFramebufferTextureLayerEXT GLEW_GET_FUN(__glewFramebufferTextureLayerEXT) + +#define GLEW_EXT_texture_array GLEW_GET_VAR(__GLEW_EXT_texture_array) + +#endif /* GL_EXT_texture_array */ + +/* ---------------------- GL_EXT_texture_buffer_object --------------------- */ + +#ifndef GL_EXT_texture_buffer_object +#define GL_EXT_texture_buffer_object 1 + +#define GL_TEXTURE_BUFFER_EXT 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D +#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E + +typedef void (GLAPIENTRY * PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer); + +#define glTexBufferEXT GLEW_GET_FUN(__glewTexBufferEXT) + +#define GLEW_EXT_texture_buffer_object GLEW_GET_VAR(__GLEW_EXT_texture_buffer_object) + +#endif /* GL_EXT_texture_buffer_object */ + +/* -------------------- GL_EXT_texture_compression_dxt1 -------------------- */ + +#ifndef GL_EXT_texture_compression_dxt1 +#define GL_EXT_texture_compression_dxt1 1 + +#define GLEW_EXT_texture_compression_dxt1 GLEW_GET_VAR(__GLEW_EXT_texture_compression_dxt1) + +#endif /* GL_EXT_texture_compression_dxt1 */ + +/* -------------------- GL_EXT_texture_compression_latc -------------------- */ + +#ifndef GL_EXT_texture_compression_latc +#define GL_EXT_texture_compression_latc 1 + +#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70 +#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71 +#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72 +#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73 + +#define GLEW_EXT_texture_compression_latc GLEW_GET_VAR(__GLEW_EXT_texture_compression_latc) + +#endif /* GL_EXT_texture_compression_latc */ + +/* -------------------- GL_EXT_texture_compression_rgtc -------------------- */ + +#ifndef GL_EXT_texture_compression_rgtc +#define GL_EXT_texture_compression_rgtc 1 + +#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB +#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC +#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD +#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE + +#define GLEW_EXT_texture_compression_rgtc GLEW_GET_VAR(__GLEW_EXT_texture_compression_rgtc) + +#endif /* GL_EXT_texture_compression_rgtc */ + +/* -------------------- GL_EXT_texture_compression_s3tc -------------------- */ + +#ifndef GL_EXT_texture_compression_s3tc +#define GL_EXT_texture_compression_s3tc 1 + +#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 +#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 + +#define GLEW_EXT_texture_compression_s3tc GLEW_GET_VAR(__GLEW_EXT_texture_compression_s3tc) + +#endif /* GL_EXT_texture_compression_s3tc */ + +/* ------------------------ GL_EXT_texture_cube_map ------------------------ */ + +#ifndef GL_EXT_texture_cube_map +#define GL_EXT_texture_cube_map 1 + +#define GL_NORMAL_MAP_EXT 0x8511 +#define GL_REFLECTION_MAP_EXT 0x8512 +#define GL_TEXTURE_CUBE_MAP_EXT 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A +#define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C + +#define GLEW_EXT_texture_cube_map GLEW_GET_VAR(__GLEW_EXT_texture_cube_map) + +#endif /* GL_EXT_texture_cube_map */ + +/* ----------------------- GL_EXT_texture_edge_clamp ----------------------- */ + +#ifndef GL_EXT_texture_edge_clamp +#define GL_EXT_texture_edge_clamp 1 + +#define GL_CLAMP_TO_EDGE_EXT 0x812F + +#define GLEW_EXT_texture_edge_clamp GLEW_GET_VAR(__GLEW_EXT_texture_edge_clamp) + +#endif /* GL_EXT_texture_edge_clamp */ + +/* --------------------------- GL_EXT_texture_env -------------------------- */ + +#ifndef GL_EXT_texture_env +#define GL_EXT_texture_env 1 + +#define GLEW_EXT_texture_env GLEW_GET_VAR(__GLEW_EXT_texture_env) + +#endif /* GL_EXT_texture_env */ + +/* ------------------------- GL_EXT_texture_env_add ------------------------ */ + +#ifndef GL_EXT_texture_env_add +#define GL_EXT_texture_env_add 1 + +#define GLEW_EXT_texture_env_add GLEW_GET_VAR(__GLEW_EXT_texture_env_add) + +#endif /* GL_EXT_texture_env_add */ + +/* ----------------------- GL_EXT_texture_env_combine ---------------------- */ + +#ifndef GL_EXT_texture_env_combine +#define GL_EXT_texture_env_combine 1 + +#define GL_COMBINE_EXT 0x8570 +#define GL_COMBINE_RGB_EXT 0x8571 +#define GL_COMBINE_ALPHA_EXT 0x8572 +#define GL_RGB_SCALE_EXT 0x8573 +#define GL_ADD_SIGNED_EXT 0x8574 +#define GL_INTERPOLATE_EXT 0x8575 +#define GL_CONSTANT_EXT 0x8576 +#define GL_PRIMARY_COLOR_EXT 0x8577 +#define GL_PREVIOUS_EXT 0x8578 +#define GL_SOURCE0_RGB_EXT 0x8580 +#define GL_SOURCE1_RGB_EXT 0x8581 +#define GL_SOURCE2_RGB_EXT 0x8582 +#define GL_SOURCE0_ALPHA_EXT 0x8588 +#define GL_SOURCE1_ALPHA_EXT 0x8589 +#define GL_SOURCE2_ALPHA_EXT 0x858A +#define GL_OPERAND0_RGB_EXT 0x8590 +#define GL_OPERAND1_RGB_EXT 0x8591 +#define GL_OPERAND2_RGB_EXT 0x8592 +#define GL_OPERAND0_ALPHA_EXT 0x8598 +#define GL_OPERAND1_ALPHA_EXT 0x8599 +#define GL_OPERAND2_ALPHA_EXT 0x859A + +#define GLEW_EXT_texture_env_combine GLEW_GET_VAR(__GLEW_EXT_texture_env_combine) + +#endif /* GL_EXT_texture_env_combine */ + +/* ------------------------ GL_EXT_texture_env_dot3 ------------------------ */ + +#ifndef GL_EXT_texture_env_dot3 +#define GL_EXT_texture_env_dot3 1 + +#define GL_DOT3_RGB_EXT 0x8740 +#define GL_DOT3_RGBA_EXT 0x8741 + +#define GLEW_EXT_texture_env_dot3 GLEW_GET_VAR(__GLEW_EXT_texture_env_dot3) + +#endif /* GL_EXT_texture_env_dot3 */ + +/* ------------------- GL_EXT_texture_filter_anisotropic ------------------- */ + +#ifndef GL_EXT_texture_filter_anisotropic +#define GL_EXT_texture_filter_anisotropic 1 + +#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE +#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF + +#define GLEW_EXT_texture_filter_anisotropic GLEW_GET_VAR(__GLEW_EXT_texture_filter_anisotropic) + +#endif /* GL_EXT_texture_filter_anisotropic */ + +/* ---------------------- GL_EXT_texture_filter_minmax --------------------- */ + +#ifndef GL_EXT_texture_filter_minmax +#define GL_EXT_texture_filter_minmax 1 + +#define GL_TEXTURE_REDUCTION_MODE_EXT 0x9366 +#define GL_WEIGHTED_AVERAGE_EXT 0x9367 + +#define GLEW_EXT_texture_filter_minmax GLEW_GET_VAR(__GLEW_EXT_texture_filter_minmax) + +#endif /* GL_EXT_texture_filter_minmax */ + +/* ------------------------- GL_EXT_texture_integer ------------------------ */ + +#ifndef GL_EXT_texture_integer +#define GL_EXT_texture_integer 1 + +#define GL_RGBA32UI_EXT 0x8D70 +#define GL_RGB32UI_EXT 0x8D71 +#define GL_ALPHA32UI_EXT 0x8D72 +#define GL_INTENSITY32UI_EXT 0x8D73 +#define GL_LUMINANCE32UI_EXT 0x8D74 +#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75 +#define GL_RGBA16UI_EXT 0x8D76 +#define GL_RGB16UI_EXT 0x8D77 +#define GL_ALPHA16UI_EXT 0x8D78 +#define GL_INTENSITY16UI_EXT 0x8D79 +#define GL_LUMINANCE16UI_EXT 0x8D7A +#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B +#define GL_RGBA8UI_EXT 0x8D7C +#define GL_RGB8UI_EXT 0x8D7D +#define GL_ALPHA8UI_EXT 0x8D7E +#define GL_INTENSITY8UI_EXT 0x8D7F +#define GL_LUMINANCE8UI_EXT 0x8D80 +#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81 +#define GL_RGBA32I_EXT 0x8D82 +#define GL_RGB32I_EXT 0x8D83 +#define GL_ALPHA32I_EXT 0x8D84 +#define GL_INTENSITY32I_EXT 0x8D85 +#define GL_LUMINANCE32I_EXT 0x8D86 +#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87 +#define GL_RGBA16I_EXT 0x8D88 +#define GL_RGB16I_EXT 0x8D89 +#define GL_ALPHA16I_EXT 0x8D8A +#define GL_INTENSITY16I_EXT 0x8D8B +#define GL_LUMINANCE16I_EXT 0x8D8C +#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D +#define GL_RGBA8I_EXT 0x8D8E +#define GL_RGB8I_EXT 0x8D8F +#define GL_ALPHA8I_EXT 0x8D90 +#define GL_INTENSITY8I_EXT 0x8D91 +#define GL_LUMINANCE8I_EXT 0x8D92 +#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93 +#define GL_RED_INTEGER_EXT 0x8D94 +#define GL_GREEN_INTEGER_EXT 0x8D95 +#define GL_BLUE_INTEGER_EXT 0x8D96 +#define GL_ALPHA_INTEGER_EXT 0x8D97 +#define GL_RGB_INTEGER_EXT 0x8D98 +#define GL_RGBA_INTEGER_EXT 0x8D99 +#define GL_BGR_INTEGER_EXT 0x8D9A +#define GL_BGRA_INTEGER_EXT 0x8D9B +#define GL_LUMINANCE_INTEGER_EXT 0x8D9C +#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D +#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E + +typedef void (GLAPIENTRY * PFNGLCLEARCOLORIIEXTPROC) (GLint red, GLint green, GLint blue, GLint alpha); +typedef void (GLAPIENTRY * PFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha); +typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params); +typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params); + +#define glClearColorIiEXT GLEW_GET_FUN(__glewClearColorIiEXT) +#define glClearColorIuiEXT GLEW_GET_FUN(__glewClearColorIuiEXT) +#define glGetTexParameterIivEXT GLEW_GET_FUN(__glewGetTexParameterIivEXT) +#define glGetTexParameterIuivEXT GLEW_GET_FUN(__glewGetTexParameterIuivEXT) +#define glTexParameterIivEXT GLEW_GET_FUN(__glewTexParameterIivEXT) +#define glTexParameterIuivEXT GLEW_GET_FUN(__glewTexParameterIuivEXT) + +#define GLEW_EXT_texture_integer GLEW_GET_VAR(__GLEW_EXT_texture_integer) + +#endif /* GL_EXT_texture_integer */ + +/* ------------------------ GL_EXT_texture_lod_bias ------------------------ */ + +#ifndef GL_EXT_texture_lod_bias +#define GL_EXT_texture_lod_bias 1 + +#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD +#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500 +#define GL_TEXTURE_LOD_BIAS_EXT 0x8501 + +#define GLEW_EXT_texture_lod_bias GLEW_GET_VAR(__GLEW_EXT_texture_lod_bias) + +#endif /* GL_EXT_texture_lod_bias */ + +/* ---------------------- GL_EXT_texture_mirror_clamp ---------------------- */ + +#ifndef GL_EXT_texture_mirror_clamp +#define GL_EXT_texture_mirror_clamp 1 + +#define GL_MIRROR_CLAMP_EXT 0x8742 +#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743 +#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912 + +#define GLEW_EXT_texture_mirror_clamp GLEW_GET_VAR(__GLEW_EXT_texture_mirror_clamp) + +#endif /* GL_EXT_texture_mirror_clamp */ + +/* ------------------------- GL_EXT_texture_object ------------------------- */ + +#ifndef GL_EXT_texture_object +#define GL_EXT_texture_object 1 + +#define GL_TEXTURE_PRIORITY_EXT 0x8066 +#define GL_TEXTURE_RESIDENT_EXT 0x8067 +#define GL_TEXTURE_1D_BINDING_EXT 0x8068 +#define GL_TEXTURE_2D_BINDING_EXT 0x8069 +#define GL_TEXTURE_3D_BINDING_EXT 0x806A + +typedef GLboolean (GLAPIENTRY * PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint* textures, GLboolean* residences); +typedef void (GLAPIENTRY * PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture); +typedef void (GLAPIENTRY * PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint* textures); +typedef void (GLAPIENTRY * PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint* textures); +typedef GLboolean (GLAPIENTRY * PFNGLISTEXTUREEXTPROC) (GLuint texture); +typedef void (GLAPIENTRY * PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint* textures, const GLclampf* priorities); + +#define glAreTexturesResidentEXT GLEW_GET_FUN(__glewAreTexturesResidentEXT) +#define glBindTextureEXT GLEW_GET_FUN(__glewBindTextureEXT) +#define glDeleteTexturesEXT GLEW_GET_FUN(__glewDeleteTexturesEXT) +#define glGenTexturesEXT GLEW_GET_FUN(__glewGenTexturesEXT) +#define glIsTextureEXT GLEW_GET_FUN(__glewIsTextureEXT) +#define glPrioritizeTexturesEXT GLEW_GET_FUN(__glewPrioritizeTexturesEXT) + +#define GLEW_EXT_texture_object GLEW_GET_VAR(__GLEW_EXT_texture_object) + +#endif /* GL_EXT_texture_object */ + +/* --------------------- GL_EXT_texture_perturb_normal --------------------- */ + +#ifndef GL_EXT_texture_perturb_normal +#define GL_EXT_texture_perturb_normal 1 + +#define GL_PERTURB_EXT 0x85AE +#define GL_TEXTURE_NORMAL_EXT 0x85AF + +typedef void (GLAPIENTRY * PFNGLTEXTURENORMALEXTPROC) (GLenum mode); + +#define glTextureNormalEXT GLEW_GET_FUN(__glewTextureNormalEXT) + +#define GLEW_EXT_texture_perturb_normal GLEW_GET_VAR(__GLEW_EXT_texture_perturb_normal) + +#endif /* GL_EXT_texture_perturb_normal */ + +/* ------------------------ GL_EXT_texture_rectangle ----------------------- */ + +#ifndef GL_EXT_texture_rectangle +#define GL_EXT_texture_rectangle 1 + +#define GL_TEXTURE_RECTANGLE_EXT 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT 0x84F8 + +#define GLEW_EXT_texture_rectangle GLEW_GET_VAR(__GLEW_EXT_texture_rectangle) + +#endif /* GL_EXT_texture_rectangle */ + +/* -------------------------- GL_EXT_texture_sRGB -------------------------- */ + +#ifndef GL_EXT_texture_sRGB +#define GL_EXT_texture_sRGB 1 + +#define GL_SRGB_EXT 0x8C40 +#define GL_SRGB8_EXT 0x8C41 +#define GL_SRGB_ALPHA_EXT 0x8C42 +#define GL_SRGB8_ALPHA8_EXT 0x8C43 +#define GL_SLUMINANCE_ALPHA_EXT 0x8C44 +#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45 +#define GL_SLUMINANCE_EXT 0x8C46 +#define GL_SLUMINANCE8_EXT 0x8C47 +#define GL_COMPRESSED_SRGB_EXT 0x8C48 +#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49 +#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A +#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B +#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F + +#define GLEW_EXT_texture_sRGB GLEW_GET_VAR(__GLEW_EXT_texture_sRGB) + +#endif /* GL_EXT_texture_sRGB */ + +/* ----------------------- GL_EXT_texture_sRGB_decode ---------------------- */ + +#ifndef GL_EXT_texture_sRGB_decode +#define GL_EXT_texture_sRGB_decode 1 + +#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48 +#define GL_DECODE_EXT 0x8A49 +#define GL_SKIP_DECODE_EXT 0x8A4A + +#define GLEW_EXT_texture_sRGB_decode GLEW_GET_VAR(__GLEW_EXT_texture_sRGB_decode) + +#endif /* GL_EXT_texture_sRGB_decode */ + +/* --------------------- GL_EXT_texture_shared_exponent -------------------- */ + +#ifndef GL_EXT_texture_shared_exponent +#define GL_EXT_texture_shared_exponent 1 + +#define GL_RGB9_E5_EXT 0x8C3D +#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E +#define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F + +#define GLEW_EXT_texture_shared_exponent GLEW_GET_VAR(__GLEW_EXT_texture_shared_exponent) + +#endif /* GL_EXT_texture_shared_exponent */ + +/* -------------------------- GL_EXT_texture_snorm ------------------------- */ + +#ifndef GL_EXT_texture_snorm +#define GL_EXT_texture_snorm 1 + +#define GL_RED_SNORM 0x8F90 +#define GL_RG_SNORM 0x8F91 +#define GL_RGB_SNORM 0x8F92 +#define GL_RGBA_SNORM 0x8F93 +#define GL_R8_SNORM 0x8F94 +#define GL_RG8_SNORM 0x8F95 +#define GL_RGB8_SNORM 0x8F96 +#define GL_RGBA8_SNORM 0x8F97 +#define GL_R16_SNORM 0x8F98 +#define GL_RG16_SNORM 0x8F99 +#define GL_RGB16_SNORM 0x8F9A +#define GL_RGBA16_SNORM 0x8F9B +#define GL_SIGNED_NORMALIZED 0x8F9C +#define GL_ALPHA_SNORM 0x9010 +#define GL_LUMINANCE_SNORM 0x9011 +#define GL_LUMINANCE_ALPHA_SNORM 0x9012 +#define GL_INTENSITY_SNORM 0x9013 +#define GL_ALPHA8_SNORM 0x9014 +#define GL_LUMINANCE8_SNORM 0x9015 +#define GL_LUMINANCE8_ALPHA8_SNORM 0x9016 +#define GL_INTENSITY8_SNORM 0x9017 +#define GL_ALPHA16_SNORM 0x9018 +#define GL_LUMINANCE16_SNORM 0x9019 +#define GL_LUMINANCE16_ALPHA16_SNORM 0x901A +#define GL_INTENSITY16_SNORM 0x901B + +#define GLEW_EXT_texture_snorm GLEW_GET_VAR(__GLEW_EXT_texture_snorm) + +#endif /* GL_EXT_texture_snorm */ + +/* ------------------------- GL_EXT_texture_swizzle ------------------------ */ + +#ifndef GL_EXT_texture_swizzle +#define GL_EXT_texture_swizzle 1 + +#define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42 +#define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43 +#define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44 +#define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45 +#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46 + +#define GLEW_EXT_texture_swizzle GLEW_GET_VAR(__GLEW_EXT_texture_swizzle) + +#endif /* GL_EXT_texture_swizzle */ + +/* --------------------------- GL_EXT_timer_query -------------------------- */ + +#ifndef GL_EXT_timer_query +#define GL_EXT_timer_query 1 + +#define GL_TIME_ELAPSED_EXT 0x88BF + +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT *params); +typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT *params); + +#define glGetQueryObjecti64vEXT GLEW_GET_FUN(__glewGetQueryObjecti64vEXT) +#define glGetQueryObjectui64vEXT GLEW_GET_FUN(__glewGetQueryObjectui64vEXT) + +#define GLEW_EXT_timer_query GLEW_GET_VAR(__GLEW_EXT_timer_query) + +#endif /* GL_EXT_timer_query */ + +/* ----------------------- GL_EXT_transform_feedback ----------------------- */ + +#ifndef GL_EXT_transform_feedback +#define GL_EXT_transform_feedback 1 + +#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76 +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80 +#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85 +#define GL_PRIMITIVES_GENERATED_EXT 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88 +#define GL_RASTERIZER_DISCARD_EXT 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B +#define GL_INTERLEAVED_ATTRIBS_EXT 0x8C8C +#define GL_SEPARATE_ATTRIBS_EXT 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F + +typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKEXTPROC) (GLenum primitiveMode); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint index, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKEXTPROC) (void); +typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei *size, GLenum *type, GLchar *name); +typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const GLchar * const* varyings, GLenum bufferMode); + +#define glBeginTransformFeedbackEXT GLEW_GET_FUN(__glewBeginTransformFeedbackEXT) +#define glBindBufferBaseEXT GLEW_GET_FUN(__glewBindBufferBaseEXT) +#define glBindBufferOffsetEXT GLEW_GET_FUN(__glewBindBufferOffsetEXT) +#define glBindBufferRangeEXT GLEW_GET_FUN(__glewBindBufferRangeEXT) +#define glEndTransformFeedbackEXT GLEW_GET_FUN(__glewEndTransformFeedbackEXT) +#define glGetTransformFeedbackVaryingEXT GLEW_GET_FUN(__glewGetTransformFeedbackVaryingEXT) +#define glTransformFeedbackVaryingsEXT GLEW_GET_FUN(__glewTransformFeedbackVaryingsEXT) + +#define GLEW_EXT_transform_feedback GLEW_GET_VAR(__GLEW_EXT_transform_feedback) + +#endif /* GL_EXT_transform_feedback */ + +/* -------------------------- GL_EXT_vertex_array -------------------------- */ + +#ifndef GL_EXT_vertex_array +#define GL_EXT_vertex_array 1 + +#define GL_DOUBLE_EXT 0x140A +#define GL_VERTEX_ARRAY_EXT 0x8074 +#define GL_NORMAL_ARRAY_EXT 0x8075 +#define GL_COLOR_ARRAY_EXT 0x8076 +#define GL_INDEX_ARRAY_EXT 0x8077 +#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078 +#define GL_EDGE_FLAG_ARRAY_EXT 0x8079 +#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A +#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B +#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C +#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D +#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E +#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F +#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080 +#define GL_COLOR_ARRAY_SIZE_EXT 0x8081 +#define GL_COLOR_ARRAY_TYPE_EXT 0x8082 +#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083 +#define GL_COLOR_ARRAY_COUNT_EXT 0x8084 +#define GL_INDEX_ARRAY_TYPE_EXT 0x8085 +#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086 +#define GL_INDEX_ARRAY_COUNT_EXT 0x8087 +#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088 +#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089 +#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A +#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B +#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C +#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D +#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E +#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F +#define GL_COLOR_ARRAY_POINTER_EXT 0x8090 +#define GL_INDEX_ARRAY_POINTER_EXT 0x8091 +#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092 +#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093 + +typedef void (GLAPIENTRY * PFNGLARRAYELEMENTEXTPROC) (GLint i); +typedef void (GLAPIENTRY * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer); +typedef void (GLAPIENTRY * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count); +typedef void (GLAPIENTRY * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean* pointer); +typedef void (GLAPIENTRY * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const void *pointer); +typedef void (GLAPIENTRY * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const void *pointer); +typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer); +typedef void (GLAPIENTRY * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer); + +#define glArrayElementEXT GLEW_GET_FUN(__glewArrayElementEXT) +#define glColorPointerEXT GLEW_GET_FUN(__glewColorPointerEXT) +#define glDrawArraysEXT GLEW_GET_FUN(__glewDrawArraysEXT) +#define glEdgeFlagPointerEXT GLEW_GET_FUN(__glewEdgeFlagPointerEXT) +#define glIndexPointerEXT GLEW_GET_FUN(__glewIndexPointerEXT) +#define glNormalPointerEXT GLEW_GET_FUN(__glewNormalPointerEXT) +#define glTexCoordPointerEXT GLEW_GET_FUN(__glewTexCoordPointerEXT) +#define glVertexPointerEXT GLEW_GET_FUN(__glewVertexPointerEXT) + +#define GLEW_EXT_vertex_array GLEW_GET_VAR(__GLEW_EXT_vertex_array) + +#endif /* GL_EXT_vertex_array */ + +/* ------------------------ GL_EXT_vertex_array_bgra ----------------------- */ + +#ifndef GL_EXT_vertex_array_bgra +#define GL_EXT_vertex_array_bgra 1 + +#define GL_BGRA 0x80E1 + +#define GLEW_EXT_vertex_array_bgra GLEW_GET_VAR(__GLEW_EXT_vertex_array_bgra) + +#endif /* GL_EXT_vertex_array_bgra */ + +/* ----------------------- GL_EXT_vertex_attrib_64bit ---------------------- */ + +#ifndef GL_EXT_vertex_attrib_64bit +#define GL_EXT_vertex_attrib_64bit 1 + +#define GL_DOUBLE_MAT2_EXT 0x8F46 +#define GL_DOUBLE_MAT3_EXT 0x8F47 +#define GL_DOUBLE_MAT4_EXT 0x8F48 +#define GL_DOUBLE_MAT2x3_EXT 0x8F49 +#define GL_DOUBLE_MAT2x4_EXT 0x8F4A +#define GL_DOUBLE_MAT3x2_EXT 0x8F4B +#define GL_DOUBLE_MAT3x4_EXT 0x8F4C +#define GL_DOUBLE_MAT4x2_EXT 0x8F4D +#define GL_DOUBLE_MAT4x3_EXT 0x8F4E +#define GL_DOUBLE_VEC2_EXT 0x8FFC +#define GL_DOUBLE_VEC3_EXT 0x8FFD +#define GL_DOUBLE_VEC4_EXT 0x8FFE + +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLDVEXTPROC) (GLuint index, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DEXTPROC) (GLuint index, GLdouble x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DVEXTPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DEXTPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DVEXTPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DVEXTPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DVEXTPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); + +#define glGetVertexAttribLdvEXT GLEW_GET_FUN(__glewGetVertexAttribLdvEXT) +#define glVertexArrayVertexAttribLOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribLOffsetEXT) +#define glVertexAttribL1dEXT GLEW_GET_FUN(__glewVertexAttribL1dEXT) +#define glVertexAttribL1dvEXT GLEW_GET_FUN(__glewVertexAttribL1dvEXT) +#define glVertexAttribL2dEXT GLEW_GET_FUN(__glewVertexAttribL2dEXT) +#define glVertexAttribL2dvEXT GLEW_GET_FUN(__glewVertexAttribL2dvEXT) +#define glVertexAttribL3dEXT GLEW_GET_FUN(__glewVertexAttribL3dEXT) +#define glVertexAttribL3dvEXT GLEW_GET_FUN(__glewVertexAttribL3dvEXT) +#define glVertexAttribL4dEXT GLEW_GET_FUN(__glewVertexAttribL4dEXT) +#define glVertexAttribL4dvEXT GLEW_GET_FUN(__glewVertexAttribL4dvEXT) +#define glVertexAttribLPointerEXT GLEW_GET_FUN(__glewVertexAttribLPointerEXT) + +#define GLEW_EXT_vertex_attrib_64bit GLEW_GET_VAR(__GLEW_EXT_vertex_attrib_64bit) + +#endif /* GL_EXT_vertex_attrib_64bit */ + +/* -------------------------- GL_EXT_vertex_shader ------------------------- */ + +#ifndef GL_EXT_vertex_shader +#define GL_EXT_vertex_shader 1 + +#define GL_VERTEX_SHADER_EXT 0x8780 +#define GL_VERTEX_SHADER_BINDING_EXT 0x8781 +#define GL_OP_INDEX_EXT 0x8782 +#define GL_OP_NEGATE_EXT 0x8783 +#define GL_OP_DOT3_EXT 0x8784 +#define GL_OP_DOT4_EXT 0x8785 +#define GL_OP_MUL_EXT 0x8786 +#define GL_OP_ADD_EXT 0x8787 +#define GL_OP_MADD_EXT 0x8788 +#define GL_OP_FRAC_EXT 0x8789 +#define GL_OP_MAX_EXT 0x878A +#define GL_OP_MIN_EXT 0x878B +#define GL_OP_SET_GE_EXT 0x878C +#define GL_OP_SET_LT_EXT 0x878D +#define GL_OP_CLAMP_EXT 0x878E +#define GL_OP_FLOOR_EXT 0x878F +#define GL_OP_ROUND_EXT 0x8790 +#define GL_OP_EXP_BASE_2_EXT 0x8791 +#define GL_OP_LOG_BASE_2_EXT 0x8792 +#define GL_OP_POWER_EXT 0x8793 +#define GL_OP_RECIP_EXT 0x8794 +#define GL_OP_RECIP_SQRT_EXT 0x8795 +#define GL_OP_SUB_EXT 0x8796 +#define GL_OP_CROSS_PRODUCT_EXT 0x8797 +#define GL_OP_MULTIPLY_MATRIX_EXT 0x8798 +#define GL_OP_MOV_EXT 0x8799 +#define GL_OUTPUT_VERTEX_EXT 0x879A +#define GL_OUTPUT_COLOR0_EXT 0x879B +#define GL_OUTPUT_COLOR1_EXT 0x879C +#define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D +#define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E +#define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F +#define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0 +#define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1 +#define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2 +#define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3 +#define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4 +#define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5 +#define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6 +#define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7 +#define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8 +#define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9 +#define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA +#define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB +#define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC +#define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD +#define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE +#define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF +#define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0 +#define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1 +#define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2 +#define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3 +#define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4 +#define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5 +#define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6 +#define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7 +#define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8 +#define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9 +#define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA +#define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB +#define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC +#define GL_OUTPUT_FOG_EXT 0x87BD +#define GL_SCALAR_EXT 0x87BE +#define GL_VECTOR_EXT 0x87BF +#define GL_MATRIX_EXT 0x87C0 +#define GL_VARIANT_EXT 0x87C1 +#define GL_INVARIANT_EXT 0x87C2 +#define GL_LOCAL_CONSTANT_EXT 0x87C3 +#define GL_LOCAL_EXT 0x87C4 +#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5 +#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6 +#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7 +#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8 +#define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9 +#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA +#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB +#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CC +#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CD +#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE +#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF +#define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0 +#define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1 +#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2 +#define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3 +#define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4 +#define GL_X_EXT 0x87D5 +#define GL_Y_EXT 0x87D6 +#define GL_Z_EXT 0x87D7 +#define GL_W_EXT 0x87D8 +#define GL_NEGATIVE_X_EXT 0x87D9 +#define GL_NEGATIVE_Y_EXT 0x87DA +#define GL_NEGATIVE_Z_EXT 0x87DB +#define GL_NEGATIVE_W_EXT 0x87DC +#define GL_ZERO_EXT 0x87DD +#define GL_ONE_EXT 0x87DE +#define GL_NEGATIVE_ONE_EXT 0x87DF +#define GL_NORMALIZED_RANGE_EXT 0x87E0 +#define GL_FULL_RANGE_EXT 0x87E1 +#define GL_CURRENT_VERTEX_EXT 0x87E2 +#define GL_MVP_MATRIX_EXT 0x87E3 +#define GL_VARIANT_VALUE_EXT 0x87E4 +#define GL_VARIANT_DATATYPE_EXT 0x87E5 +#define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6 +#define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7 +#define GL_VARIANT_ARRAY_EXT 0x87E8 +#define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9 +#define GL_INVARIANT_VALUE_EXT 0x87EA +#define GL_INVARIANT_DATATYPE_EXT 0x87EB +#define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC +#define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED + +typedef void (GLAPIENTRY * PFNGLBEGINVERTEXSHADEREXTPROC) (void); +typedef GLuint (GLAPIENTRY * PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value); +typedef GLuint (GLAPIENTRY * PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value); +typedef GLuint (GLAPIENTRY * PFNGLBINDPARAMETEREXTPROC) (GLenum value); +typedef GLuint (GLAPIENTRY * PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value); +typedef GLuint (GLAPIENTRY * PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value); +typedef void (GLAPIENTRY * PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLENDVERTEXSHADEREXTPROC) (void); +typedef void (GLAPIENTRY * PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num); +typedef GLuint (GLAPIENTRY * PFNGLGENSYMBOLSEXTPROC) (GLenum dataType, GLenum storageType, GLenum range, GLuint components); +typedef GLuint (GLAPIENTRY * PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range); +typedef void (GLAPIENTRY * PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data); +typedef void (GLAPIENTRY * PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data); +typedef void (GLAPIENTRY * PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data); +typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data); +typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data); +typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data); +typedef void (GLAPIENTRY * PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data); +typedef void (GLAPIENTRY * PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data); +typedef void (GLAPIENTRY * PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data); +typedef void (GLAPIENTRY * PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, void **data); +typedef void (GLAPIENTRY * PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num); +typedef GLboolean (GLAPIENTRY * PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap); +typedef void (GLAPIENTRY * PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, void *addr); +typedef void (GLAPIENTRY * PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, void *addr); +typedef void (GLAPIENTRY * PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1); +typedef void (GLAPIENTRY * PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2); +typedef void (GLAPIENTRY * PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3); +typedef void (GLAPIENTRY * PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); +typedef void (GLAPIENTRY * PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, void *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTBVEXTPROC) (GLuint id, GLbyte *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTDVEXTPROC) (GLuint id, GLdouble *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTFVEXTPROC) (GLuint id, GLfloat *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTIVEXTPROC) (GLuint id, GLint *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTSVEXTPROC) (GLuint id, GLshort *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTUBVEXTPROC) (GLuint id, GLubyte *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTUIVEXTPROC) (GLuint id, GLuint *addr); +typedef void (GLAPIENTRY * PFNGLVARIANTUSVEXTPROC) (GLuint id, GLushort *addr); +typedef void (GLAPIENTRY * PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); + +#define glBeginVertexShaderEXT GLEW_GET_FUN(__glewBeginVertexShaderEXT) +#define glBindLightParameterEXT GLEW_GET_FUN(__glewBindLightParameterEXT) +#define glBindMaterialParameterEXT GLEW_GET_FUN(__glewBindMaterialParameterEXT) +#define glBindParameterEXT GLEW_GET_FUN(__glewBindParameterEXT) +#define glBindTexGenParameterEXT GLEW_GET_FUN(__glewBindTexGenParameterEXT) +#define glBindTextureUnitParameterEXT GLEW_GET_FUN(__glewBindTextureUnitParameterEXT) +#define glBindVertexShaderEXT GLEW_GET_FUN(__glewBindVertexShaderEXT) +#define glDeleteVertexShaderEXT GLEW_GET_FUN(__glewDeleteVertexShaderEXT) +#define glDisableVariantClientStateEXT GLEW_GET_FUN(__glewDisableVariantClientStateEXT) +#define glEnableVariantClientStateEXT GLEW_GET_FUN(__glewEnableVariantClientStateEXT) +#define glEndVertexShaderEXT GLEW_GET_FUN(__glewEndVertexShaderEXT) +#define glExtractComponentEXT GLEW_GET_FUN(__glewExtractComponentEXT) +#define glGenSymbolsEXT GLEW_GET_FUN(__glewGenSymbolsEXT) +#define glGenVertexShadersEXT GLEW_GET_FUN(__glewGenVertexShadersEXT) +#define glGetInvariantBooleanvEXT GLEW_GET_FUN(__glewGetInvariantBooleanvEXT) +#define glGetInvariantFloatvEXT GLEW_GET_FUN(__glewGetInvariantFloatvEXT) +#define glGetInvariantIntegervEXT GLEW_GET_FUN(__glewGetInvariantIntegervEXT) +#define glGetLocalConstantBooleanvEXT GLEW_GET_FUN(__glewGetLocalConstantBooleanvEXT) +#define glGetLocalConstantFloatvEXT GLEW_GET_FUN(__glewGetLocalConstantFloatvEXT) +#define glGetLocalConstantIntegervEXT GLEW_GET_FUN(__glewGetLocalConstantIntegervEXT) +#define glGetVariantBooleanvEXT GLEW_GET_FUN(__glewGetVariantBooleanvEXT) +#define glGetVariantFloatvEXT GLEW_GET_FUN(__glewGetVariantFloatvEXT) +#define glGetVariantIntegervEXT GLEW_GET_FUN(__glewGetVariantIntegervEXT) +#define glGetVariantPointervEXT GLEW_GET_FUN(__glewGetVariantPointervEXT) +#define glInsertComponentEXT GLEW_GET_FUN(__glewInsertComponentEXT) +#define glIsVariantEnabledEXT GLEW_GET_FUN(__glewIsVariantEnabledEXT) +#define glSetInvariantEXT GLEW_GET_FUN(__glewSetInvariantEXT) +#define glSetLocalConstantEXT GLEW_GET_FUN(__glewSetLocalConstantEXT) +#define glShaderOp1EXT GLEW_GET_FUN(__glewShaderOp1EXT) +#define glShaderOp2EXT GLEW_GET_FUN(__glewShaderOp2EXT) +#define glShaderOp3EXT GLEW_GET_FUN(__glewShaderOp3EXT) +#define glSwizzleEXT GLEW_GET_FUN(__glewSwizzleEXT) +#define glVariantPointerEXT GLEW_GET_FUN(__glewVariantPointerEXT) +#define glVariantbvEXT GLEW_GET_FUN(__glewVariantbvEXT) +#define glVariantdvEXT GLEW_GET_FUN(__glewVariantdvEXT) +#define glVariantfvEXT GLEW_GET_FUN(__glewVariantfvEXT) +#define glVariantivEXT GLEW_GET_FUN(__glewVariantivEXT) +#define glVariantsvEXT GLEW_GET_FUN(__glewVariantsvEXT) +#define glVariantubvEXT GLEW_GET_FUN(__glewVariantubvEXT) +#define glVariantuivEXT GLEW_GET_FUN(__glewVariantuivEXT) +#define glVariantusvEXT GLEW_GET_FUN(__glewVariantusvEXT) +#define glWriteMaskEXT GLEW_GET_FUN(__glewWriteMaskEXT) + +#define GLEW_EXT_vertex_shader GLEW_GET_VAR(__GLEW_EXT_vertex_shader) + +#endif /* GL_EXT_vertex_shader */ + +/* ------------------------ GL_EXT_vertex_weighting ------------------------ */ + +#ifndef GL_EXT_vertex_weighting +#define GL_EXT_vertex_weighting 1 + +#define GL_MODELVIEW0_STACK_DEPTH_EXT 0x0BA3 +#define GL_MODELVIEW0_MATRIX_EXT 0x0BA6 +#define GL_MODELVIEW0_EXT 0x1700 +#define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502 +#define GL_MODELVIEW1_MATRIX_EXT 0x8506 +#define GL_VERTEX_WEIGHTING_EXT 0x8509 +#define GL_MODELVIEW1_EXT 0x850A +#define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B +#define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C +#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D +#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E +#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F +#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510 + +typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, void *pointer); +typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight); +typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTFVEXTPROC) (GLfloat* weight); + +#define glVertexWeightPointerEXT GLEW_GET_FUN(__glewVertexWeightPointerEXT) +#define glVertexWeightfEXT GLEW_GET_FUN(__glewVertexWeightfEXT) +#define glVertexWeightfvEXT GLEW_GET_FUN(__glewVertexWeightfvEXT) + +#define GLEW_EXT_vertex_weighting GLEW_GET_VAR(__GLEW_EXT_vertex_weighting) + +#endif /* GL_EXT_vertex_weighting */ + +/* ------------------------- GL_EXT_x11_sync_object ------------------------ */ + +#ifndef GL_EXT_x11_sync_object +#define GL_EXT_x11_sync_object 1 + +#define GL_SYNC_X11_FENCE_EXT 0x90E1 + +typedef GLsync (GLAPIENTRY * PFNGLIMPORTSYNCEXTPROC) (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags); + +#define glImportSyncEXT GLEW_GET_FUN(__glewImportSyncEXT) + +#define GLEW_EXT_x11_sync_object GLEW_GET_VAR(__GLEW_EXT_x11_sync_object) + +#endif /* GL_EXT_x11_sync_object */ + +/* ---------------------- GL_GREMEDY_frame_terminator ---------------------- */ + +#ifndef GL_GREMEDY_frame_terminator +#define GL_GREMEDY_frame_terminator 1 + +typedef void (GLAPIENTRY * PFNGLFRAMETERMINATORGREMEDYPROC) (void); + +#define glFrameTerminatorGREMEDY GLEW_GET_FUN(__glewFrameTerminatorGREMEDY) + +#define GLEW_GREMEDY_frame_terminator GLEW_GET_VAR(__GLEW_GREMEDY_frame_terminator) + +#endif /* GL_GREMEDY_frame_terminator */ + +/* ------------------------ GL_GREMEDY_string_marker ----------------------- */ + +#ifndef GL_GREMEDY_string_marker +#define GL_GREMEDY_string_marker 1 + +typedef void (GLAPIENTRY * PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const void *string); + +#define glStringMarkerGREMEDY GLEW_GET_FUN(__glewStringMarkerGREMEDY) + +#define GLEW_GREMEDY_string_marker GLEW_GET_VAR(__GLEW_GREMEDY_string_marker) + +#endif /* GL_GREMEDY_string_marker */ + +/* --------------------- GL_HP_convolution_border_modes -------------------- */ + +#ifndef GL_HP_convolution_border_modes +#define GL_HP_convolution_border_modes 1 + +#define GLEW_HP_convolution_border_modes GLEW_GET_VAR(__GLEW_HP_convolution_border_modes) + +#endif /* GL_HP_convolution_border_modes */ + +/* ------------------------- GL_HP_image_transform ------------------------- */ + +#ifndef GL_HP_image_transform +#define GL_HP_image_transform 1 + +typedef void (GLAPIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, const GLfloat param); +typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, const GLint param); +typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint* params); + +#define glGetImageTransformParameterfvHP GLEW_GET_FUN(__glewGetImageTransformParameterfvHP) +#define glGetImageTransformParameterivHP GLEW_GET_FUN(__glewGetImageTransformParameterivHP) +#define glImageTransformParameterfHP GLEW_GET_FUN(__glewImageTransformParameterfHP) +#define glImageTransformParameterfvHP GLEW_GET_FUN(__glewImageTransformParameterfvHP) +#define glImageTransformParameteriHP GLEW_GET_FUN(__glewImageTransformParameteriHP) +#define glImageTransformParameterivHP GLEW_GET_FUN(__glewImageTransformParameterivHP) + +#define GLEW_HP_image_transform GLEW_GET_VAR(__GLEW_HP_image_transform) + +#endif /* GL_HP_image_transform */ + +/* -------------------------- GL_HP_occlusion_test ------------------------- */ + +#ifndef GL_HP_occlusion_test +#define GL_HP_occlusion_test 1 + +#define GLEW_HP_occlusion_test GLEW_GET_VAR(__GLEW_HP_occlusion_test) + +#endif /* GL_HP_occlusion_test */ + +/* ------------------------- GL_HP_texture_lighting ------------------------ */ + +#ifndef GL_HP_texture_lighting +#define GL_HP_texture_lighting 1 + +#define GLEW_HP_texture_lighting GLEW_GET_VAR(__GLEW_HP_texture_lighting) + +#endif /* GL_HP_texture_lighting */ + +/* --------------------------- GL_IBM_cull_vertex -------------------------- */ + +#ifndef GL_IBM_cull_vertex +#define GL_IBM_cull_vertex 1 + +#define GL_CULL_VERTEX_IBM 103050 + +#define GLEW_IBM_cull_vertex GLEW_GET_VAR(__GLEW_IBM_cull_vertex) + +#endif /* GL_IBM_cull_vertex */ + +/* ---------------------- GL_IBM_multimode_draw_arrays --------------------- */ + +#ifndef GL_IBM_multimode_draw_arrays +#define GL_IBM_multimode_draw_arrays 1 + +typedef void (GLAPIENTRY * PFNGLMULTIMODEDRAWARRAYSIBMPROC) (const GLenum* mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride); +typedef void (GLAPIENTRY * PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum* mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei primcount, GLint modestride); + +#define glMultiModeDrawArraysIBM GLEW_GET_FUN(__glewMultiModeDrawArraysIBM) +#define glMultiModeDrawElementsIBM GLEW_GET_FUN(__glewMultiModeDrawElementsIBM) + +#define GLEW_IBM_multimode_draw_arrays GLEW_GET_VAR(__GLEW_IBM_multimode_draw_arrays) + +#endif /* GL_IBM_multimode_draw_arrays */ + +/* ------------------------- GL_IBM_rasterpos_clip ------------------------- */ + +#ifndef GL_IBM_rasterpos_clip +#define GL_IBM_rasterpos_clip 1 + +#define GL_RASTER_POSITION_UNCLIPPED_IBM 103010 + +#define GLEW_IBM_rasterpos_clip GLEW_GET_VAR(__GLEW_IBM_rasterpos_clip) + +#endif /* GL_IBM_rasterpos_clip */ + +/* --------------------------- GL_IBM_static_data -------------------------- */ + +#ifndef GL_IBM_static_data +#define GL_IBM_static_data 1 + +#define GL_ALL_STATIC_DATA_IBM 103060 +#define GL_STATIC_VERTEX_ARRAY_IBM 103061 + +#define GLEW_IBM_static_data GLEW_GET_VAR(__GLEW_IBM_static_data) + +#endif /* GL_IBM_static_data */ + +/* --------------------- GL_IBM_texture_mirrored_repeat -------------------- */ + +#ifndef GL_IBM_texture_mirrored_repeat +#define GL_IBM_texture_mirrored_repeat 1 + +#define GL_MIRRORED_REPEAT_IBM 0x8370 + +#define GLEW_IBM_texture_mirrored_repeat GLEW_GET_VAR(__GLEW_IBM_texture_mirrored_repeat) + +#endif /* GL_IBM_texture_mirrored_repeat */ + +/* ----------------------- GL_IBM_vertex_array_lists ----------------------- */ + +#ifndef GL_IBM_vertex_array_lists +#define GL_IBM_vertex_array_lists 1 + +#define GL_VERTEX_ARRAY_LIST_IBM 103070 +#define GL_NORMAL_ARRAY_LIST_IBM 103071 +#define GL_COLOR_ARRAY_LIST_IBM 103072 +#define GL_INDEX_ARRAY_LIST_IBM 103073 +#define GL_TEXTURE_COORD_ARRAY_LIST_IBM 103074 +#define GL_EDGE_FLAG_ARRAY_LIST_IBM 103075 +#define GL_FOG_COORDINATE_ARRAY_LIST_IBM 103076 +#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077 +#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM 103080 +#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM 103081 +#define GL_COLOR_ARRAY_LIST_STRIDE_IBM 103082 +#define GL_INDEX_ARRAY_LIST_STRIDE_IBM 103083 +#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084 +#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085 +#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086 +#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087 + +typedef void (GLAPIENTRY * PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const void** pointer, GLint ptrstride); +typedef void (GLAPIENTRY * PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean ** pointer, GLint ptrstride); +typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const void** pointer, GLint ptrstride); +typedef void (GLAPIENTRY * PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const void** pointer, GLint ptrstride); +typedef void (GLAPIENTRY * PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const void** pointer, GLint ptrstride); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const void** pointer, GLint ptrstride); +typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const void** pointer, GLint ptrstride); +typedef void (GLAPIENTRY * PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const void** pointer, GLint ptrstride); + +#define glColorPointerListIBM GLEW_GET_FUN(__glewColorPointerListIBM) +#define glEdgeFlagPointerListIBM GLEW_GET_FUN(__glewEdgeFlagPointerListIBM) +#define glFogCoordPointerListIBM GLEW_GET_FUN(__glewFogCoordPointerListIBM) +#define glIndexPointerListIBM GLEW_GET_FUN(__glewIndexPointerListIBM) +#define glNormalPointerListIBM GLEW_GET_FUN(__glewNormalPointerListIBM) +#define glSecondaryColorPointerListIBM GLEW_GET_FUN(__glewSecondaryColorPointerListIBM) +#define glTexCoordPointerListIBM GLEW_GET_FUN(__glewTexCoordPointerListIBM) +#define glVertexPointerListIBM GLEW_GET_FUN(__glewVertexPointerListIBM) + +#define GLEW_IBM_vertex_array_lists GLEW_GET_VAR(__GLEW_IBM_vertex_array_lists) + +#endif /* GL_IBM_vertex_array_lists */ + +/* -------------------------- GL_INGR_color_clamp -------------------------- */ + +#ifndef GL_INGR_color_clamp +#define GL_INGR_color_clamp 1 + +#define GL_RED_MIN_CLAMP_INGR 0x8560 +#define GL_GREEN_MIN_CLAMP_INGR 0x8561 +#define GL_BLUE_MIN_CLAMP_INGR 0x8562 +#define GL_ALPHA_MIN_CLAMP_INGR 0x8563 +#define GL_RED_MAX_CLAMP_INGR 0x8564 +#define GL_GREEN_MAX_CLAMP_INGR 0x8565 +#define GL_BLUE_MAX_CLAMP_INGR 0x8566 +#define GL_ALPHA_MAX_CLAMP_INGR 0x8567 + +#define GLEW_INGR_color_clamp GLEW_GET_VAR(__GLEW_INGR_color_clamp) + +#endif /* GL_INGR_color_clamp */ + +/* ------------------------- GL_INGR_interlace_read ------------------------ */ + +#ifndef GL_INGR_interlace_read +#define GL_INGR_interlace_read 1 + +#define GL_INTERLACE_READ_INGR 0x8568 + +#define GLEW_INGR_interlace_read GLEW_GET_VAR(__GLEW_INGR_interlace_read) + +#endif /* GL_INGR_interlace_read */ + +/* ------------------- GL_INTEL_fragment_shader_ordering ------------------- */ + +#ifndef GL_INTEL_fragment_shader_ordering +#define GL_INTEL_fragment_shader_ordering 1 + +#define GLEW_INTEL_fragment_shader_ordering GLEW_GET_VAR(__GLEW_INTEL_fragment_shader_ordering) + +#endif /* GL_INTEL_fragment_shader_ordering */ + +/* ----------------------- GL_INTEL_framebuffer_CMAA ----------------------- */ + +#ifndef GL_INTEL_framebuffer_CMAA +#define GL_INTEL_framebuffer_CMAA 1 + +#define GLEW_INTEL_framebuffer_CMAA GLEW_GET_VAR(__GLEW_INTEL_framebuffer_CMAA) + +#endif /* GL_INTEL_framebuffer_CMAA */ + +/* -------------------------- GL_INTEL_map_texture ------------------------- */ + +#ifndef GL_INTEL_map_texture +#define GL_INTEL_map_texture 1 + +#define GL_LAYOUT_DEFAULT_INTEL 0 +#define GL_LAYOUT_LINEAR_INTEL 1 +#define GL_LAYOUT_LINEAR_CPU_CACHED_INTEL 2 +#define GL_TEXTURE_MEMORY_LAYOUT_INTEL 0x83FF + +typedef void * (GLAPIENTRY * PFNGLMAPTEXTURE2DINTELPROC) (GLuint texture, GLint level, GLbitfield access, GLint* stride, GLenum *layout); +typedef void (GLAPIENTRY * PFNGLSYNCTEXTUREINTELPROC) (GLuint texture); +typedef void (GLAPIENTRY * PFNGLUNMAPTEXTURE2DINTELPROC) (GLuint texture, GLint level); + +#define glMapTexture2DINTEL GLEW_GET_FUN(__glewMapTexture2DINTEL) +#define glSyncTextureINTEL GLEW_GET_FUN(__glewSyncTextureINTEL) +#define glUnmapTexture2DINTEL GLEW_GET_FUN(__glewUnmapTexture2DINTEL) + +#define GLEW_INTEL_map_texture GLEW_GET_VAR(__GLEW_INTEL_map_texture) + +#endif /* GL_INTEL_map_texture */ + +/* ------------------------ GL_INTEL_parallel_arrays ----------------------- */ + +#ifndef GL_INTEL_parallel_arrays +#define GL_INTEL_parallel_arrays 1 + +#define GL_PARALLEL_ARRAYS_INTEL 0x83F4 +#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5 +#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6 +#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7 +#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8 + +typedef void (GLAPIENTRY * PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer); +typedef void (GLAPIENTRY * PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const void** pointer); +typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer); +typedef void (GLAPIENTRY * PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer); + +#define glColorPointervINTEL GLEW_GET_FUN(__glewColorPointervINTEL) +#define glNormalPointervINTEL GLEW_GET_FUN(__glewNormalPointervINTEL) +#define glTexCoordPointervINTEL GLEW_GET_FUN(__glewTexCoordPointervINTEL) +#define glVertexPointervINTEL GLEW_GET_FUN(__glewVertexPointervINTEL) + +#define GLEW_INTEL_parallel_arrays GLEW_GET_VAR(__GLEW_INTEL_parallel_arrays) + +#endif /* GL_INTEL_parallel_arrays */ + +/* ----------------------- GL_INTEL_performance_query ---------------------- */ + +#ifndef GL_INTEL_performance_query +#define GL_INTEL_performance_query 1 + +#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL 0x0000 +#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL 0x0001 +#define GL_PERFQUERY_DONOT_FLUSH_INTEL 0x83F9 +#define GL_PERFQUERY_FLUSH_INTEL 0x83FA +#define GL_PERFQUERY_WAIT_INTEL 0x83FB +#define GL_PERFQUERY_COUNTER_EVENT_INTEL 0x94F0 +#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL 0x94F1 +#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL 0x94F2 +#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL 0x94F3 +#define GL_PERFQUERY_COUNTER_RAW_INTEL 0x94F4 +#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL 0x94F5 +#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL 0x94F8 +#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL 0x94F9 +#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL 0x94FA +#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL 0x94FB +#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL 0x94FC +#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL 0x94FD +#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE +#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF +#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500 + +typedef void (GLAPIENTRY * PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (GLAPIENTRY * PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, GLuint* queryHandle); +typedef void (GLAPIENTRY * PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (GLAPIENTRY * PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (GLAPIENTRY * PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint* queryId); +typedef void (GLAPIENTRY * PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, GLuint* nextQueryId); +typedef void (GLAPIENTRY * PFNGLGETPERFCOUNTERINFOINTELPROC) (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar* counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue); +typedef void (GLAPIENTRY * PFNGLGETPERFQUERYDATAINTELPROC) (GLuint queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten); +typedef void (GLAPIENTRY * PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar* queryName, GLuint *queryId); +typedef void (GLAPIENTRY * PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, GLuint queryNameLength, GLchar* queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask); + +#define glBeginPerfQueryINTEL GLEW_GET_FUN(__glewBeginPerfQueryINTEL) +#define glCreatePerfQueryINTEL GLEW_GET_FUN(__glewCreatePerfQueryINTEL) +#define glDeletePerfQueryINTEL GLEW_GET_FUN(__glewDeletePerfQueryINTEL) +#define glEndPerfQueryINTEL GLEW_GET_FUN(__glewEndPerfQueryINTEL) +#define glGetFirstPerfQueryIdINTEL GLEW_GET_FUN(__glewGetFirstPerfQueryIdINTEL) +#define glGetNextPerfQueryIdINTEL GLEW_GET_FUN(__glewGetNextPerfQueryIdINTEL) +#define glGetPerfCounterInfoINTEL GLEW_GET_FUN(__glewGetPerfCounterInfoINTEL) +#define glGetPerfQueryDataINTEL GLEW_GET_FUN(__glewGetPerfQueryDataINTEL) +#define glGetPerfQueryIdByNameINTEL GLEW_GET_FUN(__glewGetPerfQueryIdByNameINTEL) +#define glGetPerfQueryInfoINTEL GLEW_GET_FUN(__glewGetPerfQueryInfoINTEL) + +#define GLEW_INTEL_performance_query GLEW_GET_VAR(__GLEW_INTEL_performance_query) + +#endif /* GL_INTEL_performance_query */ + +/* ------------------------ GL_INTEL_texture_scissor ----------------------- */ + +#ifndef GL_INTEL_texture_scissor +#define GL_INTEL_texture_scissor 1 + +typedef void (GLAPIENTRY * PFNGLTEXSCISSORFUNCINTELPROC) (GLenum target, GLenum lfunc, GLenum hfunc); +typedef void (GLAPIENTRY * PFNGLTEXSCISSORINTELPROC) (GLenum target, GLclampf tlow, GLclampf thigh); + +#define glTexScissorFuncINTEL GLEW_GET_FUN(__glewTexScissorFuncINTEL) +#define glTexScissorINTEL GLEW_GET_FUN(__glewTexScissorINTEL) + +#define GLEW_INTEL_texture_scissor GLEW_GET_VAR(__GLEW_INTEL_texture_scissor) + +#endif /* GL_INTEL_texture_scissor */ + +/* --------------------- GL_KHR_blend_equation_advanced -------------------- */ + +#ifndef GL_KHR_blend_equation_advanced +#define GL_KHR_blend_equation_advanced 1 + +#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285 +#define GL_MULTIPLY_KHR 0x9294 +#define GL_SCREEN_KHR 0x9295 +#define GL_OVERLAY_KHR 0x9296 +#define GL_DARKEN_KHR 0x9297 +#define GL_LIGHTEN_KHR 0x9298 +#define GL_COLORDODGE_KHR 0x9299 +#define GL_COLORBURN_KHR 0x929A +#define GL_HARDLIGHT_KHR 0x929B +#define GL_SOFTLIGHT_KHR 0x929C +#define GL_DIFFERENCE_KHR 0x929E +#define GL_EXCLUSION_KHR 0x92A0 +#define GL_HSL_HUE_KHR 0x92AD +#define GL_HSL_SATURATION_KHR 0x92AE +#define GL_HSL_COLOR_KHR 0x92AF +#define GL_HSL_LUMINOSITY_KHR 0x92B0 + +typedef void (GLAPIENTRY * PFNGLBLENDBARRIERKHRPROC) (void); + +#define glBlendBarrierKHR GLEW_GET_FUN(__glewBlendBarrierKHR) + +#define GLEW_KHR_blend_equation_advanced GLEW_GET_VAR(__GLEW_KHR_blend_equation_advanced) + +#endif /* GL_KHR_blend_equation_advanced */ + +/* ---------------- GL_KHR_blend_equation_advanced_coherent ---------------- */ + +#ifndef GL_KHR_blend_equation_advanced_coherent +#define GL_KHR_blend_equation_advanced_coherent 1 + +#define GLEW_KHR_blend_equation_advanced_coherent GLEW_GET_VAR(__GLEW_KHR_blend_equation_advanced_coherent) + +#endif /* GL_KHR_blend_equation_advanced_coherent */ + +/* ---------------------- GL_KHR_context_flush_control --------------------- */ + +#ifndef GL_KHR_context_flush_control +#define GL_KHR_context_flush_control 1 + +#define GL_CONTEXT_RELEASE_BEHAVIOR 0x82FB +#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC + +#define GLEW_KHR_context_flush_control GLEW_GET_VAR(__GLEW_KHR_context_flush_control) + +#endif /* GL_KHR_context_flush_control */ + +/* ------------------------------ GL_KHR_debug ----------------------------- */ + +#ifndef GL_KHR_debug +#define GL_KHR_debug 1 + +#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002 +#define GL_STACK_OVERFLOW 0x0503 +#define GL_STACK_UNDERFLOW 0x0504 +#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 +#define GL_DEBUG_CALLBACK_FUNCTION 0x8244 +#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245 +#define GL_DEBUG_SOURCE_API 0x8246 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247 +#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248 +#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249 +#define GL_DEBUG_SOURCE_APPLICATION 0x824A +#define GL_DEBUG_SOURCE_OTHER 0x824B +#define GL_DEBUG_TYPE_ERROR 0x824C +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E +#define GL_DEBUG_TYPE_PORTABILITY 0x824F +#define GL_DEBUG_TYPE_PERFORMANCE 0x8250 +#define GL_DEBUG_TYPE_OTHER 0x8251 +#define GL_DEBUG_TYPE_MARKER 0x8268 +#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269 +#define GL_DEBUG_TYPE_POP_GROUP 0x826A +#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B +#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C +#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D +#define GL_BUFFER 0x82E0 +#define GL_SHADER 0x82E1 +#define GL_PROGRAM 0x82E2 +#define GL_QUERY 0x82E3 +#define GL_PROGRAM_PIPELINE 0x82E4 +#define GL_SAMPLER 0x82E6 +#define GL_DISPLAY_LIST 0x82E7 +#define GL_MAX_LABEL_LENGTH 0x82E8 +#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES 0x9145 +#define GL_DEBUG_SEVERITY_HIGH 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM 0x9147 +#define GL_DEBUG_SEVERITY_LOW 0x9148 +#define GL_DEBUG_OUTPUT 0x92E0 + +typedef void (GLAPIENTRY *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam); + +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled); +typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf); +typedef GLuint (GLAPIENTRY * PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog); +typedef void (GLAPIENTRY * PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar *label); +typedef void (GLAPIENTRY * PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei* length, GLchar *label); +typedef void (GLAPIENTRY * PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar* label); +typedef void (GLAPIENTRY * PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar* label); +typedef void (GLAPIENTRY * PFNGLPOPDEBUGGROUPPROC) (void); +typedef void (GLAPIENTRY * PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar * message); + +#define glDebugMessageCallback GLEW_GET_FUN(__glewDebugMessageCallback) +#define glDebugMessageControl GLEW_GET_FUN(__glewDebugMessageControl) +#define glDebugMessageInsert GLEW_GET_FUN(__glewDebugMessageInsert) +#define glGetDebugMessageLog GLEW_GET_FUN(__glewGetDebugMessageLog) +#define glGetObjectLabel GLEW_GET_FUN(__glewGetObjectLabel) +#define glGetObjectPtrLabel GLEW_GET_FUN(__glewGetObjectPtrLabel) +#define glObjectLabel GLEW_GET_FUN(__glewObjectLabel) +#define glObjectPtrLabel GLEW_GET_FUN(__glewObjectPtrLabel) +#define glPopDebugGroup GLEW_GET_FUN(__glewPopDebugGroup) +#define glPushDebugGroup GLEW_GET_FUN(__glewPushDebugGroup) + +#define GLEW_KHR_debug GLEW_GET_VAR(__GLEW_KHR_debug) + +#endif /* GL_KHR_debug */ + +/* ---------------------------- GL_KHR_no_error ---------------------------- */ + +#ifndef GL_KHR_no_error +#define GL_KHR_no_error 1 + +#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008 + +#define GLEW_KHR_no_error GLEW_GET_VAR(__GLEW_KHR_no_error) + +#endif /* GL_KHR_no_error */ + +/* ------------------ GL_KHR_robust_buffer_access_behavior ----------------- */ + +#ifndef GL_KHR_robust_buffer_access_behavior +#define GL_KHR_robust_buffer_access_behavior 1 + +#define GLEW_KHR_robust_buffer_access_behavior GLEW_GET_VAR(__GLEW_KHR_robust_buffer_access_behavior) + +#endif /* GL_KHR_robust_buffer_access_behavior */ + +/* --------------------------- GL_KHR_robustness --------------------------- */ + +#ifndef GL_KHR_robustness +#define GL_KHR_robustness 1 + +#define GL_CONTEXT_LOST 0x0507 +#define GL_LOSE_CONTEXT_ON_RESET 0x8252 +#define GL_GUILTY_CONTEXT_RESET 0x8253 +#define GL_INNOCENT_CONTEXT_RESET 0x8254 +#define GL_UNKNOWN_CONTEXT_RESET 0x8255 +#define GL_RESET_NOTIFICATION_STRATEGY 0x8256 +#define GL_NO_RESET_NOTIFICATION 0x8261 +#define GL_CONTEXT_ROBUST_ACCESS 0x90F3 + +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMFVPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMIVPROC) (GLuint program, GLint location, GLsizei bufSize, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETNUNIFORMUIVPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint* params); +typedef void (GLAPIENTRY * PFNGLREADNPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); + +#define glGetnUniformfv GLEW_GET_FUN(__glewGetnUniformfv) +#define glGetnUniformiv GLEW_GET_FUN(__glewGetnUniformiv) +#define glGetnUniformuiv GLEW_GET_FUN(__glewGetnUniformuiv) +#define glReadnPixels GLEW_GET_FUN(__glewReadnPixels) + +#define GLEW_KHR_robustness GLEW_GET_VAR(__GLEW_KHR_robustness) + +#endif /* GL_KHR_robustness */ + +/* ------------------ GL_KHR_texture_compression_astc_hdr ------------------ */ + +#ifndef GL_KHR_texture_compression_astc_hdr +#define GL_KHR_texture_compression_astc_hdr 1 + +#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 +#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 +#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 +#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 +#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 +#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 +#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 +#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 +#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 +#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 +#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA +#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB +#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC +#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD + +#define GLEW_KHR_texture_compression_astc_hdr GLEW_GET_VAR(__GLEW_KHR_texture_compression_astc_hdr) + +#endif /* GL_KHR_texture_compression_astc_hdr */ + +/* ------------------ GL_KHR_texture_compression_astc_ldr ------------------ */ + +#ifndef GL_KHR_texture_compression_astc_ldr +#define GL_KHR_texture_compression_astc_ldr 1 + +#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 +#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 +#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 +#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 +#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 +#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 +#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 +#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 +#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 +#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 +#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA +#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB +#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC +#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD + +#define GLEW_KHR_texture_compression_astc_ldr GLEW_GET_VAR(__GLEW_KHR_texture_compression_astc_ldr) + +#endif /* GL_KHR_texture_compression_astc_ldr */ + +/* --------------- GL_KHR_texture_compression_astc_sliced_3d --------------- */ + +#ifndef GL_KHR_texture_compression_astc_sliced_3d +#define GL_KHR_texture_compression_astc_sliced_3d 1 + +#define GLEW_KHR_texture_compression_astc_sliced_3d GLEW_GET_VAR(__GLEW_KHR_texture_compression_astc_sliced_3d) + +#endif /* GL_KHR_texture_compression_astc_sliced_3d */ + +/* -------------------------- GL_KTX_buffer_region ------------------------- */ + +#ifndef GL_KTX_buffer_region +#define GL_KTX_buffer_region 1 + +#define GL_KTX_FRONT_REGION 0x0 +#define GL_KTX_BACK_REGION 0x1 +#define GL_KTX_Z_REGION 0x2 +#define GL_KTX_STENCIL_REGION 0x3 + +typedef GLuint (GLAPIENTRY * PFNGLBUFFERREGIONENABLEDPROC) (void); +typedef void (GLAPIENTRY * PFNGLDELETEBUFFERREGIONPROC) (GLenum region); +typedef void (GLAPIENTRY * PFNGLDRAWBUFFERREGIONPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest); +typedef GLuint (GLAPIENTRY * PFNGLNEWBUFFERREGIONPROC) (GLenum region); +typedef void (GLAPIENTRY * PFNGLREADBUFFERREGIONPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height); + +#define glBufferRegionEnabled GLEW_GET_FUN(__glewBufferRegionEnabled) +#define glDeleteBufferRegion GLEW_GET_FUN(__glewDeleteBufferRegion) +#define glDrawBufferRegion GLEW_GET_FUN(__glewDrawBufferRegion) +#define glNewBufferRegion GLEW_GET_FUN(__glewNewBufferRegion) +#define glReadBufferRegion GLEW_GET_FUN(__glewReadBufferRegion) + +#define GLEW_KTX_buffer_region GLEW_GET_VAR(__GLEW_KTX_buffer_region) + +#endif /* GL_KTX_buffer_region */ + +/* ------------------------- GL_MESAX_texture_stack ------------------------ */ + +#ifndef GL_MESAX_texture_stack +#define GL_MESAX_texture_stack 1 + +#define GL_TEXTURE_1D_STACK_MESAX 0x8759 +#define GL_TEXTURE_2D_STACK_MESAX 0x875A +#define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B +#define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C +#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D +#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E + +#define GLEW_MESAX_texture_stack GLEW_GET_VAR(__GLEW_MESAX_texture_stack) + +#endif /* GL_MESAX_texture_stack */ + +/* -------------------------- GL_MESA_pack_invert -------------------------- */ + +#ifndef GL_MESA_pack_invert +#define GL_MESA_pack_invert 1 + +#define GL_PACK_INVERT_MESA 0x8758 + +#define GLEW_MESA_pack_invert GLEW_GET_VAR(__GLEW_MESA_pack_invert) + +#endif /* GL_MESA_pack_invert */ + +/* ------------------------- GL_MESA_resize_buffers ------------------------ */ + +#ifndef GL_MESA_resize_buffers +#define GL_MESA_resize_buffers 1 + +typedef void (GLAPIENTRY * PFNGLRESIZEBUFFERSMESAPROC) (void); + +#define glResizeBuffersMESA GLEW_GET_FUN(__glewResizeBuffersMESA) + +#define GLEW_MESA_resize_buffers GLEW_GET_VAR(__GLEW_MESA_resize_buffers) + +#endif /* GL_MESA_resize_buffers */ + +/* --------------------------- GL_MESA_window_pos -------------------------- */ + +#ifndef GL_MESA_window_pos +#define GL_MESA_window_pos 1 + +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVMESAPROC) (const GLint* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVMESAPROC) (const GLshort* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVMESAPROC) (const GLint* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVMESAPROC) (const GLshort* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4IVMESAPROC) (const GLint* p); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (GLAPIENTRY * PFNGLWINDOWPOS4SVMESAPROC) (const GLshort* p); + +#define glWindowPos2dMESA GLEW_GET_FUN(__glewWindowPos2dMESA) +#define glWindowPos2dvMESA GLEW_GET_FUN(__glewWindowPos2dvMESA) +#define glWindowPos2fMESA GLEW_GET_FUN(__glewWindowPos2fMESA) +#define glWindowPos2fvMESA GLEW_GET_FUN(__glewWindowPos2fvMESA) +#define glWindowPos2iMESA GLEW_GET_FUN(__glewWindowPos2iMESA) +#define glWindowPos2ivMESA GLEW_GET_FUN(__glewWindowPos2ivMESA) +#define glWindowPos2sMESA GLEW_GET_FUN(__glewWindowPos2sMESA) +#define glWindowPos2svMESA GLEW_GET_FUN(__glewWindowPos2svMESA) +#define glWindowPos3dMESA GLEW_GET_FUN(__glewWindowPos3dMESA) +#define glWindowPos3dvMESA GLEW_GET_FUN(__glewWindowPos3dvMESA) +#define glWindowPos3fMESA GLEW_GET_FUN(__glewWindowPos3fMESA) +#define glWindowPos3fvMESA GLEW_GET_FUN(__glewWindowPos3fvMESA) +#define glWindowPos3iMESA GLEW_GET_FUN(__glewWindowPos3iMESA) +#define glWindowPos3ivMESA GLEW_GET_FUN(__glewWindowPos3ivMESA) +#define glWindowPos3sMESA GLEW_GET_FUN(__glewWindowPos3sMESA) +#define glWindowPos3svMESA GLEW_GET_FUN(__glewWindowPos3svMESA) +#define glWindowPos4dMESA GLEW_GET_FUN(__glewWindowPos4dMESA) +#define glWindowPos4dvMESA GLEW_GET_FUN(__glewWindowPos4dvMESA) +#define glWindowPos4fMESA GLEW_GET_FUN(__glewWindowPos4fMESA) +#define glWindowPos4fvMESA GLEW_GET_FUN(__glewWindowPos4fvMESA) +#define glWindowPos4iMESA GLEW_GET_FUN(__glewWindowPos4iMESA) +#define glWindowPos4ivMESA GLEW_GET_FUN(__glewWindowPos4ivMESA) +#define glWindowPos4sMESA GLEW_GET_FUN(__glewWindowPos4sMESA) +#define glWindowPos4svMESA GLEW_GET_FUN(__glewWindowPos4svMESA) + +#define GLEW_MESA_window_pos GLEW_GET_VAR(__GLEW_MESA_window_pos) + +#endif /* GL_MESA_window_pos */ + +/* ------------------------- GL_MESA_ycbcr_texture ------------------------- */ + +#ifndef GL_MESA_ycbcr_texture +#define GL_MESA_ycbcr_texture 1 + +#define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA +#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB +#define GL_YCBCR_MESA 0x8757 + +#define GLEW_MESA_ycbcr_texture GLEW_GET_VAR(__GLEW_MESA_ycbcr_texture) + +#endif /* GL_MESA_ycbcr_texture */ + +/* ----------------------- GL_NVX_conditional_render ----------------------- */ + +#ifndef GL_NVX_conditional_render +#define GL_NVX_conditional_render 1 + +typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERNVXPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERNVXPROC) (void); + +#define glBeginConditionalRenderNVX GLEW_GET_FUN(__glewBeginConditionalRenderNVX) +#define glEndConditionalRenderNVX GLEW_GET_FUN(__glewEndConditionalRenderNVX) + +#define GLEW_NVX_conditional_render GLEW_GET_VAR(__GLEW_NVX_conditional_render) + +#endif /* GL_NVX_conditional_render */ + +/* ------------------------- GL_NVX_gpu_memory_info ------------------------ */ + +#ifndef GL_NVX_gpu_memory_info +#define GL_NVX_gpu_memory_info 1 + +#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047 +#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048 +#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049 +#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A +#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B + +#define GLEW_NVX_gpu_memory_info GLEW_GET_VAR(__GLEW_NVX_gpu_memory_info) + +#endif /* GL_NVX_gpu_memory_info */ + +/* ------------------- GL_NV_bindless_multi_draw_indirect ------------------ */ + +#ifndef GL_NV_bindless_multi_draw_indirect +#define GL_NV_bindless_multi_draw_indirect 1 + +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC) (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); + +#define glMultiDrawArraysIndirectBindlessNV GLEW_GET_FUN(__glewMultiDrawArraysIndirectBindlessNV) +#define glMultiDrawElementsIndirectBindlessNV GLEW_GET_FUN(__glewMultiDrawElementsIndirectBindlessNV) + +#define GLEW_NV_bindless_multi_draw_indirect GLEW_GET_VAR(__GLEW_NV_bindless_multi_draw_indirect) + +#endif /* GL_NV_bindless_multi_draw_indirect */ + +/* ---------------- GL_NV_bindless_multi_draw_indirect_count --------------- */ + +#ifndef GL_NV_bindless_multi_draw_indirect_count +#define GL_NV_bindless_multi_draw_indirect_count 1 + +typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC) (GLenum mode, const void *indirect, GLintptr drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount); +typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC) (GLenum mode, GLenum type, const void *indirect, GLintptr drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount); + +#define glMultiDrawArraysIndirectBindlessCountNV GLEW_GET_FUN(__glewMultiDrawArraysIndirectBindlessCountNV) +#define glMultiDrawElementsIndirectBindlessCountNV GLEW_GET_FUN(__glewMultiDrawElementsIndirectBindlessCountNV) + +#define GLEW_NV_bindless_multi_draw_indirect_count GLEW_GET_VAR(__GLEW_NV_bindless_multi_draw_indirect_count) + +#endif /* GL_NV_bindless_multi_draw_indirect_count */ + +/* ------------------------- GL_NV_bindless_texture ------------------------ */ + +#ifndef GL_NV_bindless_texture +#define GL_NV_bindless_texture 1 + +typedef GLuint64 (GLAPIENTRY * PFNGLGETIMAGEHANDLENVPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); +typedef GLuint64 (GLAPIENTRY * PFNGLGETTEXTUREHANDLENVPROC) (GLuint texture); +typedef GLuint64 (GLAPIENTRY * PFNGLGETTEXTURESAMPLERHANDLENVPROC) (GLuint texture, GLuint sampler); +typedef GLboolean (GLAPIENTRY * PFNGLISIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle); +typedef GLboolean (GLAPIENTRY * PFNGLISTEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLMAKEIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle, GLenum access); +typedef void (GLAPIENTRY * PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLMAKETEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC) (GLuint program, GLint location, GLuint64 value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64* values); +typedef void (GLAPIENTRY * PFNGLUNIFORMHANDLEUI64NVPROC) (GLint location, GLuint64 value); +typedef void (GLAPIENTRY * PFNGLUNIFORMHANDLEUI64VNVPROC) (GLint location, GLsizei count, const GLuint64* value); + +#define glGetImageHandleNV GLEW_GET_FUN(__glewGetImageHandleNV) +#define glGetTextureHandleNV GLEW_GET_FUN(__glewGetTextureHandleNV) +#define glGetTextureSamplerHandleNV GLEW_GET_FUN(__glewGetTextureSamplerHandleNV) +#define glIsImageHandleResidentNV GLEW_GET_FUN(__glewIsImageHandleResidentNV) +#define glIsTextureHandleResidentNV GLEW_GET_FUN(__glewIsTextureHandleResidentNV) +#define glMakeImageHandleNonResidentNV GLEW_GET_FUN(__glewMakeImageHandleNonResidentNV) +#define glMakeImageHandleResidentNV GLEW_GET_FUN(__glewMakeImageHandleResidentNV) +#define glMakeTextureHandleNonResidentNV GLEW_GET_FUN(__glewMakeTextureHandleNonResidentNV) +#define glMakeTextureHandleResidentNV GLEW_GET_FUN(__glewMakeTextureHandleResidentNV) +#define glProgramUniformHandleui64NV GLEW_GET_FUN(__glewProgramUniformHandleui64NV) +#define glProgramUniformHandleui64vNV GLEW_GET_FUN(__glewProgramUniformHandleui64vNV) +#define glUniformHandleui64NV GLEW_GET_FUN(__glewUniformHandleui64NV) +#define glUniformHandleui64vNV GLEW_GET_FUN(__glewUniformHandleui64vNV) + +#define GLEW_NV_bindless_texture GLEW_GET_VAR(__GLEW_NV_bindless_texture) + +#endif /* GL_NV_bindless_texture */ + +/* --------------------- GL_NV_blend_equation_advanced --------------------- */ + +#ifndef GL_NV_blend_equation_advanced +#define GL_NV_blend_equation_advanced 1 + +#define GL_XOR_NV 0x1506 +#define GL_RED_NV 0x1903 +#define GL_GREEN_NV 0x1904 +#define GL_BLUE_NV 0x1905 +#define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280 +#define GL_BLEND_OVERLAP_NV 0x9281 +#define GL_UNCORRELATED_NV 0x9282 +#define GL_DISJOINT_NV 0x9283 +#define GL_CONJOINT_NV 0x9284 +#define GL_BLEND_ADVANCED_COHERENT_NV 0x9285 +#define GL_SRC_NV 0x9286 +#define GL_DST_NV 0x9287 +#define GL_SRC_OVER_NV 0x9288 +#define GL_DST_OVER_NV 0x9289 +#define GL_SRC_IN_NV 0x928A +#define GL_DST_IN_NV 0x928B +#define GL_SRC_OUT_NV 0x928C +#define GL_DST_OUT_NV 0x928D +#define GL_SRC_ATOP_NV 0x928E +#define GL_DST_ATOP_NV 0x928F +#define GL_PLUS_NV 0x9291 +#define GL_PLUS_DARKER_NV 0x9292 +#define GL_MULTIPLY_NV 0x9294 +#define GL_SCREEN_NV 0x9295 +#define GL_OVERLAY_NV 0x9296 +#define GL_DARKEN_NV 0x9297 +#define GL_LIGHTEN_NV 0x9298 +#define GL_COLORDODGE_NV 0x9299 +#define GL_COLORBURN_NV 0x929A +#define GL_HARDLIGHT_NV 0x929B +#define GL_SOFTLIGHT_NV 0x929C +#define GL_DIFFERENCE_NV 0x929E +#define GL_MINUS_NV 0x929F +#define GL_EXCLUSION_NV 0x92A0 +#define GL_CONTRAST_NV 0x92A1 +#define GL_INVERT_RGB_NV 0x92A3 +#define GL_LINEARDODGE_NV 0x92A4 +#define GL_LINEARBURN_NV 0x92A5 +#define GL_VIVIDLIGHT_NV 0x92A6 +#define GL_LINEARLIGHT_NV 0x92A7 +#define GL_PINLIGHT_NV 0x92A8 +#define GL_HARDMIX_NV 0x92A9 +#define GL_HSL_HUE_NV 0x92AD +#define GL_HSL_SATURATION_NV 0x92AE +#define GL_HSL_COLOR_NV 0x92AF +#define GL_HSL_LUMINOSITY_NV 0x92B0 +#define GL_PLUS_CLAMPED_NV 0x92B1 +#define GL_PLUS_CLAMPED_ALPHA_NV 0x92B2 +#define GL_MINUS_CLAMPED_NV 0x92B3 +#define GL_INVERT_OVG_NV 0x92B4 + +typedef void (GLAPIENTRY * PFNGLBLENDBARRIERNVPROC) (void); +typedef void (GLAPIENTRY * PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value); + +#define glBlendBarrierNV GLEW_GET_FUN(__glewBlendBarrierNV) +#define glBlendParameteriNV GLEW_GET_FUN(__glewBlendParameteriNV) + +#define GLEW_NV_blend_equation_advanced GLEW_GET_VAR(__GLEW_NV_blend_equation_advanced) + +#endif /* GL_NV_blend_equation_advanced */ + +/* ----------------- GL_NV_blend_equation_advanced_coherent ---------------- */ + +#ifndef GL_NV_blend_equation_advanced_coherent +#define GL_NV_blend_equation_advanced_coherent 1 + +#define GLEW_NV_blend_equation_advanced_coherent GLEW_GET_VAR(__GLEW_NV_blend_equation_advanced_coherent) + +#endif /* GL_NV_blend_equation_advanced_coherent */ + +/* --------------------------- GL_NV_blend_square -------------------------- */ + +#ifndef GL_NV_blend_square +#define GL_NV_blend_square 1 + +#define GLEW_NV_blend_square GLEW_GET_VAR(__GLEW_NV_blend_square) + +#endif /* GL_NV_blend_square */ + +/* ------------------------- GL_NV_compute_program5 ------------------------ */ + +#ifndef GL_NV_compute_program5 +#define GL_NV_compute_program5 1 + +#define GL_COMPUTE_PROGRAM_NV 0x90FB +#define GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV 0x90FC + +#define GLEW_NV_compute_program5 GLEW_GET_VAR(__GLEW_NV_compute_program5) + +#endif /* GL_NV_compute_program5 */ + +/* ------------------------ GL_NV_conditional_render ----------------------- */ + +#ifndef GL_NV_conditional_render +#define GL_NV_conditional_render 1 + +#define GL_QUERY_WAIT_NV 0x8E13 +#define GL_QUERY_NO_WAIT_NV 0x8E14 +#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16 + +typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode); +typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERNVPROC) (void); + +#define glBeginConditionalRenderNV GLEW_GET_FUN(__glewBeginConditionalRenderNV) +#define glEndConditionalRenderNV GLEW_GET_FUN(__glewEndConditionalRenderNV) + +#define GLEW_NV_conditional_render GLEW_GET_VAR(__GLEW_NV_conditional_render) + +#endif /* GL_NV_conditional_render */ + +/* ----------------------- GL_NV_conservative_raster ----------------------- */ + +#ifndef GL_NV_conservative_raster +#define GL_NV_conservative_raster 1 + +#define GL_CONSERVATIVE_RASTERIZATION_NV 0x9346 +#define GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV 0x9347 +#define GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV 0x9348 +#define GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV 0x9349 + +typedef void (GLAPIENTRY * PFNGLSUBPIXELPRECISIONBIASNVPROC) (GLuint xbits, GLuint ybits); + +#define glSubpixelPrecisionBiasNV GLEW_GET_FUN(__glewSubpixelPrecisionBiasNV) + +#define GLEW_NV_conservative_raster GLEW_GET_VAR(__GLEW_NV_conservative_raster) + +#endif /* GL_NV_conservative_raster */ + +/* -------------------- GL_NV_conservative_raster_dilate ------------------- */ + +#ifndef GL_NV_conservative_raster_dilate +#define GL_NV_conservative_raster_dilate 1 + +#define GL_CONSERVATIVE_RASTER_DILATE_NV 0x9379 +#define GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV 0x937A +#define GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV 0x937B + +typedef void (GLAPIENTRY * PFNGLCONSERVATIVERASTERPARAMETERFNVPROC) (GLenum pname, GLfloat value); + +#define glConservativeRasterParameterfNV GLEW_GET_FUN(__glewConservativeRasterParameterfNV) + +#define GLEW_NV_conservative_raster_dilate GLEW_GET_VAR(__GLEW_NV_conservative_raster_dilate) + +#endif /* GL_NV_conservative_raster_dilate */ + +/* ----------------------- GL_NV_copy_depth_to_color ----------------------- */ + +#ifndef GL_NV_copy_depth_to_color +#define GL_NV_copy_depth_to_color 1 + +#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E +#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F + +#define GLEW_NV_copy_depth_to_color GLEW_GET_VAR(__GLEW_NV_copy_depth_to_color) + +#endif /* GL_NV_copy_depth_to_color */ + +/* ---------------------------- GL_NV_copy_image --------------------------- */ + +#ifndef GL_NV_copy_image +#define GL_NV_copy_image 1 + +typedef void (GLAPIENTRY * PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); + +#define glCopyImageSubDataNV GLEW_GET_FUN(__glewCopyImageSubDataNV) + +#define GLEW_NV_copy_image GLEW_GET_VAR(__GLEW_NV_copy_image) + +#endif /* GL_NV_copy_image */ + +/* -------------------------- GL_NV_deep_texture3D ------------------------- */ + +#ifndef GL_NV_deep_texture3D +#define GL_NV_deep_texture3D 1 + +#define GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV 0x90D0 +#define GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV 0x90D1 + +#define GLEW_NV_deep_texture3D GLEW_GET_VAR(__GLEW_NV_deep_texture3D) + +#endif /* GL_NV_deep_texture3D */ + +/* ------------------------ GL_NV_depth_buffer_float ----------------------- */ + +#ifndef GL_NV_depth_buffer_float +#define GL_NV_depth_buffer_float 1 + +#define GL_DEPTH_COMPONENT32F_NV 0x8DAB +#define GL_DEPTH32F_STENCIL8_NV 0x8DAC +#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD +#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF + +typedef void (GLAPIENTRY * PFNGLCLEARDEPTHDNVPROC) (GLdouble depth); +typedef void (GLAPIENTRY * PFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax); +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar); + +#define glClearDepthdNV GLEW_GET_FUN(__glewClearDepthdNV) +#define glDepthBoundsdNV GLEW_GET_FUN(__glewDepthBoundsdNV) +#define glDepthRangedNV GLEW_GET_FUN(__glewDepthRangedNV) + +#define GLEW_NV_depth_buffer_float GLEW_GET_VAR(__GLEW_NV_depth_buffer_float) + +#endif /* GL_NV_depth_buffer_float */ + +/* --------------------------- GL_NV_depth_clamp --------------------------- */ + +#ifndef GL_NV_depth_clamp +#define GL_NV_depth_clamp 1 + +#define GL_DEPTH_CLAMP_NV 0x864F + +#define GLEW_NV_depth_clamp GLEW_GET_VAR(__GLEW_NV_depth_clamp) + +#endif /* GL_NV_depth_clamp */ + +/* ---------------------- GL_NV_depth_range_unclamped ---------------------- */ + +#ifndef GL_NV_depth_range_unclamped +#define GL_NV_depth_range_unclamped 1 + +#define GL_SAMPLE_COUNT_BITS_NV 0x8864 +#define GL_CURRENT_SAMPLE_COUNT_QUERY_NV 0x8865 +#define GL_QUERY_RESULT_NV 0x8866 +#define GL_QUERY_RESULT_AVAILABLE_NV 0x8867 +#define GL_SAMPLE_COUNT_NV 0x8914 + +#define GLEW_NV_depth_range_unclamped GLEW_GET_VAR(__GLEW_NV_depth_range_unclamped) + +#endif /* GL_NV_depth_range_unclamped */ + +/* --------------------------- GL_NV_draw_texture -------------------------- */ + +#ifndef GL_NV_draw_texture +#define GL_NV_draw_texture 1 + +typedef void (GLAPIENTRY * PFNGLDRAWTEXTURENVPROC) (GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1); + +#define glDrawTextureNV GLEW_GET_FUN(__glewDrawTextureNV) + +#define GLEW_NV_draw_texture GLEW_GET_VAR(__GLEW_NV_draw_texture) + +#endif /* GL_NV_draw_texture */ + +/* ---------------------------- GL_NV_evaluators --------------------------- */ + +#ifndef GL_NV_evaluators +#define GL_NV_evaluators 1 + +#define GL_EVAL_2D_NV 0x86C0 +#define GL_EVAL_TRIANGULAR_2D_NV 0x86C1 +#define GL_MAP_TESSELLATION_NV 0x86C2 +#define GL_MAP_ATTRIB_U_ORDER_NV 0x86C3 +#define GL_MAP_ATTRIB_V_ORDER_NV 0x86C4 +#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5 +#define GL_EVAL_VERTEX_ATTRIB0_NV 0x86C6 +#define GL_EVAL_VERTEX_ATTRIB1_NV 0x86C7 +#define GL_EVAL_VERTEX_ATTRIB2_NV 0x86C8 +#define GL_EVAL_VERTEX_ATTRIB3_NV 0x86C9 +#define GL_EVAL_VERTEX_ATTRIB4_NV 0x86CA +#define GL_EVAL_VERTEX_ATTRIB5_NV 0x86CB +#define GL_EVAL_VERTEX_ATTRIB6_NV 0x86CC +#define GL_EVAL_VERTEX_ATTRIB7_NV 0x86CD +#define GL_EVAL_VERTEX_ATTRIB8_NV 0x86CE +#define GL_EVAL_VERTEX_ATTRIB9_NV 0x86CF +#define GL_EVAL_VERTEX_ATTRIB10_NV 0x86D0 +#define GL_EVAL_VERTEX_ATTRIB11_NV 0x86D1 +#define GL_EVAL_VERTEX_ATTRIB12_NV 0x86D2 +#define GL_EVAL_VERTEX_ATTRIB13_NV 0x86D3 +#define GL_EVAL_VERTEX_ATTRIB14_NV 0x86D4 +#define GL_EVAL_VERTEX_ATTRIB15_NV 0x86D5 +#define GL_MAX_MAP_TESSELLATION_NV 0x86D6 +#define GL_MAX_RATIONAL_EVAL_ORDER_NV 0x86D7 + +typedef void (GLAPIENTRY * PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode); +typedef void (GLAPIENTRY * PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, void *points); +typedef void (GLAPIENTRY * PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const void *points); +typedef void (GLAPIENTRY * PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint* params); + +#define glEvalMapsNV GLEW_GET_FUN(__glewEvalMapsNV) +#define glGetMapAttribParameterfvNV GLEW_GET_FUN(__glewGetMapAttribParameterfvNV) +#define glGetMapAttribParameterivNV GLEW_GET_FUN(__glewGetMapAttribParameterivNV) +#define glGetMapControlPointsNV GLEW_GET_FUN(__glewGetMapControlPointsNV) +#define glGetMapParameterfvNV GLEW_GET_FUN(__glewGetMapParameterfvNV) +#define glGetMapParameterivNV GLEW_GET_FUN(__glewGetMapParameterivNV) +#define glMapControlPointsNV GLEW_GET_FUN(__glewMapControlPointsNV) +#define glMapParameterfvNV GLEW_GET_FUN(__glewMapParameterfvNV) +#define glMapParameterivNV GLEW_GET_FUN(__glewMapParameterivNV) + +#define GLEW_NV_evaluators GLEW_GET_VAR(__GLEW_NV_evaluators) + +#endif /* GL_NV_evaluators */ + +/* ----------------------- GL_NV_explicit_multisample ---------------------- */ + +#ifndef GL_NV_explicit_multisample +#define GL_NV_explicit_multisample 1 + +#define GL_SAMPLE_POSITION_NV 0x8E50 +#define GL_SAMPLE_MASK_NV 0x8E51 +#define GL_SAMPLE_MASK_VALUE_NV 0x8E52 +#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53 +#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54 +#define GL_TEXTURE_RENDERBUFFER_NV 0x8E55 +#define GL_SAMPLER_RENDERBUFFER_NV 0x8E56 +#define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57 +#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58 +#define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59 + +typedef void (GLAPIENTRY * PFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat* val); +typedef void (GLAPIENTRY * PFNGLSAMPLEMASKINDEXEDNVPROC) (GLuint index, GLbitfield mask); +typedef void (GLAPIENTRY * PFNGLTEXRENDERBUFFERNVPROC) (GLenum target, GLuint renderbuffer); + +#define glGetMultisamplefvNV GLEW_GET_FUN(__glewGetMultisamplefvNV) +#define glSampleMaskIndexedNV GLEW_GET_FUN(__glewSampleMaskIndexedNV) +#define glTexRenderbufferNV GLEW_GET_FUN(__glewTexRenderbufferNV) + +#define GLEW_NV_explicit_multisample GLEW_GET_VAR(__GLEW_NV_explicit_multisample) + +#endif /* GL_NV_explicit_multisample */ + +/* ------------------------------ GL_NV_fence ------------------------------ */ + +#ifndef GL_NV_fence +#define GL_NV_fence 1 + +#define GL_ALL_COMPLETED_NV 0x84F2 +#define GL_FENCE_STATUS_NV 0x84F3 +#define GL_FENCE_CONDITION_NV 0x84F4 + +typedef void (GLAPIENTRY * PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint* fences); +typedef void (GLAPIENTRY * PFNGLFINISHFENCENVPROC) (GLuint fence); +typedef void (GLAPIENTRY * PFNGLGENFENCESNVPROC) (GLsizei n, GLuint* fences); +typedef void (GLAPIENTRY * PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISFENCENVPROC) (GLuint fence); +typedef void (GLAPIENTRY * PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); +typedef GLboolean (GLAPIENTRY * PFNGLTESTFENCENVPROC) (GLuint fence); + +#define glDeleteFencesNV GLEW_GET_FUN(__glewDeleteFencesNV) +#define glFinishFenceNV GLEW_GET_FUN(__glewFinishFenceNV) +#define glGenFencesNV GLEW_GET_FUN(__glewGenFencesNV) +#define glGetFenceivNV GLEW_GET_FUN(__glewGetFenceivNV) +#define glIsFenceNV GLEW_GET_FUN(__glewIsFenceNV) +#define glSetFenceNV GLEW_GET_FUN(__glewSetFenceNV) +#define glTestFenceNV GLEW_GET_FUN(__glewTestFenceNV) + +#define GLEW_NV_fence GLEW_GET_VAR(__GLEW_NV_fence) + +#endif /* GL_NV_fence */ + +/* -------------------------- GL_NV_fill_rectangle ------------------------- */ + +#ifndef GL_NV_fill_rectangle +#define GL_NV_fill_rectangle 1 + +#define GL_FILL_RECTANGLE_NV 0x933C + +#define GLEW_NV_fill_rectangle GLEW_GET_VAR(__GLEW_NV_fill_rectangle) + +#endif /* GL_NV_fill_rectangle */ + +/* --------------------------- GL_NV_float_buffer -------------------------- */ + +#ifndef GL_NV_float_buffer +#define GL_NV_float_buffer 1 + +#define GL_FLOAT_R_NV 0x8880 +#define GL_FLOAT_RG_NV 0x8881 +#define GL_FLOAT_RGB_NV 0x8882 +#define GL_FLOAT_RGBA_NV 0x8883 +#define GL_FLOAT_R16_NV 0x8884 +#define GL_FLOAT_R32_NV 0x8885 +#define GL_FLOAT_RG16_NV 0x8886 +#define GL_FLOAT_RG32_NV 0x8887 +#define GL_FLOAT_RGB16_NV 0x8888 +#define GL_FLOAT_RGB32_NV 0x8889 +#define GL_FLOAT_RGBA16_NV 0x888A +#define GL_FLOAT_RGBA32_NV 0x888B +#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C +#define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D +#define GL_FLOAT_RGBA_MODE_NV 0x888E + +#define GLEW_NV_float_buffer GLEW_GET_VAR(__GLEW_NV_float_buffer) + +#endif /* GL_NV_float_buffer */ + +/* --------------------------- GL_NV_fog_distance -------------------------- */ + +#ifndef GL_NV_fog_distance +#define GL_NV_fog_distance 1 + +#define GL_FOG_DISTANCE_MODE_NV 0x855A +#define GL_EYE_RADIAL_NV 0x855B +#define GL_EYE_PLANE_ABSOLUTE_NV 0x855C + +#define GLEW_NV_fog_distance GLEW_GET_VAR(__GLEW_NV_fog_distance) + +#endif /* GL_NV_fog_distance */ + +/* -------------------- GL_NV_fragment_coverage_to_color ------------------- */ + +#ifndef GL_NV_fragment_coverage_to_color +#define GL_NV_fragment_coverage_to_color 1 + +#define GL_FRAGMENT_COVERAGE_TO_COLOR_NV 0x92DD +#define GL_FRAGMENT_COVERAGE_COLOR_NV 0x92DE + +typedef void (GLAPIENTRY * PFNGLFRAGMENTCOVERAGECOLORNVPROC) (GLuint color); + +#define glFragmentCoverageColorNV GLEW_GET_FUN(__glewFragmentCoverageColorNV) + +#define GLEW_NV_fragment_coverage_to_color GLEW_GET_VAR(__GLEW_NV_fragment_coverage_to_color) + +#endif /* GL_NV_fragment_coverage_to_color */ + +/* ------------------------- GL_NV_fragment_program ------------------------ */ + +#ifndef GL_NV_fragment_program +#define GL_NV_fragment_program 1 + +#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868 +#define GL_FRAGMENT_PROGRAM_NV 0x8870 +#define GL_MAX_TEXTURE_COORDS_NV 0x8871 +#define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872 +#define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873 +#define GL_PROGRAM_ERROR_STRING_NV 0x8874 + +typedef void (GLAPIENTRY * PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLdouble *params); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLfloat *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, const GLdouble v[]); +typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, const GLfloat v[]); + +#define glGetProgramNamedParameterdvNV GLEW_GET_FUN(__glewGetProgramNamedParameterdvNV) +#define glGetProgramNamedParameterfvNV GLEW_GET_FUN(__glewGetProgramNamedParameterfvNV) +#define glProgramNamedParameter4dNV GLEW_GET_FUN(__glewProgramNamedParameter4dNV) +#define glProgramNamedParameter4dvNV GLEW_GET_FUN(__glewProgramNamedParameter4dvNV) +#define glProgramNamedParameter4fNV GLEW_GET_FUN(__glewProgramNamedParameter4fNV) +#define glProgramNamedParameter4fvNV GLEW_GET_FUN(__glewProgramNamedParameter4fvNV) + +#define GLEW_NV_fragment_program GLEW_GET_VAR(__GLEW_NV_fragment_program) + +#endif /* GL_NV_fragment_program */ + +/* ------------------------ GL_NV_fragment_program2 ------------------------ */ + +#ifndef GL_NV_fragment_program2 +#define GL_NV_fragment_program2 1 + +#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4 +#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5 +#define GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6 +#define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88F7 +#define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88F8 + +#define GLEW_NV_fragment_program2 GLEW_GET_VAR(__GLEW_NV_fragment_program2) + +#endif /* GL_NV_fragment_program2 */ + +/* ------------------------ GL_NV_fragment_program4 ------------------------ */ + +#ifndef GL_NV_fragment_program4 +#define GL_NV_fragment_program4 1 + +#define GLEW_NV_fragment_program4 GLEW_GET_VAR(__GLEW_NV_fragment_program4) + +#endif /* GL_NV_fragment_program4 */ + +/* --------------------- GL_NV_fragment_program_option --------------------- */ + +#ifndef GL_NV_fragment_program_option +#define GL_NV_fragment_program_option 1 + +#define GLEW_NV_fragment_program_option GLEW_GET_VAR(__GLEW_NV_fragment_program_option) + +#endif /* GL_NV_fragment_program_option */ + +/* -------------------- GL_NV_fragment_shader_interlock -------------------- */ + +#ifndef GL_NV_fragment_shader_interlock +#define GL_NV_fragment_shader_interlock 1 + +#define GLEW_NV_fragment_shader_interlock GLEW_GET_VAR(__GLEW_NV_fragment_shader_interlock) + +#endif /* GL_NV_fragment_shader_interlock */ + +/* -------------------- GL_NV_framebuffer_mixed_samples -------------------- */ + +#ifndef GL_NV_framebuffer_mixed_samples +#define GL_NV_framebuffer_mixed_samples 1 + +#define GL_COLOR_SAMPLES_NV 0x8E20 +#define GL_RASTER_MULTISAMPLE_EXT 0x9327 +#define GL_RASTER_SAMPLES_EXT 0x9328 +#define GL_MAX_RASTER_SAMPLES_EXT 0x9329 +#define GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT 0x932A +#define GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT 0x932B +#define GL_EFFECTIVE_RASTER_SAMPLES_EXT 0x932C +#define GL_DEPTH_SAMPLES_NV 0x932D +#define GL_STENCIL_SAMPLES_NV 0x932E +#define GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV 0x932F +#define GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV 0x9330 +#define GL_COVERAGE_MODULATION_TABLE_NV 0x9331 +#define GL_COVERAGE_MODULATION_NV 0x9332 +#define GL_COVERAGE_MODULATION_TABLE_SIZE_NV 0x9333 + +#define GLEW_NV_framebuffer_mixed_samples GLEW_GET_VAR(__GLEW_NV_framebuffer_mixed_samples) + +#endif /* GL_NV_framebuffer_mixed_samples */ + +/* ----------------- GL_NV_framebuffer_multisample_coverage ---------------- */ + +#ifndef GL_NV_framebuffer_multisample_coverage +#define GL_NV_framebuffer_multisample_coverage 1 + +#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB +#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10 +#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11 +#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12 + +typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); + +#define glRenderbufferStorageMultisampleCoverageNV GLEW_GET_FUN(__glewRenderbufferStorageMultisampleCoverageNV) + +#define GLEW_NV_framebuffer_multisample_coverage GLEW_GET_VAR(__GLEW_NV_framebuffer_multisample_coverage) + +#endif /* GL_NV_framebuffer_multisample_coverage */ + +/* ------------------------ GL_NV_geometry_program4 ------------------------ */ + +#ifndef GL_NV_geometry_program4 +#define GL_NV_geometry_program4 1 + +#define GL_GEOMETRY_PROGRAM_NV 0x8C26 +#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27 +#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28 + +typedef void (GLAPIENTRY * PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit); + +#define glProgramVertexLimitNV GLEW_GET_FUN(__glewProgramVertexLimitNV) + +#define GLEW_NV_geometry_program4 GLEW_GET_VAR(__GLEW_NV_geometry_program4) + +#endif /* GL_NV_geometry_program4 */ + +/* ------------------------- GL_NV_geometry_shader4 ------------------------ */ + +#ifndef GL_NV_geometry_shader4 +#define GL_NV_geometry_shader4 1 + +#define GLEW_NV_geometry_shader4 GLEW_GET_VAR(__GLEW_NV_geometry_shader4) + +#endif /* GL_NV_geometry_shader4 */ + +/* ------------------- GL_NV_geometry_shader_passthrough ------------------- */ + +#ifndef GL_NV_geometry_shader_passthrough +#define GL_NV_geometry_shader_passthrough 1 + +#define GLEW_NV_geometry_shader_passthrough GLEW_GET_VAR(__GLEW_NV_geometry_shader_passthrough) + +#endif /* GL_NV_geometry_shader_passthrough */ + +/* --------------------------- GL_NV_gpu_program4 -------------------------- */ + +#ifndef GL_NV_gpu_program4 +#define GL_NV_gpu_program4 1 + +#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904 +#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905 +#define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906 +#define GL_PROGRAM_RESULT_COMPONENTS_NV 0x8907 +#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908 +#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909 +#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5 +#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6 + +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params); + +#define glProgramEnvParameterI4iNV GLEW_GET_FUN(__glewProgramEnvParameterI4iNV) +#define glProgramEnvParameterI4ivNV GLEW_GET_FUN(__glewProgramEnvParameterI4ivNV) +#define glProgramEnvParameterI4uiNV GLEW_GET_FUN(__glewProgramEnvParameterI4uiNV) +#define glProgramEnvParameterI4uivNV GLEW_GET_FUN(__glewProgramEnvParameterI4uivNV) +#define glProgramEnvParametersI4ivNV GLEW_GET_FUN(__glewProgramEnvParametersI4ivNV) +#define glProgramEnvParametersI4uivNV GLEW_GET_FUN(__glewProgramEnvParametersI4uivNV) +#define glProgramLocalParameterI4iNV GLEW_GET_FUN(__glewProgramLocalParameterI4iNV) +#define glProgramLocalParameterI4ivNV GLEW_GET_FUN(__glewProgramLocalParameterI4ivNV) +#define glProgramLocalParameterI4uiNV GLEW_GET_FUN(__glewProgramLocalParameterI4uiNV) +#define glProgramLocalParameterI4uivNV GLEW_GET_FUN(__glewProgramLocalParameterI4uivNV) +#define glProgramLocalParametersI4ivNV GLEW_GET_FUN(__glewProgramLocalParametersI4ivNV) +#define glProgramLocalParametersI4uivNV GLEW_GET_FUN(__glewProgramLocalParametersI4uivNV) + +#define GLEW_NV_gpu_program4 GLEW_GET_VAR(__GLEW_NV_gpu_program4) + +#endif /* GL_NV_gpu_program4 */ + +/* --------------------------- GL_NV_gpu_program5 -------------------------- */ + +#ifndef GL_NV_gpu_program5 +#define GL_NV_gpu_program5 1 + +#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV 0x8E5A +#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5B +#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5C +#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8E5D +#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5E +#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV 0x8E5F + +#define GLEW_NV_gpu_program5 GLEW_GET_VAR(__GLEW_NV_gpu_program5) + +#endif /* GL_NV_gpu_program5 */ + +/* -------------------- GL_NV_gpu_program5_mem_extended -------------------- */ + +#ifndef GL_NV_gpu_program5_mem_extended +#define GL_NV_gpu_program5_mem_extended 1 + +#define GLEW_NV_gpu_program5_mem_extended GLEW_GET_VAR(__GLEW_NV_gpu_program5_mem_extended) + +#endif /* GL_NV_gpu_program5_mem_extended */ + +/* ------------------------- GL_NV_gpu_program_fp64 ------------------------ */ + +#ifndef GL_NV_gpu_program_fp64 +#define GL_NV_gpu_program_fp64 1 + +#define GLEW_NV_gpu_program_fp64 GLEW_GET_VAR(__GLEW_NV_gpu_program_fp64) + +#endif /* GL_NV_gpu_program_fp64 */ + +/* --------------------------- GL_NV_gpu_shader5 --------------------------- */ + +#ifndef GL_NV_gpu_shader5 +#define GL_NV_gpu_shader5 1 + +#define GL_INT64_NV 0x140E +#define GL_UNSIGNED_INT64_NV 0x140F +#define GL_INT8_NV 0x8FE0 +#define GL_INT8_VEC2_NV 0x8FE1 +#define GL_INT8_VEC3_NV 0x8FE2 +#define GL_INT8_VEC4_NV 0x8FE3 +#define GL_INT16_NV 0x8FE4 +#define GL_INT16_VEC2_NV 0x8FE5 +#define GL_INT16_VEC3_NV 0x8FE6 +#define GL_INT16_VEC4_NV 0x8FE7 +#define GL_INT64_VEC2_NV 0x8FE9 +#define GL_INT64_VEC3_NV 0x8FEA +#define GL_INT64_VEC4_NV 0x8FEB +#define GL_UNSIGNED_INT8_NV 0x8FEC +#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED +#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE +#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF +#define GL_UNSIGNED_INT16_NV 0x8FF0 +#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1 +#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2 +#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3 +#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5 +#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6 +#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7 +#define GL_FLOAT16_NV 0x8FF8 +#define GL_FLOAT16_VEC2_NV 0x8FF9 +#define GL_FLOAT16_VEC3_NV 0x8FFA +#define GL_FLOAT16_VEC4_NV 0x8FFB + +typedef void (GLAPIENTRY * PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT* params); +typedef void (GLAPIENTRY * PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x); +typedef void (GLAPIENTRY * PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x); +typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y); +typedef void (GLAPIENTRY * PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y); +typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (GLAPIENTRY * PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (GLAPIENTRY * PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); + +#define glGetUniformi64vNV GLEW_GET_FUN(__glewGetUniformi64vNV) +#define glGetUniformui64vNV GLEW_GET_FUN(__glewGetUniformui64vNV) +#define glProgramUniform1i64NV GLEW_GET_FUN(__glewProgramUniform1i64NV) +#define glProgramUniform1i64vNV GLEW_GET_FUN(__glewProgramUniform1i64vNV) +#define glProgramUniform1ui64NV GLEW_GET_FUN(__glewProgramUniform1ui64NV) +#define glProgramUniform1ui64vNV GLEW_GET_FUN(__glewProgramUniform1ui64vNV) +#define glProgramUniform2i64NV GLEW_GET_FUN(__glewProgramUniform2i64NV) +#define glProgramUniform2i64vNV GLEW_GET_FUN(__glewProgramUniform2i64vNV) +#define glProgramUniform2ui64NV GLEW_GET_FUN(__glewProgramUniform2ui64NV) +#define glProgramUniform2ui64vNV GLEW_GET_FUN(__glewProgramUniform2ui64vNV) +#define glProgramUniform3i64NV GLEW_GET_FUN(__glewProgramUniform3i64NV) +#define glProgramUniform3i64vNV GLEW_GET_FUN(__glewProgramUniform3i64vNV) +#define glProgramUniform3ui64NV GLEW_GET_FUN(__glewProgramUniform3ui64NV) +#define glProgramUniform3ui64vNV GLEW_GET_FUN(__glewProgramUniform3ui64vNV) +#define glProgramUniform4i64NV GLEW_GET_FUN(__glewProgramUniform4i64NV) +#define glProgramUniform4i64vNV GLEW_GET_FUN(__glewProgramUniform4i64vNV) +#define glProgramUniform4ui64NV GLEW_GET_FUN(__glewProgramUniform4ui64NV) +#define glProgramUniform4ui64vNV GLEW_GET_FUN(__glewProgramUniform4ui64vNV) +#define glUniform1i64NV GLEW_GET_FUN(__glewUniform1i64NV) +#define glUniform1i64vNV GLEW_GET_FUN(__glewUniform1i64vNV) +#define glUniform1ui64NV GLEW_GET_FUN(__glewUniform1ui64NV) +#define glUniform1ui64vNV GLEW_GET_FUN(__glewUniform1ui64vNV) +#define glUniform2i64NV GLEW_GET_FUN(__glewUniform2i64NV) +#define glUniform2i64vNV GLEW_GET_FUN(__glewUniform2i64vNV) +#define glUniform2ui64NV GLEW_GET_FUN(__glewUniform2ui64NV) +#define glUniform2ui64vNV GLEW_GET_FUN(__glewUniform2ui64vNV) +#define glUniform3i64NV GLEW_GET_FUN(__glewUniform3i64NV) +#define glUniform3i64vNV GLEW_GET_FUN(__glewUniform3i64vNV) +#define glUniform3ui64NV GLEW_GET_FUN(__glewUniform3ui64NV) +#define glUniform3ui64vNV GLEW_GET_FUN(__glewUniform3ui64vNV) +#define glUniform4i64NV GLEW_GET_FUN(__glewUniform4i64NV) +#define glUniform4i64vNV GLEW_GET_FUN(__glewUniform4i64vNV) +#define glUniform4ui64NV GLEW_GET_FUN(__glewUniform4ui64NV) +#define glUniform4ui64vNV GLEW_GET_FUN(__glewUniform4ui64vNV) + +#define GLEW_NV_gpu_shader5 GLEW_GET_VAR(__GLEW_NV_gpu_shader5) + +#endif /* GL_NV_gpu_shader5 */ + +/* ---------------------------- GL_NV_half_float --------------------------- */ + +#ifndef GL_NV_half_float +#define GL_NV_half_float 1 + +#define GL_HALF_FLOAT_NV 0x140B + +typedef unsigned short GLhalf; + +typedef void (GLAPIENTRY * PFNGLCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue); +typedef void (GLAPIENTRY * PFNGLCOLOR3HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLCOLOR4HNVPROC) (GLhalf red, GLhalf green, GLhalf blue, GLhalf alpha); +typedef void (GLAPIENTRY * PFNGLCOLOR4HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLFOGCOORDHNVPROC) (GLhalf fog); +typedef void (GLAPIENTRY * PFNGLFOGCOORDHVNVPROC) (const GLhalf* fog); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalf s); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalf s, GLhalf t); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r, GLhalf q); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLNORMAL3HNVPROC) (GLhalf nx, GLhalf ny, GLhalf nz); +typedef void (GLAPIENTRY * PFNGLNORMAL3HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD1HNVPROC) (GLhalf s); +typedef void (GLAPIENTRY * PFNGLTEXCOORD1HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2HNVPROC) (GLhalf s, GLhalf t); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD3HNVPROC) (GLhalf s, GLhalf t, GLhalf r); +typedef void (GLAPIENTRY * PFNGLTEXCOORD3HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD4HNVPROC) (GLhalf s, GLhalf t, GLhalf r, GLhalf q); +typedef void (GLAPIENTRY * PFNGLTEXCOORD4HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEX2HNVPROC) (GLhalf x, GLhalf y); +typedef void (GLAPIENTRY * PFNGLVERTEX2HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEX3HNVPROC) (GLhalf x, GLhalf y, GLhalf z); +typedef void (GLAPIENTRY * PFNGLVERTEX3HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEX4HNVPROC) (GLhalf x, GLhalf y, GLhalf z, GLhalf w); +typedef void (GLAPIENTRY * PFNGLVERTEX4HVNVPROC) (const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalf x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalf x, GLhalf y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z, GLhalf w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v); +typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHNVPROC) (GLhalf weight); +typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalf* weight); + +#define glColor3hNV GLEW_GET_FUN(__glewColor3hNV) +#define glColor3hvNV GLEW_GET_FUN(__glewColor3hvNV) +#define glColor4hNV GLEW_GET_FUN(__glewColor4hNV) +#define glColor4hvNV GLEW_GET_FUN(__glewColor4hvNV) +#define glFogCoordhNV GLEW_GET_FUN(__glewFogCoordhNV) +#define glFogCoordhvNV GLEW_GET_FUN(__glewFogCoordhvNV) +#define glMultiTexCoord1hNV GLEW_GET_FUN(__glewMultiTexCoord1hNV) +#define glMultiTexCoord1hvNV GLEW_GET_FUN(__glewMultiTexCoord1hvNV) +#define glMultiTexCoord2hNV GLEW_GET_FUN(__glewMultiTexCoord2hNV) +#define glMultiTexCoord2hvNV GLEW_GET_FUN(__glewMultiTexCoord2hvNV) +#define glMultiTexCoord3hNV GLEW_GET_FUN(__glewMultiTexCoord3hNV) +#define glMultiTexCoord3hvNV GLEW_GET_FUN(__glewMultiTexCoord3hvNV) +#define glMultiTexCoord4hNV GLEW_GET_FUN(__glewMultiTexCoord4hNV) +#define glMultiTexCoord4hvNV GLEW_GET_FUN(__glewMultiTexCoord4hvNV) +#define glNormal3hNV GLEW_GET_FUN(__glewNormal3hNV) +#define glNormal3hvNV GLEW_GET_FUN(__glewNormal3hvNV) +#define glSecondaryColor3hNV GLEW_GET_FUN(__glewSecondaryColor3hNV) +#define glSecondaryColor3hvNV GLEW_GET_FUN(__glewSecondaryColor3hvNV) +#define glTexCoord1hNV GLEW_GET_FUN(__glewTexCoord1hNV) +#define glTexCoord1hvNV GLEW_GET_FUN(__glewTexCoord1hvNV) +#define glTexCoord2hNV GLEW_GET_FUN(__glewTexCoord2hNV) +#define glTexCoord2hvNV GLEW_GET_FUN(__glewTexCoord2hvNV) +#define glTexCoord3hNV GLEW_GET_FUN(__glewTexCoord3hNV) +#define glTexCoord3hvNV GLEW_GET_FUN(__glewTexCoord3hvNV) +#define glTexCoord4hNV GLEW_GET_FUN(__glewTexCoord4hNV) +#define glTexCoord4hvNV GLEW_GET_FUN(__glewTexCoord4hvNV) +#define glVertex2hNV GLEW_GET_FUN(__glewVertex2hNV) +#define glVertex2hvNV GLEW_GET_FUN(__glewVertex2hvNV) +#define glVertex3hNV GLEW_GET_FUN(__glewVertex3hNV) +#define glVertex3hvNV GLEW_GET_FUN(__glewVertex3hvNV) +#define glVertex4hNV GLEW_GET_FUN(__glewVertex4hNV) +#define glVertex4hvNV GLEW_GET_FUN(__glewVertex4hvNV) +#define glVertexAttrib1hNV GLEW_GET_FUN(__glewVertexAttrib1hNV) +#define glVertexAttrib1hvNV GLEW_GET_FUN(__glewVertexAttrib1hvNV) +#define glVertexAttrib2hNV GLEW_GET_FUN(__glewVertexAttrib2hNV) +#define glVertexAttrib2hvNV GLEW_GET_FUN(__glewVertexAttrib2hvNV) +#define glVertexAttrib3hNV GLEW_GET_FUN(__glewVertexAttrib3hNV) +#define glVertexAttrib3hvNV GLEW_GET_FUN(__glewVertexAttrib3hvNV) +#define glVertexAttrib4hNV GLEW_GET_FUN(__glewVertexAttrib4hNV) +#define glVertexAttrib4hvNV GLEW_GET_FUN(__glewVertexAttrib4hvNV) +#define glVertexAttribs1hvNV GLEW_GET_FUN(__glewVertexAttribs1hvNV) +#define glVertexAttribs2hvNV GLEW_GET_FUN(__glewVertexAttribs2hvNV) +#define glVertexAttribs3hvNV GLEW_GET_FUN(__glewVertexAttribs3hvNV) +#define glVertexAttribs4hvNV GLEW_GET_FUN(__glewVertexAttribs4hvNV) +#define glVertexWeighthNV GLEW_GET_FUN(__glewVertexWeighthNV) +#define glVertexWeighthvNV GLEW_GET_FUN(__glewVertexWeighthvNV) + +#define GLEW_NV_half_float GLEW_GET_VAR(__GLEW_NV_half_float) + +#endif /* GL_NV_half_float */ + +/* ------------------- GL_NV_internalformat_sample_query ------------------- */ + +#ifndef GL_NV_internalformat_sample_query +#define GL_NV_internalformat_sample_query 1 + +#define GL_MULTISAMPLES_NV 0x9371 +#define GL_SUPERSAMPLE_SCALE_X_NV 0x9372 +#define GL_SUPERSAMPLE_SCALE_Y_NV 0x9373 +#define GL_CONFORMANT_NV 0x9374 + +typedef void (GLAPIENTRY * PFNGLGETINTERNALFORMATSAMPLEIVNVPROC) (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei bufSize, GLint* params); + +#define glGetInternalformatSampleivNV GLEW_GET_FUN(__glewGetInternalformatSampleivNV) + +#define GLEW_NV_internalformat_sample_query GLEW_GET_VAR(__GLEW_NV_internalformat_sample_query) + +#endif /* GL_NV_internalformat_sample_query */ + +/* ------------------------ GL_NV_light_max_exponent ----------------------- */ + +#ifndef GL_NV_light_max_exponent +#define GL_NV_light_max_exponent 1 + +#define GL_MAX_SHININESS_NV 0x8504 +#define GL_MAX_SPOT_EXPONENT_NV 0x8505 + +#define GLEW_NV_light_max_exponent GLEW_GET_VAR(__GLEW_NV_light_max_exponent) + +#endif /* GL_NV_light_max_exponent */ + +/* ----------------------- GL_NV_multisample_coverage ---------------------- */ + +#ifndef GL_NV_multisample_coverage +#define GL_NV_multisample_coverage 1 + +#define GL_COLOR_SAMPLES_NV 0x8E20 + +#define GLEW_NV_multisample_coverage GLEW_GET_VAR(__GLEW_NV_multisample_coverage) + +#endif /* GL_NV_multisample_coverage */ + +/* --------------------- GL_NV_multisample_filter_hint --------------------- */ + +#ifndef GL_NV_multisample_filter_hint +#define GL_NV_multisample_filter_hint 1 + +#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534 + +#define GLEW_NV_multisample_filter_hint GLEW_GET_VAR(__GLEW_NV_multisample_filter_hint) + +#endif /* GL_NV_multisample_filter_hint */ + +/* ------------------------- GL_NV_occlusion_query ------------------------- */ + +#ifndef GL_NV_occlusion_query +#define GL_NV_occlusion_query 1 + +#define GL_PIXEL_COUNTER_BITS_NV 0x8864 +#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865 +#define GL_PIXEL_COUNT_NV 0x8866 +#define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867 + +typedef void (GLAPIENTRY * PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLENDOCCLUSIONQUERYNVPROC) (void); +typedef void (GLAPIENTRY * PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id); + +#define glBeginOcclusionQueryNV GLEW_GET_FUN(__glewBeginOcclusionQueryNV) +#define glDeleteOcclusionQueriesNV GLEW_GET_FUN(__glewDeleteOcclusionQueriesNV) +#define glEndOcclusionQueryNV GLEW_GET_FUN(__glewEndOcclusionQueryNV) +#define glGenOcclusionQueriesNV GLEW_GET_FUN(__glewGenOcclusionQueriesNV) +#define glGetOcclusionQueryivNV GLEW_GET_FUN(__glewGetOcclusionQueryivNV) +#define glGetOcclusionQueryuivNV GLEW_GET_FUN(__glewGetOcclusionQueryuivNV) +#define glIsOcclusionQueryNV GLEW_GET_FUN(__glewIsOcclusionQueryNV) + +#define GLEW_NV_occlusion_query GLEW_GET_VAR(__GLEW_NV_occlusion_query) + +#endif /* GL_NV_occlusion_query */ + +/* ----------------------- GL_NV_packed_depth_stencil ---------------------- */ + +#ifndef GL_NV_packed_depth_stencil +#define GL_NV_packed_depth_stencil 1 + +#define GL_DEPTH_STENCIL_NV 0x84F9 +#define GL_UNSIGNED_INT_24_8_NV 0x84FA + +#define GLEW_NV_packed_depth_stencil GLEW_GET_VAR(__GLEW_NV_packed_depth_stencil) + +#endif /* GL_NV_packed_depth_stencil */ + +/* --------------------- GL_NV_parameter_buffer_object --------------------- */ + +#ifndef GL_NV_parameter_buffer_object +#define GL_NV_parameter_buffer_object 1 + +#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0 +#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1 +#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2 +#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3 +#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4 + +typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params); +typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params); + +#define glProgramBufferParametersIivNV GLEW_GET_FUN(__glewProgramBufferParametersIivNV) +#define glProgramBufferParametersIuivNV GLEW_GET_FUN(__glewProgramBufferParametersIuivNV) +#define glProgramBufferParametersfvNV GLEW_GET_FUN(__glewProgramBufferParametersfvNV) + +#define GLEW_NV_parameter_buffer_object GLEW_GET_VAR(__GLEW_NV_parameter_buffer_object) + +#endif /* GL_NV_parameter_buffer_object */ + +/* --------------------- GL_NV_parameter_buffer_object2 -------------------- */ + +#ifndef GL_NV_parameter_buffer_object2 +#define GL_NV_parameter_buffer_object2 1 + +#define GLEW_NV_parameter_buffer_object2 GLEW_GET_VAR(__GLEW_NV_parameter_buffer_object2) + +#endif /* GL_NV_parameter_buffer_object2 */ + +/* -------------------------- GL_NV_path_rendering ------------------------- */ + +#ifndef GL_NV_path_rendering +#define GL_NV_path_rendering 1 + +#define GL_CLOSE_PATH_NV 0x00 +#define GL_BOLD_BIT_NV 0x01 +#define GL_GLYPH_WIDTH_BIT_NV 0x01 +#define GL_GLYPH_HEIGHT_BIT_NV 0x02 +#define GL_ITALIC_BIT_NV 0x02 +#define GL_MOVE_TO_NV 0x02 +#define GL_RELATIVE_MOVE_TO_NV 0x03 +#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV 0x04 +#define GL_LINE_TO_NV 0x04 +#define GL_RELATIVE_LINE_TO_NV 0x05 +#define GL_HORIZONTAL_LINE_TO_NV 0x06 +#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV 0x07 +#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV 0x08 +#define GL_VERTICAL_LINE_TO_NV 0x08 +#define GL_RELATIVE_VERTICAL_LINE_TO_NV 0x09 +#define GL_QUADRATIC_CURVE_TO_NV 0x0A +#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV 0x0B +#define GL_CUBIC_CURVE_TO_NV 0x0C +#define GL_RELATIVE_CUBIC_CURVE_TO_NV 0x0D +#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0E +#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0F +#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10 +#define GL_SMOOTH_CUBIC_CURVE_TO_NV 0x10 +#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV 0x11 +#define GL_SMALL_CCW_ARC_TO_NV 0x12 +#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV 0x13 +#define GL_SMALL_CW_ARC_TO_NV 0x14 +#define GL_RELATIVE_SMALL_CW_ARC_TO_NV 0x15 +#define GL_LARGE_CCW_ARC_TO_NV 0x16 +#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV 0x17 +#define GL_LARGE_CW_ARC_TO_NV 0x18 +#define GL_RELATIVE_LARGE_CW_ARC_TO_NV 0x19 +#define GL_CONIC_CURVE_TO_NV 0x1A +#define GL_RELATIVE_CONIC_CURVE_TO_NV 0x1B +#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV 0x20 +#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV 0x40 +#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV 0x80 +#define GL_ROUNDED_RECT_NV 0xE8 +#define GL_RELATIVE_ROUNDED_RECT_NV 0xE9 +#define GL_ROUNDED_RECT2_NV 0xEA +#define GL_RELATIVE_ROUNDED_RECT2_NV 0xEB +#define GL_ROUNDED_RECT4_NV 0xEC +#define GL_RELATIVE_ROUNDED_RECT4_NV 0xED +#define GL_ROUNDED_RECT8_NV 0xEE +#define GL_RELATIVE_ROUNDED_RECT8_NV 0xEF +#define GL_RESTART_PATH_NV 0xF0 +#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV 0xF2 +#define GL_DUP_LAST_CUBIC_CURVE_TO_NV 0xF4 +#define GL_RECT_NV 0xF6 +#define GL_RELATIVE_RECT_NV 0xF7 +#define GL_CIRCULAR_CCW_ARC_TO_NV 0xF8 +#define GL_CIRCULAR_CW_ARC_TO_NV 0xFA +#define GL_CIRCULAR_TANGENT_ARC_TO_NV 0xFC +#define GL_ARC_TO_NV 0xFE +#define GL_RELATIVE_ARC_TO_NV 0xFF +#define GL_GLYPH_HAS_KERNING_BIT_NV 0x100 +#define GL_PRIMARY_COLOR_NV 0x852C +#define GL_SECONDARY_COLOR_NV 0x852D +#define GL_PRIMARY_COLOR 0x8577 +#define GL_PATH_FORMAT_SVG_NV 0x9070 +#define GL_PATH_FORMAT_PS_NV 0x9071 +#define GL_STANDARD_FONT_NAME_NV 0x9072 +#define GL_SYSTEM_FONT_NAME_NV 0x9073 +#define GL_FILE_NAME_NV 0x9074 +#define GL_PATH_STROKE_WIDTH_NV 0x9075 +#define GL_PATH_END_CAPS_NV 0x9076 +#define GL_PATH_INITIAL_END_CAP_NV 0x9077 +#define GL_PATH_TERMINAL_END_CAP_NV 0x9078 +#define GL_PATH_JOIN_STYLE_NV 0x9079 +#define GL_PATH_MITER_LIMIT_NV 0x907A +#define GL_PATH_DASH_CAPS_NV 0x907B +#define GL_PATH_INITIAL_DASH_CAP_NV 0x907C +#define GL_PATH_TERMINAL_DASH_CAP_NV 0x907D +#define GL_PATH_DASH_OFFSET_NV 0x907E +#define GL_PATH_CLIENT_LENGTH_NV 0x907F +#define GL_PATH_FILL_MODE_NV 0x9080 +#define GL_PATH_FILL_MASK_NV 0x9081 +#define GL_PATH_FILL_COVER_MODE_NV 0x9082 +#define GL_PATH_STROKE_COVER_MODE_NV 0x9083 +#define GL_PATH_STROKE_MASK_NV 0x9084 +#define GL_PATH_STROKE_BOUND_NV 0x9086 +#define GL_COUNT_UP_NV 0x9088 +#define GL_COUNT_DOWN_NV 0x9089 +#define GL_PATH_OBJECT_BOUNDING_BOX_NV 0x908A +#define GL_CONVEX_HULL_NV 0x908B +#define GL_BOUNDING_BOX_NV 0x908D +#define GL_TRANSLATE_X_NV 0x908E +#define GL_TRANSLATE_Y_NV 0x908F +#define GL_TRANSLATE_2D_NV 0x9090 +#define GL_TRANSLATE_3D_NV 0x9091 +#define GL_AFFINE_2D_NV 0x9092 +#define GL_AFFINE_3D_NV 0x9094 +#define GL_TRANSPOSE_AFFINE_2D_NV 0x9096 +#define GL_TRANSPOSE_AFFINE_3D_NV 0x9098 +#define GL_UTF8_NV 0x909A +#define GL_UTF16_NV 0x909B +#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV 0x909C +#define GL_PATH_COMMAND_COUNT_NV 0x909D +#define GL_PATH_COORD_COUNT_NV 0x909E +#define GL_PATH_DASH_ARRAY_COUNT_NV 0x909F +#define GL_PATH_COMPUTED_LENGTH_NV 0x90A0 +#define GL_PATH_FILL_BOUNDING_BOX_NV 0x90A1 +#define GL_PATH_STROKE_BOUNDING_BOX_NV 0x90A2 +#define GL_SQUARE_NV 0x90A3 +#define GL_ROUND_NV 0x90A4 +#define GL_TRIANGULAR_NV 0x90A5 +#define GL_BEVEL_NV 0x90A6 +#define GL_MITER_REVERT_NV 0x90A7 +#define GL_MITER_TRUNCATE_NV 0x90A8 +#define GL_SKIP_MISSING_GLYPH_NV 0x90A9 +#define GL_USE_MISSING_GLYPH_NV 0x90AA +#define GL_PATH_ERROR_POSITION_NV 0x90AB +#define GL_PATH_FOG_GEN_MODE_NV 0x90AC +#define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD +#define GL_ADJACENT_PAIRS_NV 0x90AE +#define GL_FIRST_TO_REST_NV 0x90AF +#define GL_PATH_GEN_MODE_NV 0x90B0 +#define GL_PATH_GEN_COEFF_NV 0x90B1 +#define GL_PATH_GEN_COLOR_FORMAT_NV 0x90B2 +#define GL_PATH_GEN_COMPONENTS_NV 0x90B3 +#define GL_PATH_DASH_OFFSET_RESET_NV 0x90B4 +#define GL_MOVE_TO_RESETS_NV 0x90B5 +#define GL_MOVE_TO_CONTINUES_NV 0x90B6 +#define GL_PATH_STENCIL_FUNC_NV 0x90B7 +#define GL_PATH_STENCIL_REF_NV 0x90B8 +#define GL_PATH_STENCIL_VALUE_MASK_NV 0x90B9 +#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV 0x90BD +#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV 0x90BE +#define GL_PATH_COVER_DEPTH_FUNC_NV 0x90BF +#define GL_FONT_GLYPHS_AVAILABLE_NV 0x9368 +#define GL_FONT_TARGET_UNAVAILABLE_NV 0x9369 +#define GL_FONT_UNAVAILABLE_NV 0x936A +#define GL_FONT_UNINTELLIGIBLE_NV 0x936B +#define GL_STANDARD_FONT_FORMAT_NV 0x936C +#define GL_FRAGMENT_INPUT_NV 0x936D +#define GL_FONT_X_MIN_BOUNDS_BIT_NV 0x00010000 +#define GL_FONT_Y_MIN_BOUNDS_BIT_NV 0x00020000 +#define GL_FONT_X_MAX_BOUNDS_BIT_NV 0x00040000 +#define GL_FONT_Y_MAX_BOUNDS_BIT_NV 0x00080000 +#define GL_FONT_UNITS_PER_EM_BIT_NV 0x00100000 +#define GL_FONT_ASCENDER_BIT_NV 0x00200000 +#define GL_FONT_DESCENDER_BIT_NV 0x00400000 +#define GL_FONT_HEIGHT_BIT_NV 0x00800000 +#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV 0x01000000 +#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV 0x02000000 +#define GL_FONT_UNDERLINE_POSITION_BIT_NV 0x04000000 +#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV 0x08000000 +#define GL_FONT_HAS_KERNING_BIT_NV 0x10000000 +#define GL_FONT_NUM_GLYPH_INDICES_BIT_NV 0x20000000 + +typedef void (GLAPIENTRY * PFNGLCOPYPATHNVPROC) (GLuint resultPath, GLuint srcPath); +typedef void (GLAPIENTRY * PFNGLCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLCOVERFILLPATHNVPROC) (GLuint path, GLenum coverMode); +typedef void (GLAPIENTRY * PFNGLCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLCOVERSTROKEPATHNVPROC) (GLuint path, GLenum coverMode); +typedef void (GLAPIENTRY * PFNGLDELETEPATHSNVPROC) (GLuint path, GLsizei range); +typedef GLuint (GLAPIENTRY * PFNGLGENPATHSNVPROC) (GLsizei range); +typedef void (GLAPIENTRY * PFNGLGETPATHCOLORGENFVNVPROC) (GLenum color, GLenum pname, GLfloat* value); +typedef void (GLAPIENTRY * PFNGLGETPATHCOLORGENIVNVPROC) (GLenum color, GLenum pname, GLint* value); +typedef void (GLAPIENTRY * PFNGLGETPATHCOMMANDSNVPROC) (GLuint path, GLubyte* commands); +typedef void (GLAPIENTRY * PFNGLGETPATHCOORDSNVPROC) (GLuint path, GLfloat* coords); +typedef void (GLAPIENTRY * PFNGLGETPATHDASHARRAYNVPROC) (GLuint path, GLfloat* dashArray); +typedef GLfloat (GLAPIENTRY * PFNGLGETPATHLENGTHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments); +typedef void (GLAPIENTRY * PFNGLGETPATHMETRICRANGENVPROC) (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat* metrics); +typedef void (GLAPIENTRY * PFNGLGETPATHMETRICSNVPROC) (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics); +typedef void (GLAPIENTRY * PFNGLGETPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, GLfloat* value); +typedef void (GLAPIENTRY * PFNGLGETPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, GLint* value); +typedef void (GLAPIENTRY * PFNGLGETPATHSPACINGNVPROC) (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing); +typedef void (GLAPIENTRY * PFNGLGETPATHTEXGENFVNVPROC) (GLenum texCoordSet, GLenum pname, GLfloat* value); +typedef void (GLAPIENTRY * PFNGLGETPATHTEXGENIVNVPROC) (GLenum texCoordSet, GLenum pname, GLint* value); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMRESOURCEFVNVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum* props, GLsizei bufSize, GLsizei *length, GLfloat *params); +typedef void (GLAPIENTRY * PFNGLINTERPOLATEPATHSNVPROC) (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight); +typedef GLboolean (GLAPIENTRY * PFNGLISPATHNVPROC) (GLuint path); +typedef GLboolean (GLAPIENTRY * PFNGLISPOINTINFILLPATHNVPROC) (GLuint path, GLuint mask, GLfloat x, GLfloat y); +typedef GLboolean (GLAPIENTRY * PFNGLISPOINTINSTROKEPATHNVPROC) (GLuint path, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLMATRIXLOAD3X2FNVPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXLOAD3X3FNVPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULT3X2FNVPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULT3X3FNVPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat* m); +typedef void (GLAPIENTRY * PFNGLPATHCOLORGENNVPROC) (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat* coeffs); +typedef void (GLAPIENTRY * PFNGLPATHCOMMANDSNVPROC) (GLuint path, GLsizei numCommands, const GLubyte* commands, GLsizei numCoords, GLenum coordType, const void*coords); +typedef void (GLAPIENTRY * PFNGLPATHCOORDSNVPROC) (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords); +typedef void (GLAPIENTRY * PFNGLPATHCOVERDEPTHFUNCNVPROC) (GLenum zfunc); +typedef void (GLAPIENTRY * PFNGLPATHDASHARRAYNVPROC) (GLuint path, GLsizei dashCount, const GLfloat* dashArray); +typedef void (GLAPIENTRY * PFNGLPATHFOGGENNVPROC) (GLenum genMode); +typedef GLenum (GLAPIENTRY * PFNGLPATHGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef GLenum (GLAPIENTRY * PFNGLPATHGLYPHINDEXRANGENVPROC) (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint baseAndCount[2]); +typedef void (GLAPIENTRY * PFNGLPATHGLYPHRANGENVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef void (GLAPIENTRY * PFNGLPATHGLYPHSNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void*charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef GLenum (GLAPIENTRY * PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef void (GLAPIENTRY * PFNGLPATHPARAMETERFNVPROC) (GLuint path, GLenum pname, GLfloat value); +typedef void (GLAPIENTRY * PFNGLPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, const GLfloat* value); +typedef void (GLAPIENTRY * PFNGLPATHPARAMETERINVPROC) (GLuint path, GLenum pname, GLint value); +typedef void (GLAPIENTRY * PFNGLPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, const GLint* value); +typedef void (GLAPIENTRY * PFNGLPATHSTENCILDEPTHOFFSETNVPROC) (GLfloat factor, GLfloat units); +typedef void (GLAPIENTRY * PFNGLPATHSTENCILFUNCNVPROC) (GLenum func, GLint ref, GLuint mask); +typedef void (GLAPIENTRY * PFNGLPATHSTRINGNVPROC) (GLuint path, GLenum format, GLsizei length, const void *pathString); +typedef void (GLAPIENTRY * PFNGLPATHSUBCOMMANDSNVPROC) (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte* commands, GLsizei numCoords, GLenum coordType, const void*coords); +typedef void (GLAPIENTRY * PFNGLPATHSUBCOORDSNVPROC) (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords); +typedef void (GLAPIENTRY * PFNGLPATHTEXGENNVPROC) (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat* coeffs); +typedef GLboolean (GLAPIENTRY * PFNGLPOINTALONGPATHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat* x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY); +typedef void (GLAPIENTRY * PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC) (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat* coeffs); +typedef void (GLAPIENTRY * PFNGLSTENCILFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLSTENCILFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask); +typedef void (GLAPIENTRY * PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLSTENCILSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask); +typedef void (GLAPIENTRY * PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLSTENCILTHENCOVERFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); +typedef void (GLAPIENTRY * PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (GLAPIENTRY * PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask, GLenum coverMode); +typedef void (GLAPIENTRY * PFNGLTRANSFORMPATHNVPROC) (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat* transformValues); +typedef void (GLAPIENTRY * PFNGLWEIGHTPATHSNVPROC) (GLuint resultPath, GLsizei numPaths, const GLuint paths[], const GLfloat weights[]); + +#define glCopyPathNV GLEW_GET_FUN(__glewCopyPathNV) +#define glCoverFillPathInstancedNV GLEW_GET_FUN(__glewCoverFillPathInstancedNV) +#define glCoverFillPathNV GLEW_GET_FUN(__glewCoverFillPathNV) +#define glCoverStrokePathInstancedNV GLEW_GET_FUN(__glewCoverStrokePathInstancedNV) +#define glCoverStrokePathNV GLEW_GET_FUN(__glewCoverStrokePathNV) +#define glDeletePathsNV GLEW_GET_FUN(__glewDeletePathsNV) +#define glGenPathsNV GLEW_GET_FUN(__glewGenPathsNV) +#define glGetPathColorGenfvNV GLEW_GET_FUN(__glewGetPathColorGenfvNV) +#define glGetPathColorGenivNV GLEW_GET_FUN(__glewGetPathColorGenivNV) +#define glGetPathCommandsNV GLEW_GET_FUN(__glewGetPathCommandsNV) +#define glGetPathCoordsNV GLEW_GET_FUN(__glewGetPathCoordsNV) +#define glGetPathDashArrayNV GLEW_GET_FUN(__glewGetPathDashArrayNV) +#define glGetPathLengthNV GLEW_GET_FUN(__glewGetPathLengthNV) +#define glGetPathMetricRangeNV GLEW_GET_FUN(__glewGetPathMetricRangeNV) +#define glGetPathMetricsNV GLEW_GET_FUN(__glewGetPathMetricsNV) +#define glGetPathParameterfvNV GLEW_GET_FUN(__glewGetPathParameterfvNV) +#define glGetPathParameterivNV GLEW_GET_FUN(__glewGetPathParameterivNV) +#define glGetPathSpacingNV GLEW_GET_FUN(__glewGetPathSpacingNV) +#define glGetPathTexGenfvNV GLEW_GET_FUN(__glewGetPathTexGenfvNV) +#define glGetPathTexGenivNV GLEW_GET_FUN(__glewGetPathTexGenivNV) +#define glGetProgramResourcefvNV GLEW_GET_FUN(__glewGetProgramResourcefvNV) +#define glInterpolatePathsNV GLEW_GET_FUN(__glewInterpolatePathsNV) +#define glIsPathNV GLEW_GET_FUN(__glewIsPathNV) +#define glIsPointInFillPathNV GLEW_GET_FUN(__glewIsPointInFillPathNV) +#define glIsPointInStrokePathNV GLEW_GET_FUN(__glewIsPointInStrokePathNV) +#define glMatrixLoad3x2fNV GLEW_GET_FUN(__glewMatrixLoad3x2fNV) +#define glMatrixLoad3x3fNV GLEW_GET_FUN(__glewMatrixLoad3x3fNV) +#define glMatrixLoadTranspose3x3fNV GLEW_GET_FUN(__glewMatrixLoadTranspose3x3fNV) +#define glMatrixMult3x2fNV GLEW_GET_FUN(__glewMatrixMult3x2fNV) +#define glMatrixMult3x3fNV GLEW_GET_FUN(__glewMatrixMult3x3fNV) +#define glMatrixMultTranspose3x3fNV GLEW_GET_FUN(__glewMatrixMultTranspose3x3fNV) +#define glPathColorGenNV GLEW_GET_FUN(__glewPathColorGenNV) +#define glPathCommandsNV GLEW_GET_FUN(__glewPathCommandsNV) +#define glPathCoordsNV GLEW_GET_FUN(__glewPathCoordsNV) +#define glPathCoverDepthFuncNV GLEW_GET_FUN(__glewPathCoverDepthFuncNV) +#define glPathDashArrayNV GLEW_GET_FUN(__glewPathDashArrayNV) +#define glPathFogGenNV GLEW_GET_FUN(__glewPathFogGenNV) +#define glPathGlyphIndexArrayNV GLEW_GET_FUN(__glewPathGlyphIndexArrayNV) +#define glPathGlyphIndexRangeNV GLEW_GET_FUN(__glewPathGlyphIndexRangeNV) +#define glPathGlyphRangeNV GLEW_GET_FUN(__glewPathGlyphRangeNV) +#define glPathGlyphsNV GLEW_GET_FUN(__glewPathGlyphsNV) +#define glPathMemoryGlyphIndexArrayNV GLEW_GET_FUN(__glewPathMemoryGlyphIndexArrayNV) +#define glPathParameterfNV GLEW_GET_FUN(__glewPathParameterfNV) +#define glPathParameterfvNV GLEW_GET_FUN(__glewPathParameterfvNV) +#define glPathParameteriNV GLEW_GET_FUN(__glewPathParameteriNV) +#define glPathParameterivNV GLEW_GET_FUN(__glewPathParameterivNV) +#define glPathStencilDepthOffsetNV GLEW_GET_FUN(__glewPathStencilDepthOffsetNV) +#define glPathStencilFuncNV GLEW_GET_FUN(__glewPathStencilFuncNV) +#define glPathStringNV GLEW_GET_FUN(__glewPathStringNV) +#define glPathSubCommandsNV GLEW_GET_FUN(__glewPathSubCommandsNV) +#define glPathSubCoordsNV GLEW_GET_FUN(__glewPathSubCoordsNV) +#define glPathTexGenNV GLEW_GET_FUN(__glewPathTexGenNV) +#define glPointAlongPathNV GLEW_GET_FUN(__glewPointAlongPathNV) +#define glProgramPathFragmentInputGenNV GLEW_GET_FUN(__glewProgramPathFragmentInputGenNV) +#define glStencilFillPathInstancedNV GLEW_GET_FUN(__glewStencilFillPathInstancedNV) +#define glStencilFillPathNV GLEW_GET_FUN(__glewStencilFillPathNV) +#define glStencilStrokePathInstancedNV GLEW_GET_FUN(__glewStencilStrokePathInstancedNV) +#define glStencilStrokePathNV GLEW_GET_FUN(__glewStencilStrokePathNV) +#define glStencilThenCoverFillPathInstancedNV GLEW_GET_FUN(__glewStencilThenCoverFillPathInstancedNV) +#define glStencilThenCoverFillPathNV GLEW_GET_FUN(__glewStencilThenCoverFillPathNV) +#define glStencilThenCoverStrokePathInstancedNV GLEW_GET_FUN(__glewStencilThenCoverStrokePathInstancedNV) +#define glStencilThenCoverStrokePathNV GLEW_GET_FUN(__glewStencilThenCoverStrokePathNV) +#define glTransformPathNV GLEW_GET_FUN(__glewTransformPathNV) +#define glWeightPathsNV GLEW_GET_FUN(__glewWeightPathsNV) + +#define GLEW_NV_path_rendering GLEW_GET_VAR(__GLEW_NV_path_rendering) + +#endif /* GL_NV_path_rendering */ + +/* -------------------- GL_NV_path_rendering_shared_edge ------------------- */ + +#ifndef GL_NV_path_rendering_shared_edge +#define GL_NV_path_rendering_shared_edge 1 + +#define GL_SHARED_EDGE_NV 0xC0 + +#define GLEW_NV_path_rendering_shared_edge GLEW_GET_VAR(__GLEW_NV_path_rendering_shared_edge) + +#endif /* GL_NV_path_rendering_shared_edge */ + +/* ------------------------- GL_NV_pixel_data_range ------------------------ */ + +#ifndef GL_NV_pixel_data_range +#define GL_NV_pixel_data_range 1 + +#define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878 +#define GL_READ_PIXEL_DATA_RANGE_NV 0x8879 +#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A +#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B +#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C +#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D + +typedef void (GLAPIENTRY * PFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei length, void *pointer); + +#define glFlushPixelDataRangeNV GLEW_GET_FUN(__glewFlushPixelDataRangeNV) +#define glPixelDataRangeNV GLEW_GET_FUN(__glewPixelDataRangeNV) + +#define GLEW_NV_pixel_data_range GLEW_GET_VAR(__GLEW_NV_pixel_data_range) + +#endif /* GL_NV_pixel_data_range */ + +/* --------------------------- GL_NV_point_sprite -------------------------- */ + +#ifndef GL_NV_point_sprite +#define GL_NV_point_sprite 1 + +#define GL_POINT_SPRITE_NV 0x8861 +#define GL_COORD_REPLACE_NV 0x8862 +#define GL_POINT_SPRITE_R_MODE_NV 0x8863 + +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint* params); + +#define glPointParameteriNV GLEW_GET_FUN(__glewPointParameteriNV) +#define glPointParameterivNV GLEW_GET_FUN(__glewPointParameterivNV) + +#define GLEW_NV_point_sprite GLEW_GET_VAR(__GLEW_NV_point_sprite) + +#endif /* GL_NV_point_sprite */ + +/* -------------------------- GL_NV_present_video -------------------------- */ + +#ifndef GL_NV_present_video +#define GL_NV_present_video 1 + +#define GL_FRAME_NV 0x8E26 +#define GL_FIELDS_NV 0x8E27 +#define GL_CURRENT_TIME_NV 0x8E28 +#define GL_NUM_FILL_STREAMS_NV 0x8E29 +#define GL_PRESENT_TIME_NV 0x8E2A +#define GL_PRESENT_DURATION_NV 0x8E2B + +typedef void (GLAPIENTRY * PFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint* params); +typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3); +typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1); + +#define glGetVideoi64vNV GLEW_GET_FUN(__glewGetVideoi64vNV) +#define glGetVideoivNV GLEW_GET_FUN(__glewGetVideoivNV) +#define glGetVideoui64vNV GLEW_GET_FUN(__glewGetVideoui64vNV) +#define glGetVideouivNV GLEW_GET_FUN(__glewGetVideouivNV) +#define glPresentFrameDualFillNV GLEW_GET_FUN(__glewPresentFrameDualFillNV) +#define glPresentFrameKeyedNV GLEW_GET_FUN(__glewPresentFrameKeyedNV) + +#define GLEW_NV_present_video GLEW_GET_VAR(__GLEW_NV_present_video) + +#endif /* GL_NV_present_video */ + +/* ------------------------ GL_NV_primitive_restart ------------------------ */ + +#ifndef GL_NV_primitive_restart +#define GL_NV_primitive_restart 1 + +#define GL_PRIMITIVE_RESTART_NV 0x8558 +#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559 + +typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index); +typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTNVPROC) (void); + +#define glPrimitiveRestartIndexNV GLEW_GET_FUN(__glewPrimitiveRestartIndexNV) +#define glPrimitiveRestartNV GLEW_GET_FUN(__glewPrimitiveRestartNV) + +#define GLEW_NV_primitive_restart GLEW_GET_VAR(__GLEW_NV_primitive_restart) + +#endif /* GL_NV_primitive_restart */ + +/* ------------------------ GL_NV_register_combiners ----------------------- */ + +#ifndef GL_NV_register_combiners +#define GL_NV_register_combiners 1 + +#define GL_REGISTER_COMBINERS_NV 0x8522 +#define GL_VARIABLE_A_NV 0x8523 +#define GL_VARIABLE_B_NV 0x8524 +#define GL_VARIABLE_C_NV 0x8525 +#define GL_VARIABLE_D_NV 0x8526 +#define GL_VARIABLE_E_NV 0x8527 +#define GL_VARIABLE_F_NV 0x8528 +#define GL_VARIABLE_G_NV 0x8529 +#define GL_CONSTANT_COLOR0_NV 0x852A +#define GL_CONSTANT_COLOR1_NV 0x852B +#define GL_PRIMARY_COLOR_NV 0x852C +#define GL_SECONDARY_COLOR_NV 0x852D +#define GL_SPARE0_NV 0x852E +#define GL_SPARE1_NV 0x852F +#define GL_DISCARD_NV 0x8530 +#define GL_E_TIMES_F_NV 0x8531 +#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532 +#define GL_UNSIGNED_IDENTITY_NV 0x8536 +#define GL_UNSIGNED_INVERT_NV 0x8537 +#define GL_EXPAND_NORMAL_NV 0x8538 +#define GL_EXPAND_NEGATE_NV 0x8539 +#define GL_HALF_BIAS_NORMAL_NV 0x853A +#define GL_HALF_BIAS_NEGATE_NV 0x853B +#define GL_SIGNED_IDENTITY_NV 0x853C +#define GL_SIGNED_NEGATE_NV 0x853D +#define GL_SCALE_BY_TWO_NV 0x853E +#define GL_SCALE_BY_FOUR_NV 0x853F +#define GL_SCALE_BY_ONE_HALF_NV 0x8540 +#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541 +#define GL_COMBINER_INPUT_NV 0x8542 +#define GL_COMBINER_MAPPING_NV 0x8543 +#define GL_COMBINER_COMPONENT_USAGE_NV 0x8544 +#define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545 +#define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546 +#define GL_COMBINER_MUX_SUM_NV 0x8547 +#define GL_COMBINER_SCALE_NV 0x8548 +#define GL_COMBINER_BIAS_NV 0x8549 +#define GL_COMBINER_AB_OUTPUT_NV 0x854A +#define GL_COMBINER_CD_OUTPUT_NV 0x854B +#define GL_COMBINER_SUM_OUTPUT_NV 0x854C +#define GL_MAX_GENERAL_COMBINERS_NV 0x854D +#define GL_NUM_GENERAL_COMBINERS_NV 0x854E +#define GL_COLOR_SUM_CLAMP_NV 0x854F +#define GL_COMBINER0_NV 0x8550 +#define GL_COMBINER1_NV 0x8551 +#define GL_COMBINER2_NV 0x8552 +#define GL_COMBINER3_NV 0x8553 +#define GL_COMBINER4_NV 0x8554 +#define GL_COMBINER5_NV 0x8555 +#define GL_COMBINER6_NV 0x8556 +#define GL_COMBINER7_NV 0x8557 + +typedef void (GLAPIENTRY * PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); +typedef void (GLAPIENTRY * PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); +typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); +typedef void (GLAPIENTRY * PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint* params); + +#define glCombinerInputNV GLEW_GET_FUN(__glewCombinerInputNV) +#define glCombinerOutputNV GLEW_GET_FUN(__glewCombinerOutputNV) +#define glCombinerParameterfNV GLEW_GET_FUN(__glewCombinerParameterfNV) +#define glCombinerParameterfvNV GLEW_GET_FUN(__glewCombinerParameterfvNV) +#define glCombinerParameteriNV GLEW_GET_FUN(__glewCombinerParameteriNV) +#define glCombinerParameterivNV GLEW_GET_FUN(__glewCombinerParameterivNV) +#define glFinalCombinerInputNV GLEW_GET_FUN(__glewFinalCombinerInputNV) +#define glGetCombinerInputParameterfvNV GLEW_GET_FUN(__glewGetCombinerInputParameterfvNV) +#define glGetCombinerInputParameterivNV GLEW_GET_FUN(__glewGetCombinerInputParameterivNV) +#define glGetCombinerOutputParameterfvNV GLEW_GET_FUN(__glewGetCombinerOutputParameterfvNV) +#define glGetCombinerOutputParameterivNV GLEW_GET_FUN(__glewGetCombinerOutputParameterivNV) +#define glGetFinalCombinerInputParameterfvNV GLEW_GET_FUN(__glewGetFinalCombinerInputParameterfvNV) +#define glGetFinalCombinerInputParameterivNV GLEW_GET_FUN(__glewGetFinalCombinerInputParameterivNV) + +#define GLEW_NV_register_combiners GLEW_GET_VAR(__GLEW_NV_register_combiners) + +#endif /* GL_NV_register_combiners */ + +/* ----------------------- GL_NV_register_combiners2 ----------------------- */ + +#ifndef GL_NV_register_combiners2 +#define GL_NV_register_combiners2 1 + +#define GL_PER_STAGE_CONSTANTS_NV 0x8535 + +typedef void (GLAPIENTRY * PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat* params); + +#define glCombinerStageParameterfvNV GLEW_GET_FUN(__glewCombinerStageParameterfvNV) +#define glGetCombinerStageParameterfvNV GLEW_GET_FUN(__glewGetCombinerStageParameterfvNV) + +#define GLEW_NV_register_combiners2 GLEW_GET_VAR(__GLEW_NV_register_combiners2) + +#endif /* GL_NV_register_combiners2 */ + +/* ------------------------- GL_NV_sample_locations ------------------------ */ + +#ifndef GL_NV_sample_locations +#define GL_NV_sample_locations 1 + +#define GL_SAMPLE_LOCATION_NV 0x8E50 +#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV 0x933D +#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV 0x933E +#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV 0x933F +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV 0x9340 +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_NV 0x9341 +#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV 0x9342 +#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV 0x9343 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat* v); + +#define glFramebufferSampleLocationsfvNV GLEW_GET_FUN(__glewFramebufferSampleLocationsfvNV) +#define glNamedFramebufferSampleLocationsfvNV GLEW_GET_FUN(__glewNamedFramebufferSampleLocationsfvNV) + +#define GLEW_NV_sample_locations GLEW_GET_VAR(__GLEW_NV_sample_locations) + +#endif /* GL_NV_sample_locations */ + +/* ------------------ GL_NV_sample_mask_override_coverage ------------------ */ + +#ifndef GL_NV_sample_mask_override_coverage +#define GL_NV_sample_mask_override_coverage 1 + +#define GLEW_NV_sample_mask_override_coverage GLEW_GET_VAR(__GLEW_NV_sample_mask_override_coverage) + +#endif /* GL_NV_sample_mask_override_coverage */ + +/* ---------------------- GL_NV_shader_atomic_counters --------------------- */ + +#ifndef GL_NV_shader_atomic_counters +#define GL_NV_shader_atomic_counters 1 + +#define GLEW_NV_shader_atomic_counters GLEW_GET_VAR(__GLEW_NV_shader_atomic_counters) + +#endif /* GL_NV_shader_atomic_counters */ + +/* ----------------------- GL_NV_shader_atomic_float ----------------------- */ + +#ifndef GL_NV_shader_atomic_float +#define GL_NV_shader_atomic_float 1 + +#define GLEW_NV_shader_atomic_float GLEW_GET_VAR(__GLEW_NV_shader_atomic_float) + +#endif /* GL_NV_shader_atomic_float */ + +/* -------------------- GL_NV_shader_atomic_fp16_vector -------------------- */ + +#ifndef GL_NV_shader_atomic_fp16_vector +#define GL_NV_shader_atomic_fp16_vector 1 + +#define GLEW_NV_shader_atomic_fp16_vector GLEW_GET_VAR(__GLEW_NV_shader_atomic_fp16_vector) + +#endif /* GL_NV_shader_atomic_fp16_vector */ + +/* ----------------------- GL_NV_shader_atomic_int64 ----------------------- */ + +#ifndef GL_NV_shader_atomic_int64 +#define GL_NV_shader_atomic_int64 1 + +#define GLEW_NV_shader_atomic_int64 GLEW_GET_VAR(__GLEW_NV_shader_atomic_int64) + +#endif /* GL_NV_shader_atomic_int64 */ + +/* ------------------------ GL_NV_shader_buffer_load ----------------------- */ + +#ifndef GL_NV_shader_buffer_load +#define GL_NV_shader_buffer_load 1 + +#define GL_BUFFER_GPU_ADDRESS_NV 0x8F1D +#define GL_GPU_ADDRESS_NV 0x8F34 +#define GL_MAX_SHADER_BUFFER_ADDRESS_NV 0x8F35 + +typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERUI64VNVPROC) (GLenum target, GLenum pname, GLuint64EXT* params); +typedef void (GLAPIENTRY * PFNGLGETINTEGERUI64VNVPROC) (GLenum value, GLuint64EXT* result); +typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) (GLuint buffer, GLenum pname, GLuint64EXT* params); +typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERRESIDENTNVPROC) (GLenum target); +typedef GLboolean (GLAPIENTRY * PFNGLISNAMEDBUFFERRESIDENTNVPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLMAKEBUFFERNONRESIDENTNVPROC) (GLenum target); +typedef void (GLAPIENTRY * PFNGLMAKEBUFFERRESIDENTNVPROC) (GLenum target, GLenum access); +typedef void (GLAPIENTRY * PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC) (GLuint buffer); +typedef void (GLAPIENTRY * PFNGLMAKENAMEDBUFFERRESIDENTNVPROC) (GLuint buffer, GLenum access); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMUI64NVPROC) (GLuint program, GLint location, GLuint64EXT value); +typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value); +typedef void (GLAPIENTRY * PFNGLUNIFORMUI64NVPROC) (GLint location, GLuint64EXT value); +typedef void (GLAPIENTRY * PFNGLUNIFORMUI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value); + +#define glGetBufferParameterui64vNV GLEW_GET_FUN(__glewGetBufferParameterui64vNV) +#define glGetIntegerui64vNV GLEW_GET_FUN(__glewGetIntegerui64vNV) +#define glGetNamedBufferParameterui64vNV GLEW_GET_FUN(__glewGetNamedBufferParameterui64vNV) +#define glIsBufferResidentNV GLEW_GET_FUN(__glewIsBufferResidentNV) +#define glIsNamedBufferResidentNV GLEW_GET_FUN(__glewIsNamedBufferResidentNV) +#define glMakeBufferNonResidentNV GLEW_GET_FUN(__glewMakeBufferNonResidentNV) +#define glMakeBufferResidentNV GLEW_GET_FUN(__glewMakeBufferResidentNV) +#define glMakeNamedBufferNonResidentNV GLEW_GET_FUN(__glewMakeNamedBufferNonResidentNV) +#define glMakeNamedBufferResidentNV GLEW_GET_FUN(__glewMakeNamedBufferResidentNV) +#define glProgramUniformui64NV GLEW_GET_FUN(__glewProgramUniformui64NV) +#define glProgramUniformui64vNV GLEW_GET_FUN(__glewProgramUniformui64vNV) +#define glUniformui64NV GLEW_GET_FUN(__glewUniformui64NV) +#define glUniformui64vNV GLEW_GET_FUN(__glewUniformui64vNV) + +#define GLEW_NV_shader_buffer_load GLEW_GET_VAR(__GLEW_NV_shader_buffer_load) + +#endif /* GL_NV_shader_buffer_load */ + +/* ------------------- GL_NV_shader_storage_buffer_object ------------------ */ + +#ifndef GL_NV_shader_storage_buffer_object +#define GL_NV_shader_storage_buffer_object 1 + +#define GLEW_NV_shader_storage_buffer_object GLEW_GET_VAR(__GLEW_NV_shader_storage_buffer_object) + +#endif /* GL_NV_shader_storage_buffer_object */ + +/* ----------------------- GL_NV_shader_thread_group ----------------------- */ + +#ifndef GL_NV_shader_thread_group +#define GL_NV_shader_thread_group 1 + +#define GL_WARP_SIZE_NV 0x9339 +#define GL_WARPS_PER_SM_NV 0x933A +#define GL_SM_COUNT_NV 0x933B + +#define GLEW_NV_shader_thread_group GLEW_GET_VAR(__GLEW_NV_shader_thread_group) + +#endif /* GL_NV_shader_thread_group */ + +/* ---------------------- GL_NV_shader_thread_shuffle ---------------------- */ + +#ifndef GL_NV_shader_thread_shuffle +#define GL_NV_shader_thread_shuffle 1 + +#define GLEW_NV_shader_thread_shuffle GLEW_GET_VAR(__GLEW_NV_shader_thread_shuffle) + +#endif /* GL_NV_shader_thread_shuffle */ + +/* ---------------------- GL_NV_tessellation_program5 ---------------------- */ + +#ifndef GL_NV_tessellation_program5 +#define GL_NV_tessellation_program5 1 + +#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8 +#define GL_TESS_CONTROL_PROGRAM_NV 0x891E +#define GL_TESS_EVALUATION_PROGRAM_NV 0x891F +#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV 0x8C74 +#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8C75 + +#define GLEW_NV_tessellation_program5 GLEW_GET_VAR(__GLEW_NV_tessellation_program5) + +#endif /* GL_NV_tessellation_program5 */ + +/* -------------------------- GL_NV_texgen_emboss -------------------------- */ + +#ifndef GL_NV_texgen_emboss +#define GL_NV_texgen_emboss 1 + +#define GL_EMBOSS_LIGHT_NV 0x855D +#define GL_EMBOSS_CONSTANT_NV 0x855E +#define GL_EMBOSS_MAP_NV 0x855F + +#define GLEW_NV_texgen_emboss GLEW_GET_VAR(__GLEW_NV_texgen_emboss) + +#endif /* GL_NV_texgen_emboss */ + +/* ------------------------ GL_NV_texgen_reflection ------------------------ */ + +#ifndef GL_NV_texgen_reflection +#define GL_NV_texgen_reflection 1 + +#define GL_NORMAL_MAP_NV 0x8511 +#define GL_REFLECTION_MAP_NV 0x8512 + +#define GLEW_NV_texgen_reflection GLEW_GET_VAR(__GLEW_NV_texgen_reflection) + +#endif /* GL_NV_texgen_reflection */ + +/* ------------------------- GL_NV_texture_barrier ------------------------- */ + +#ifndef GL_NV_texture_barrier +#define GL_NV_texture_barrier 1 + +typedef void (GLAPIENTRY * PFNGLTEXTUREBARRIERNVPROC) (void); + +#define glTextureBarrierNV GLEW_GET_FUN(__glewTextureBarrierNV) + +#define GLEW_NV_texture_barrier GLEW_GET_VAR(__GLEW_NV_texture_barrier) + +#endif /* GL_NV_texture_barrier */ + +/* --------------------- GL_NV_texture_compression_vtc --------------------- */ + +#ifndef GL_NV_texture_compression_vtc +#define GL_NV_texture_compression_vtc 1 + +#define GLEW_NV_texture_compression_vtc GLEW_GET_VAR(__GLEW_NV_texture_compression_vtc) + +#endif /* GL_NV_texture_compression_vtc */ + +/* ----------------------- GL_NV_texture_env_combine4 ---------------------- */ + +#ifndef GL_NV_texture_env_combine4 +#define GL_NV_texture_env_combine4 1 + +#define GL_COMBINE4_NV 0x8503 +#define GL_SOURCE3_RGB_NV 0x8583 +#define GL_SOURCE3_ALPHA_NV 0x858B +#define GL_OPERAND3_RGB_NV 0x8593 +#define GL_OPERAND3_ALPHA_NV 0x859B + +#define GLEW_NV_texture_env_combine4 GLEW_GET_VAR(__GLEW_NV_texture_env_combine4) + +#endif /* GL_NV_texture_env_combine4 */ + +/* ---------------------- GL_NV_texture_expand_normal ---------------------- */ + +#ifndef GL_NV_texture_expand_normal +#define GL_NV_texture_expand_normal 1 + +#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F + +#define GLEW_NV_texture_expand_normal GLEW_GET_VAR(__GLEW_NV_texture_expand_normal) + +#endif /* GL_NV_texture_expand_normal */ + +/* ----------------------- GL_NV_texture_multisample ----------------------- */ + +#ifndef GL_NV_texture_multisample +#define GL_NV_texture_multisample 1 + +#define GL_TEXTURE_COVERAGE_SAMPLES_NV 0x9045 +#define GL_TEXTURE_COLOR_SAMPLES_NV 0x9046 + +typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); +typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations); +typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC) (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations); + +#define glTexImage2DMultisampleCoverageNV GLEW_GET_FUN(__glewTexImage2DMultisampleCoverageNV) +#define glTexImage3DMultisampleCoverageNV GLEW_GET_FUN(__glewTexImage3DMultisampleCoverageNV) +#define glTextureImage2DMultisampleCoverageNV GLEW_GET_FUN(__glewTextureImage2DMultisampleCoverageNV) +#define glTextureImage2DMultisampleNV GLEW_GET_FUN(__glewTextureImage2DMultisampleNV) +#define glTextureImage3DMultisampleCoverageNV GLEW_GET_FUN(__glewTextureImage3DMultisampleCoverageNV) +#define glTextureImage3DMultisampleNV GLEW_GET_FUN(__glewTextureImage3DMultisampleNV) + +#define GLEW_NV_texture_multisample GLEW_GET_VAR(__GLEW_NV_texture_multisample) + +#endif /* GL_NV_texture_multisample */ + +/* ------------------------ GL_NV_texture_rectangle ------------------------ */ + +#ifndef GL_NV_texture_rectangle +#define GL_NV_texture_rectangle 1 + +#define GL_TEXTURE_RECTANGLE_NV 0x84F5 +#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6 +#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8 + +#define GLEW_NV_texture_rectangle GLEW_GET_VAR(__GLEW_NV_texture_rectangle) + +#endif /* GL_NV_texture_rectangle */ + +/* -------------------------- GL_NV_texture_shader ------------------------- */ + +#ifndef GL_NV_texture_shader +#define GL_NV_texture_shader 1 + +#define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C +#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D +#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E +#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9 +#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA +#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB +#define GL_DSDT_MAG_INTENSITY_NV 0x86DC +#define GL_SHADER_CONSISTENT_NV 0x86DD +#define GL_TEXTURE_SHADER_NV 0x86DE +#define GL_SHADER_OPERATION_NV 0x86DF +#define GL_CULL_MODES_NV 0x86E0 +#define GL_OFFSET_TEXTURE_2D_MATRIX_NV 0x86E1 +#define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1 +#define GL_OFFSET_TEXTURE_2D_SCALE_NV 0x86E2 +#define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2 +#define GL_OFFSET_TEXTURE_2D_BIAS_NV 0x86E3 +#define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3 +#define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4 +#define GL_CONST_EYE_NV 0x86E5 +#define GL_PASS_THROUGH_NV 0x86E6 +#define GL_CULL_FRAGMENT_NV 0x86E7 +#define GL_OFFSET_TEXTURE_2D_NV 0x86E8 +#define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9 +#define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA +#define GL_DOT_PRODUCT_NV 0x86EC +#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED +#define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE +#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0 +#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1 +#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2 +#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3 +#define GL_HILO_NV 0x86F4 +#define GL_DSDT_NV 0x86F5 +#define GL_DSDT_MAG_NV 0x86F6 +#define GL_DSDT_MAG_VIB_NV 0x86F7 +#define GL_HILO16_NV 0x86F8 +#define GL_SIGNED_HILO_NV 0x86F9 +#define GL_SIGNED_HILO16_NV 0x86FA +#define GL_SIGNED_RGBA_NV 0x86FB +#define GL_SIGNED_RGBA8_NV 0x86FC +#define GL_SIGNED_RGB_NV 0x86FE +#define GL_SIGNED_RGB8_NV 0x86FF +#define GL_SIGNED_LUMINANCE_NV 0x8701 +#define GL_SIGNED_LUMINANCE8_NV 0x8702 +#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703 +#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704 +#define GL_SIGNED_ALPHA_NV 0x8705 +#define GL_SIGNED_ALPHA8_NV 0x8706 +#define GL_SIGNED_INTENSITY_NV 0x8707 +#define GL_SIGNED_INTENSITY8_NV 0x8708 +#define GL_DSDT8_NV 0x8709 +#define GL_DSDT8_MAG8_NV 0x870A +#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B +#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C +#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D +#define GL_HI_SCALE_NV 0x870E +#define GL_LO_SCALE_NV 0x870F +#define GL_DS_SCALE_NV 0x8710 +#define GL_DT_SCALE_NV 0x8711 +#define GL_MAGNITUDE_SCALE_NV 0x8712 +#define GL_VIBRANCE_SCALE_NV 0x8713 +#define GL_HI_BIAS_NV 0x8714 +#define GL_LO_BIAS_NV 0x8715 +#define GL_DS_BIAS_NV 0x8716 +#define GL_DT_BIAS_NV 0x8717 +#define GL_MAGNITUDE_BIAS_NV 0x8718 +#define GL_VIBRANCE_BIAS_NV 0x8719 +#define GL_TEXTURE_BORDER_VALUES_NV 0x871A +#define GL_TEXTURE_HI_SIZE_NV 0x871B +#define GL_TEXTURE_LO_SIZE_NV 0x871C +#define GL_TEXTURE_DS_SIZE_NV 0x871D +#define GL_TEXTURE_DT_SIZE_NV 0x871E +#define GL_TEXTURE_MAG_SIZE_NV 0x871F + +#define GLEW_NV_texture_shader GLEW_GET_VAR(__GLEW_NV_texture_shader) + +#endif /* GL_NV_texture_shader */ + +/* ------------------------- GL_NV_texture_shader2 ------------------------- */ + +#ifndef GL_NV_texture_shader2 +#define GL_NV_texture_shader2 1 + +#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA +#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB +#define GL_DSDT_MAG_INTENSITY_NV 0x86DC +#define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF +#define GL_HILO_NV 0x86F4 +#define GL_DSDT_NV 0x86F5 +#define GL_DSDT_MAG_NV 0x86F6 +#define GL_DSDT_MAG_VIB_NV 0x86F7 +#define GL_HILO16_NV 0x86F8 +#define GL_SIGNED_HILO_NV 0x86F9 +#define GL_SIGNED_HILO16_NV 0x86FA +#define GL_SIGNED_RGBA_NV 0x86FB +#define GL_SIGNED_RGBA8_NV 0x86FC +#define GL_SIGNED_RGB_NV 0x86FE +#define GL_SIGNED_RGB8_NV 0x86FF +#define GL_SIGNED_LUMINANCE_NV 0x8701 +#define GL_SIGNED_LUMINANCE8_NV 0x8702 +#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703 +#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704 +#define GL_SIGNED_ALPHA_NV 0x8705 +#define GL_SIGNED_ALPHA8_NV 0x8706 +#define GL_SIGNED_INTENSITY_NV 0x8707 +#define GL_SIGNED_INTENSITY8_NV 0x8708 +#define GL_DSDT8_NV 0x8709 +#define GL_DSDT8_MAG8_NV 0x870A +#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B +#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C +#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D + +#define GLEW_NV_texture_shader2 GLEW_GET_VAR(__GLEW_NV_texture_shader2) + +#endif /* GL_NV_texture_shader2 */ + +/* ------------------------- GL_NV_texture_shader3 ------------------------- */ + +#ifndef GL_NV_texture_shader3 +#define GL_NV_texture_shader3 1 + +#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850 +#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851 +#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852 +#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853 +#define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854 +#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855 +#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856 +#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857 +#define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858 +#define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859 +#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A +#define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B +#define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C +#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D +#define GL_HILO8_NV 0x885E +#define GL_SIGNED_HILO8_NV 0x885F +#define GL_FORCE_BLUE_TO_ONE_NV 0x8860 + +#define GLEW_NV_texture_shader3 GLEW_GET_VAR(__GLEW_NV_texture_shader3) + +#endif /* GL_NV_texture_shader3 */ + +/* ------------------------ GL_NV_transform_feedback ----------------------- */ + +#ifndef GL_NV_transform_feedback +#define GL_NV_transform_feedback 1 + +#define GL_BACK_PRIMARY_COLOR_NV 0x8C77 +#define GL_BACK_SECONDARY_COLOR_NV 0x8C78 +#define GL_TEXTURE_COORD_NV 0x8C79 +#define GL_CLIP_DISTANCE_NV 0x8C7A +#define GL_VERTEX_ID_NV 0x8C7B +#define GL_PRIMITIVE_ID_NV 0x8C7C +#define GL_GENERIC_ATTRIB_NV 0x8C7D +#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E +#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80 +#define GL_ACTIVE_VARYINGS_NV 0x8C81 +#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82 +#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83 +#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84 +#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85 +#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86 +#define GL_PRIMITIVES_GENERATED_NV 0x8C87 +#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88 +#define GL_RASTERIZER_DISCARD_NV 0x8C89 +#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A +#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B +#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C +#define GL_SEPARATE_ATTRIBS_NV 0x8C8D +#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E +#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F + +typedef void (GLAPIENTRY * PFNGLACTIVEVARYINGNVPROC) (GLuint program, const GLchar *name); +typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer); +typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); +typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKNVPROC) (void); +typedef void (GLAPIENTRY * PFNGLGETACTIVEVARYINGNVPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); +typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) (GLuint program, GLuint index, GLint *location); +typedef GLint (GLAPIENTRY * PFNGLGETVARYINGLOCATIONNVPROC) (GLuint program, const GLchar *name); +typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint *attribs, GLenum bufferMode); +typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode); + +#define glActiveVaryingNV GLEW_GET_FUN(__glewActiveVaryingNV) +#define glBeginTransformFeedbackNV GLEW_GET_FUN(__glewBeginTransformFeedbackNV) +#define glBindBufferBaseNV GLEW_GET_FUN(__glewBindBufferBaseNV) +#define glBindBufferOffsetNV GLEW_GET_FUN(__glewBindBufferOffsetNV) +#define glBindBufferRangeNV GLEW_GET_FUN(__glewBindBufferRangeNV) +#define glEndTransformFeedbackNV GLEW_GET_FUN(__glewEndTransformFeedbackNV) +#define glGetActiveVaryingNV GLEW_GET_FUN(__glewGetActiveVaryingNV) +#define glGetTransformFeedbackVaryingNV GLEW_GET_FUN(__glewGetTransformFeedbackVaryingNV) +#define glGetVaryingLocationNV GLEW_GET_FUN(__glewGetVaryingLocationNV) +#define glTransformFeedbackAttribsNV GLEW_GET_FUN(__glewTransformFeedbackAttribsNV) +#define glTransformFeedbackVaryingsNV GLEW_GET_FUN(__glewTransformFeedbackVaryingsNV) + +#define GLEW_NV_transform_feedback GLEW_GET_VAR(__GLEW_NV_transform_feedback) + +#endif /* GL_NV_transform_feedback */ + +/* ----------------------- GL_NV_transform_feedback2 ----------------------- */ + +#ifndef GL_NV_transform_feedback2 +#define GL_NV_transform_feedback2 1 + +#define GL_TRANSFORM_FEEDBACK_NV 0x8E22 +#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23 +#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24 +#define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25 + +typedef void (GLAPIENTRY * PFNGLBINDTRANSFORMFEEDBACKNVPROC) (GLenum target, GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETETRANSFORMFEEDBACKSNVPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKNVPROC) (GLenum mode, GLuint id); +typedef void (GLAPIENTRY * PFNGLGENTRANSFORMFEEDBACKSNVPROC) (GLsizei n, GLuint* ids); +typedef GLboolean (GLAPIENTRY * PFNGLISTRANSFORMFEEDBACKNVPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLPAUSETRANSFORMFEEDBACKNVPROC) (void); +typedef void (GLAPIENTRY * PFNGLRESUMETRANSFORMFEEDBACKNVPROC) (void); + +#define glBindTransformFeedbackNV GLEW_GET_FUN(__glewBindTransformFeedbackNV) +#define glDeleteTransformFeedbacksNV GLEW_GET_FUN(__glewDeleteTransformFeedbacksNV) +#define glDrawTransformFeedbackNV GLEW_GET_FUN(__glewDrawTransformFeedbackNV) +#define glGenTransformFeedbacksNV GLEW_GET_FUN(__glewGenTransformFeedbacksNV) +#define glIsTransformFeedbackNV GLEW_GET_FUN(__glewIsTransformFeedbackNV) +#define glPauseTransformFeedbackNV GLEW_GET_FUN(__glewPauseTransformFeedbackNV) +#define glResumeTransformFeedbackNV GLEW_GET_FUN(__glewResumeTransformFeedbackNV) + +#define GLEW_NV_transform_feedback2 GLEW_GET_VAR(__GLEW_NV_transform_feedback2) + +#endif /* GL_NV_transform_feedback2 */ + +/* ------------------ GL_NV_uniform_buffer_unified_memory ------------------ */ + +#ifndef GL_NV_uniform_buffer_unified_memory +#define GL_NV_uniform_buffer_unified_memory 1 + +#define GL_UNIFORM_BUFFER_UNIFIED_NV 0x936E +#define GL_UNIFORM_BUFFER_ADDRESS_NV 0x936F +#define GL_UNIFORM_BUFFER_LENGTH_NV 0x9370 + +#define GLEW_NV_uniform_buffer_unified_memory GLEW_GET_VAR(__GLEW_NV_uniform_buffer_unified_memory) + +#endif /* GL_NV_uniform_buffer_unified_memory */ + +/* -------------------------- GL_NV_vdpau_interop -------------------------- */ + +#ifndef GL_NV_vdpau_interop +#define GL_NV_vdpau_interop 1 + +#define GL_SURFACE_STATE_NV 0x86EB +#define GL_SURFACE_REGISTERED_NV 0x86FD +#define GL_SURFACE_MAPPED_NV 0x8700 +#define GL_WRITE_DISCARD_NV 0x88BE + +typedef GLintptr GLvdpauSurfaceNV; + +typedef void (GLAPIENTRY * PFNGLVDPAUFININVPROC) (void); +typedef void (GLAPIENTRY * PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei* length, GLint *values); +typedef void (GLAPIENTRY * PFNGLVDPAUINITNVPROC) (const void* vdpDevice, const void*getProcAddress); +typedef void (GLAPIENTRY * PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface); +typedef void (GLAPIENTRY * PFNGLVDPAUMAPSURFACESNVPROC) (GLsizei numSurfaces, const GLvdpauSurfaceNV* surfaces); +typedef GLvdpauSurfaceNV (GLAPIENTRY * PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC) (const void* vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); +typedef GLvdpauSurfaceNV (GLAPIENTRY * PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (const void* vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); +typedef void (GLAPIENTRY * PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access); +typedef void (GLAPIENTRY * PFNGLVDPAUUNMAPSURFACESNVPROC) (GLsizei numSurface, const GLvdpauSurfaceNV* surfaces); +typedef void (GLAPIENTRY * PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface); + +#define glVDPAUFiniNV GLEW_GET_FUN(__glewVDPAUFiniNV) +#define glVDPAUGetSurfaceivNV GLEW_GET_FUN(__glewVDPAUGetSurfaceivNV) +#define glVDPAUInitNV GLEW_GET_FUN(__glewVDPAUInitNV) +#define glVDPAUIsSurfaceNV GLEW_GET_FUN(__glewVDPAUIsSurfaceNV) +#define glVDPAUMapSurfacesNV GLEW_GET_FUN(__glewVDPAUMapSurfacesNV) +#define glVDPAURegisterOutputSurfaceNV GLEW_GET_FUN(__glewVDPAURegisterOutputSurfaceNV) +#define glVDPAURegisterVideoSurfaceNV GLEW_GET_FUN(__glewVDPAURegisterVideoSurfaceNV) +#define glVDPAUSurfaceAccessNV GLEW_GET_FUN(__glewVDPAUSurfaceAccessNV) +#define glVDPAUUnmapSurfacesNV GLEW_GET_FUN(__glewVDPAUUnmapSurfacesNV) +#define glVDPAUUnregisterSurfaceNV GLEW_GET_FUN(__glewVDPAUUnregisterSurfaceNV) + +#define GLEW_NV_vdpau_interop GLEW_GET_VAR(__GLEW_NV_vdpau_interop) + +#endif /* GL_NV_vdpau_interop */ + +/* ------------------------ GL_NV_vertex_array_range ----------------------- */ + +#ifndef GL_NV_vertex_array_range +#define GL_NV_vertex_array_range 1 + +#define GL_VERTEX_ARRAY_RANGE_NV 0x851D +#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E +#define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F +#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520 +#define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521 + +typedef void (GLAPIENTRY * PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void); +typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, void *pointer); + +#define glFlushVertexArrayRangeNV GLEW_GET_FUN(__glewFlushVertexArrayRangeNV) +#define glVertexArrayRangeNV GLEW_GET_FUN(__glewVertexArrayRangeNV) + +#define GLEW_NV_vertex_array_range GLEW_GET_VAR(__GLEW_NV_vertex_array_range) + +#endif /* GL_NV_vertex_array_range */ + +/* ----------------------- GL_NV_vertex_array_range2 ----------------------- */ + +#ifndef GL_NV_vertex_array_range2 +#define GL_NV_vertex_array_range2 1 + +#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533 + +#define GLEW_NV_vertex_array_range2 GLEW_GET_VAR(__GLEW_NV_vertex_array_range2) + +#endif /* GL_NV_vertex_array_range2 */ + +/* ------------------- GL_NV_vertex_attrib_integer_64bit ------------------- */ + +#ifndef GL_NV_vertex_attrib_integer_64bit +#define GL_NV_vertex_attrib_integer_64bit 1 + +#define GL_INT64_NV 0x140E +#define GL_UNSIGNED_INT64_NV 0x140F + +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLI64VNVPROC) (GLuint index, GLenum pname, GLint64EXT* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLUI64VNVPROC) (GLuint index, GLenum pname, GLuint64EXT* params); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1I64NVPROC) (GLuint index, GLint64EXT x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1I64VNVPROC) (GLuint index, const GLint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64NVPROC) (GLuint index, GLuint64EXT x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64VNVPROC) (GLuint index, const GLuint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2I64VNVPROC) (GLuint index, const GLint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2UI64VNVPROC) (GLuint index, const GLuint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3I64VNVPROC) (GLuint index, const GLint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3UI64VNVPROC) (GLuint index, const GLuint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4I64VNVPROC) (GLuint index, const GLint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4UI64VNVPROC) (GLuint index, const GLuint64EXT* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride); + +#define glGetVertexAttribLi64vNV GLEW_GET_FUN(__glewGetVertexAttribLi64vNV) +#define glGetVertexAttribLui64vNV GLEW_GET_FUN(__glewGetVertexAttribLui64vNV) +#define glVertexAttribL1i64NV GLEW_GET_FUN(__glewVertexAttribL1i64NV) +#define glVertexAttribL1i64vNV GLEW_GET_FUN(__glewVertexAttribL1i64vNV) +#define glVertexAttribL1ui64NV GLEW_GET_FUN(__glewVertexAttribL1ui64NV) +#define glVertexAttribL1ui64vNV GLEW_GET_FUN(__glewVertexAttribL1ui64vNV) +#define glVertexAttribL2i64NV GLEW_GET_FUN(__glewVertexAttribL2i64NV) +#define glVertexAttribL2i64vNV GLEW_GET_FUN(__glewVertexAttribL2i64vNV) +#define glVertexAttribL2ui64NV GLEW_GET_FUN(__glewVertexAttribL2ui64NV) +#define glVertexAttribL2ui64vNV GLEW_GET_FUN(__glewVertexAttribL2ui64vNV) +#define glVertexAttribL3i64NV GLEW_GET_FUN(__glewVertexAttribL3i64NV) +#define glVertexAttribL3i64vNV GLEW_GET_FUN(__glewVertexAttribL3i64vNV) +#define glVertexAttribL3ui64NV GLEW_GET_FUN(__glewVertexAttribL3ui64NV) +#define glVertexAttribL3ui64vNV GLEW_GET_FUN(__glewVertexAttribL3ui64vNV) +#define glVertexAttribL4i64NV GLEW_GET_FUN(__glewVertexAttribL4i64NV) +#define glVertexAttribL4i64vNV GLEW_GET_FUN(__glewVertexAttribL4i64vNV) +#define glVertexAttribL4ui64NV GLEW_GET_FUN(__glewVertexAttribL4ui64NV) +#define glVertexAttribL4ui64vNV GLEW_GET_FUN(__glewVertexAttribL4ui64vNV) +#define glVertexAttribLFormatNV GLEW_GET_FUN(__glewVertexAttribLFormatNV) + +#define GLEW_NV_vertex_attrib_integer_64bit GLEW_GET_VAR(__GLEW_NV_vertex_attrib_integer_64bit) + +#endif /* GL_NV_vertex_attrib_integer_64bit */ + +/* ------------------- GL_NV_vertex_buffer_unified_memory ------------------ */ + +#ifndef GL_NV_vertex_buffer_unified_memory +#define GL_NV_vertex_buffer_unified_memory 1 + +#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV 0x8F1E +#define GL_ELEMENT_ARRAY_UNIFIED_NV 0x8F1F +#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV 0x8F20 +#define GL_VERTEX_ARRAY_ADDRESS_NV 0x8F21 +#define GL_NORMAL_ARRAY_ADDRESS_NV 0x8F22 +#define GL_COLOR_ARRAY_ADDRESS_NV 0x8F23 +#define GL_INDEX_ARRAY_ADDRESS_NV 0x8F24 +#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV 0x8F25 +#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV 0x8F26 +#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8F27 +#define GL_FOG_COORD_ARRAY_ADDRESS_NV 0x8F28 +#define GL_ELEMENT_ARRAY_ADDRESS_NV 0x8F29 +#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV 0x8F2A +#define GL_VERTEX_ARRAY_LENGTH_NV 0x8F2B +#define GL_NORMAL_ARRAY_LENGTH_NV 0x8F2C +#define GL_COLOR_ARRAY_LENGTH_NV 0x8F2D +#define GL_INDEX_ARRAY_LENGTH_NV 0x8F2E +#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV 0x8F2F +#define GL_EDGE_FLAG_ARRAY_LENGTH_NV 0x8F30 +#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV 0x8F31 +#define GL_FOG_COORD_ARRAY_LENGTH_NV 0x8F32 +#define GL_ELEMENT_ARRAY_LENGTH_NV 0x8F33 +#define GL_DRAW_INDIRECT_UNIFIED_NV 0x8F40 +#define GL_DRAW_INDIRECT_ADDRESS_NV 0x8F41 +#define GL_DRAW_INDIRECT_LENGTH_NV 0x8F42 + +typedef void (GLAPIENTRY * PFNGLBUFFERADDRESSRANGENVPROC) (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length); +typedef void (GLAPIENTRY * PFNGLCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLEDGEFLAGFORMATNVPROC) (GLsizei stride); +typedef void (GLAPIENTRY * PFNGLFOGCOORDFORMATNVPROC) (GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLGETINTEGERUI64I_VNVPROC) (GLenum value, GLuint index, GLuint64EXT result[]); +typedef void (GLAPIENTRY * PFNGLINDEXFORMATNVPROC) (GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLNORMALFORMATNVPROC) (GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLTEXCOORDFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride); +typedef void (GLAPIENTRY * PFNGLVERTEXFORMATNVPROC) (GLint size, GLenum type, GLsizei stride); + +#define glBufferAddressRangeNV GLEW_GET_FUN(__glewBufferAddressRangeNV) +#define glColorFormatNV GLEW_GET_FUN(__glewColorFormatNV) +#define glEdgeFlagFormatNV GLEW_GET_FUN(__glewEdgeFlagFormatNV) +#define glFogCoordFormatNV GLEW_GET_FUN(__glewFogCoordFormatNV) +#define glGetIntegerui64i_vNV GLEW_GET_FUN(__glewGetIntegerui64i_vNV) +#define glIndexFormatNV GLEW_GET_FUN(__glewIndexFormatNV) +#define glNormalFormatNV GLEW_GET_FUN(__glewNormalFormatNV) +#define glSecondaryColorFormatNV GLEW_GET_FUN(__glewSecondaryColorFormatNV) +#define glTexCoordFormatNV GLEW_GET_FUN(__glewTexCoordFormatNV) +#define glVertexAttribFormatNV GLEW_GET_FUN(__glewVertexAttribFormatNV) +#define glVertexAttribIFormatNV GLEW_GET_FUN(__glewVertexAttribIFormatNV) +#define glVertexFormatNV GLEW_GET_FUN(__glewVertexFormatNV) + +#define GLEW_NV_vertex_buffer_unified_memory GLEW_GET_VAR(__GLEW_NV_vertex_buffer_unified_memory) + +#endif /* GL_NV_vertex_buffer_unified_memory */ + +/* -------------------------- GL_NV_vertex_program ------------------------- */ + +#ifndef GL_NV_vertex_program +#define GL_NV_vertex_program 1 + +#define GL_VERTEX_PROGRAM_NV 0x8620 +#define GL_VERTEX_STATE_PROGRAM_NV 0x8621 +#define GL_ATTRIB_ARRAY_SIZE_NV 0x8623 +#define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624 +#define GL_ATTRIB_ARRAY_TYPE_NV 0x8625 +#define GL_CURRENT_ATTRIB_NV 0x8626 +#define GL_PROGRAM_LENGTH_NV 0x8627 +#define GL_PROGRAM_STRING_NV 0x8628 +#define GL_MODELVIEW_PROJECTION_NV 0x8629 +#define GL_IDENTITY_NV 0x862A +#define GL_INVERSE_NV 0x862B +#define GL_TRANSPOSE_NV 0x862C +#define GL_INVERSE_TRANSPOSE_NV 0x862D +#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E +#define GL_MAX_TRACK_MATRICES_NV 0x862F +#define GL_MATRIX0_NV 0x8630 +#define GL_MATRIX1_NV 0x8631 +#define GL_MATRIX2_NV 0x8632 +#define GL_MATRIX3_NV 0x8633 +#define GL_MATRIX4_NV 0x8634 +#define GL_MATRIX5_NV 0x8635 +#define GL_MATRIX6_NV 0x8636 +#define GL_MATRIX7_NV 0x8637 +#define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640 +#define GL_CURRENT_MATRIX_NV 0x8641 +#define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642 +#define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643 +#define GL_PROGRAM_PARAMETER_NV 0x8644 +#define GL_ATTRIB_ARRAY_POINTER_NV 0x8645 +#define GL_PROGRAM_TARGET_NV 0x8646 +#define GL_PROGRAM_RESIDENT_NV 0x8647 +#define GL_TRACK_MATRIX_NV 0x8648 +#define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649 +#define GL_VERTEX_PROGRAM_BINDING_NV 0x864A +#define GL_PROGRAM_ERROR_POSITION_NV 0x864B +#define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650 +#define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651 +#define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652 +#define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653 +#define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654 +#define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655 +#define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656 +#define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657 +#define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658 +#define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659 +#define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A +#define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B +#define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C +#define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D +#define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E +#define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F +#define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660 +#define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661 +#define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662 +#define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663 +#define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664 +#define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665 +#define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666 +#define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667 +#define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668 +#define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669 +#define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A +#define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B +#define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C +#define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D +#define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E +#define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F +#define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670 +#define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671 +#define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672 +#define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673 +#define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674 +#define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675 +#define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676 +#define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677 +#define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678 +#define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679 +#define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A +#define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B +#define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C +#define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D +#define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E +#define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F + +typedef GLboolean (GLAPIENTRY * PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint* ids, GLboolean *residences); +typedef void (GLAPIENTRY * PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id); +typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint* ids); +typedef void (GLAPIENTRY * PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte* program); +typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, void** pointer); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint* params); +typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMNVPROC) (GLuint id); +typedef void (GLAPIENTRY * PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte* program); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLsizei num, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLsizei num, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, GLuint* ids); +typedef void (GLAPIENTRY * PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei n, const GLshort* v); +typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei n, const GLubyte* v); + +#define glAreProgramsResidentNV GLEW_GET_FUN(__glewAreProgramsResidentNV) +#define glBindProgramNV GLEW_GET_FUN(__glewBindProgramNV) +#define glDeleteProgramsNV GLEW_GET_FUN(__glewDeleteProgramsNV) +#define glExecuteProgramNV GLEW_GET_FUN(__glewExecuteProgramNV) +#define glGenProgramsNV GLEW_GET_FUN(__glewGenProgramsNV) +#define glGetProgramParameterdvNV GLEW_GET_FUN(__glewGetProgramParameterdvNV) +#define glGetProgramParameterfvNV GLEW_GET_FUN(__glewGetProgramParameterfvNV) +#define glGetProgramStringNV GLEW_GET_FUN(__glewGetProgramStringNV) +#define glGetProgramivNV GLEW_GET_FUN(__glewGetProgramivNV) +#define glGetTrackMatrixivNV GLEW_GET_FUN(__glewGetTrackMatrixivNV) +#define glGetVertexAttribPointervNV GLEW_GET_FUN(__glewGetVertexAttribPointervNV) +#define glGetVertexAttribdvNV GLEW_GET_FUN(__glewGetVertexAttribdvNV) +#define glGetVertexAttribfvNV GLEW_GET_FUN(__glewGetVertexAttribfvNV) +#define glGetVertexAttribivNV GLEW_GET_FUN(__glewGetVertexAttribivNV) +#define glIsProgramNV GLEW_GET_FUN(__glewIsProgramNV) +#define glLoadProgramNV GLEW_GET_FUN(__glewLoadProgramNV) +#define glProgramParameter4dNV GLEW_GET_FUN(__glewProgramParameter4dNV) +#define glProgramParameter4dvNV GLEW_GET_FUN(__glewProgramParameter4dvNV) +#define glProgramParameter4fNV GLEW_GET_FUN(__glewProgramParameter4fNV) +#define glProgramParameter4fvNV GLEW_GET_FUN(__glewProgramParameter4fvNV) +#define glProgramParameters4dvNV GLEW_GET_FUN(__glewProgramParameters4dvNV) +#define glProgramParameters4fvNV GLEW_GET_FUN(__glewProgramParameters4fvNV) +#define glRequestResidentProgramsNV GLEW_GET_FUN(__glewRequestResidentProgramsNV) +#define glTrackMatrixNV GLEW_GET_FUN(__glewTrackMatrixNV) +#define glVertexAttrib1dNV GLEW_GET_FUN(__glewVertexAttrib1dNV) +#define glVertexAttrib1dvNV GLEW_GET_FUN(__glewVertexAttrib1dvNV) +#define glVertexAttrib1fNV GLEW_GET_FUN(__glewVertexAttrib1fNV) +#define glVertexAttrib1fvNV GLEW_GET_FUN(__glewVertexAttrib1fvNV) +#define glVertexAttrib1sNV GLEW_GET_FUN(__glewVertexAttrib1sNV) +#define glVertexAttrib1svNV GLEW_GET_FUN(__glewVertexAttrib1svNV) +#define glVertexAttrib2dNV GLEW_GET_FUN(__glewVertexAttrib2dNV) +#define glVertexAttrib2dvNV GLEW_GET_FUN(__glewVertexAttrib2dvNV) +#define glVertexAttrib2fNV GLEW_GET_FUN(__glewVertexAttrib2fNV) +#define glVertexAttrib2fvNV GLEW_GET_FUN(__glewVertexAttrib2fvNV) +#define glVertexAttrib2sNV GLEW_GET_FUN(__glewVertexAttrib2sNV) +#define glVertexAttrib2svNV GLEW_GET_FUN(__glewVertexAttrib2svNV) +#define glVertexAttrib3dNV GLEW_GET_FUN(__glewVertexAttrib3dNV) +#define glVertexAttrib3dvNV GLEW_GET_FUN(__glewVertexAttrib3dvNV) +#define glVertexAttrib3fNV GLEW_GET_FUN(__glewVertexAttrib3fNV) +#define glVertexAttrib3fvNV GLEW_GET_FUN(__glewVertexAttrib3fvNV) +#define glVertexAttrib3sNV GLEW_GET_FUN(__glewVertexAttrib3sNV) +#define glVertexAttrib3svNV GLEW_GET_FUN(__glewVertexAttrib3svNV) +#define glVertexAttrib4dNV GLEW_GET_FUN(__glewVertexAttrib4dNV) +#define glVertexAttrib4dvNV GLEW_GET_FUN(__glewVertexAttrib4dvNV) +#define glVertexAttrib4fNV GLEW_GET_FUN(__glewVertexAttrib4fNV) +#define glVertexAttrib4fvNV GLEW_GET_FUN(__glewVertexAttrib4fvNV) +#define glVertexAttrib4sNV GLEW_GET_FUN(__glewVertexAttrib4sNV) +#define glVertexAttrib4svNV GLEW_GET_FUN(__glewVertexAttrib4svNV) +#define glVertexAttrib4ubNV GLEW_GET_FUN(__glewVertexAttrib4ubNV) +#define glVertexAttrib4ubvNV GLEW_GET_FUN(__glewVertexAttrib4ubvNV) +#define glVertexAttribPointerNV GLEW_GET_FUN(__glewVertexAttribPointerNV) +#define glVertexAttribs1dvNV GLEW_GET_FUN(__glewVertexAttribs1dvNV) +#define glVertexAttribs1fvNV GLEW_GET_FUN(__glewVertexAttribs1fvNV) +#define glVertexAttribs1svNV GLEW_GET_FUN(__glewVertexAttribs1svNV) +#define glVertexAttribs2dvNV GLEW_GET_FUN(__glewVertexAttribs2dvNV) +#define glVertexAttribs2fvNV GLEW_GET_FUN(__glewVertexAttribs2fvNV) +#define glVertexAttribs2svNV GLEW_GET_FUN(__glewVertexAttribs2svNV) +#define glVertexAttribs3dvNV GLEW_GET_FUN(__glewVertexAttribs3dvNV) +#define glVertexAttribs3fvNV GLEW_GET_FUN(__glewVertexAttribs3fvNV) +#define glVertexAttribs3svNV GLEW_GET_FUN(__glewVertexAttribs3svNV) +#define glVertexAttribs4dvNV GLEW_GET_FUN(__glewVertexAttribs4dvNV) +#define glVertexAttribs4fvNV GLEW_GET_FUN(__glewVertexAttribs4fvNV) +#define glVertexAttribs4svNV GLEW_GET_FUN(__glewVertexAttribs4svNV) +#define glVertexAttribs4ubvNV GLEW_GET_FUN(__glewVertexAttribs4ubvNV) + +#define GLEW_NV_vertex_program GLEW_GET_VAR(__GLEW_NV_vertex_program) + +#endif /* GL_NV_vertex_program */ + +/* ------------------------ GL_NV_vertex_program1_1 ------------------------ */ + +#ifndef GL_NV_vertex_program1_1 +#define GL_NV_vertex_program1_1 1 + +#define GLEW_NV_vertex_program1_1 GLEW_GET_VAR(__GLEW_NV_vertex_program1_1) + +#endif /* GL_NV_vertex_program1_1 */ + +/* ------------------------- GL_NV_vertex_program2 ------------------------- */ + +#ifndef GL_NV_vertex_program2 +#define GL_NV_vertex_program2 1 + +#define GLEW_NV_vertex_program2 GLEW_GET_VAR(__GLEW_NV_vertex_program2) + +#endif /* GL_NV_vertex_program2 */ + +/* ---------------------- GL_NV_vertex_program2_option --------------------- */ + +#ifndef GL_NV_vertex_program2_option +#define GL_NV_vertex_program2_option 1 + +#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4 +#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5 + +#define GLEW_NV_vertex_program2_option GLEW_GET_VAR(__GLEW_NV_vertex_program2_option) + +#endif /* GL_NV_vertex_program2_option */ + +/* ------------------------- GL_NV_vertex_program3 ------------------------- */ + +#ifndef GL_NV_vertex_program3 +#define GL_NV_vertex_program3 1 + +#define MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C + +#define GLEW_NV_vertex_program3 GLEW_GET_VAR(__GLEW_NV_vertex_program3) + +#endif /* GL_NV_vertex_program3 */ + +/* ------------------------- GL_NV_vertex_program4 ------------------------- */ + +#ifndef GL_NV_vertex_program4 +#define GL_NV_vertex_program4 1 + +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88FD + +#define GLEW_NV_vertex_program4 GLEW_GET_VAR(__GLEW_NV_vertex_program4) + +#endif /* GL_NV_vertex_program4 */ + +/* -------------------------- GL_NV_video_capture -------------------------- */ + +#ifndef GL_NV_video_capture +#define GL_NV_video_capture 1 + +#define GL_VIDEO_BUFFER_NV 0x9020 +#define GL_VIDEO_BUFFER_BINDING_NV 0x9021 +#define GL_FIELD_UPPER_NV 0x9022 +#define GL_FIELD_LOWER_NV 0x9023 +#define GL_NUM_VIDEO_CAPTURE_STREAMS_NV 0x9024 +#define GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV 0x9025 +#define GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV 0x9026 +#define GL_LAST_VIDEO_CAPTURE_STATUS_NV 0x9027 +#define GL_VIDEO_BUFFER_PITCH_NV 0x9028 +#define GL_VIDEO_COLOR_CONVERSION_MATRIX_NV 0x9029 +#define GL_VIDEO_COLOR_CONVERSION_MAX_NV 0x902A +#define GL_VIDEO_COLOR_CONVERSION_MIN_NV 0x902B +#define GL_VIDEO_COLOR_CONVERSION_OFFSET_NV 0x902C +#define GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV 0x902D +#define GL_PARTIAL_SUCCESS_NV 0x902E +#define GL_SUCCESS_NV 0x902F +#define GL_FAILURE_NV 0x9030 +#define GL_YCBYCR8_422_NV 0x9031 +#define GL_YCBAYCR8A_4224_NV 0x9032 +#define GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV 0x9033 +#define GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV 0x9034 +#define GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV 0x9035 +#define GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV 0x9036 +#define GL_Z4Y12Z4CB12Z4CR12_444_NV 0x9037 +#define GL_VIDEO_CAPTURE_FRAME_WIDTH_NV 0x9038 +#define GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV 0x9039 +#define GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV 0x903A +#define GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV 0x903B +#define GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV 0x903C + +typedef void (GLAPIENTRY * PFNGLBEGINVIDEOCAPTURENVPROC) (GLuint video_capture_slot); +typedef void (GLAPIENTRY * PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset); +typedef void (GLAPIENTRY * PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC) (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture); +typedef void (GLAPIENTRY * PFNGLENDVIDEOCAPTURENVPROC) (GLuint video_capture_slot); +typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTURESTREAMDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTURESTREAMFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTURESTREAMIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETVIDEOCAPTUREIVNVPROC) (GLuint video_capture_slot, GLenum pname, GLint* params); +typedef GLenum (GLAPIENTRY * PFNGLVIDEOCAPTURENVPROC) (GLuint video_capture_slot, GLuint* sequence_num, GLuint64EXT *capture_time); +typedef void (GLAPIENTRY * PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble* params); +typedef void (GLAPIENTRY * PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC) (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint* params); + +#define glBeginVideoCaptureNV GLEW_GET_FUN(__glewBeginVideoCaptureNV) +#define glBindVideoCaptureStreamBufferNV GLEW_GET_FUN(__glewBindVideoCaptureStreamBufferNV) +#define glBindVideoCaptureStreamTextureNV GLEW_GET_FUN(__glewBindVideoCaptureStreamTextureNV) +#define glEndVideoCaptureNV GLEW_GET_FUN(__glewEndVideoCaptureNV) +#define glGetVideoCaptureStreamdvNV GLEW_GET_FUN(__glewGetVideoCaptureStreamdvNV) +#define glGetVideoCaptureStreamfvNV GLEW_GET_FUN(__glewGetVideoCaptureStreamfvNV) +#define glGetVideoCaptureStreamivNV GLEW_GET_FUN(__glewGetVideoCaptureStreamivNV) +#define glGetVideoCaptureivNV GLEW_GET_FUN(__glewGetVideoCaptureivNV) +#define glVideoCaptureNV GLEW_GET_FUN(__glewVideoCaptureNV) +#define glVideoCaptureStreamParameterdvNV GLEW_GET_FUN(__glewVideoCaptureStreamParameterdvNV) +#define glVideoCaptureStreamParameterfvNV GLEW_GET_FUN(__glewVideoCaptureStreamParameterfvNV) +#define glVideoCaptureStreamParameterivNV GLEW_GET_FUN(__glewVideoCaptureStreamParameterivNV) + +#define GLEW_NV_video_capture GLEW_GET_VAR(__GLEW_NV_video_capture) + +#endif /* GL_NV_video_capture */ + +/* ------------------------- GL_NV_viewport_array2 ------------------------- */ + +#ifndef GL_NV_viewport_array2 +#define GL_NV_viewport_array2 1 + +#define GLEW_NV_viewport_array2 GLEW_GET_VAR(__GLEW_NV_viewport_array2) + +#endif /* GL_NV_viewport_array2 */ + +/* ------------------------ GL_OES_byte_coordinates ------------------------ */ + +#ifndef GL_OES_byte_coordinates +#define GL_OES_byte_coordinates 1 + +#define GLEW_OES_byte_coordinates GLEW_GET_VAR(__GLEW_OES_byte_coordinates) + +#endif /* GL_OES_byte_coordinates */ + +/* ------------------- GL_OES_compressed_paletted_texture ------------------ */ + +#ifndef GL_OES_compressed_paletted_texture +#define GL_OES_compressed_paletted_texture 1 + +#define GL_PALETTE4_RGB8_OES 0x8B90 +#define GL_PALETTE4_RGBA8_OES 0x8B91 +#define GL_PALETTE4_R5_G6_B5_OES 0x8B92 +#define GL_PALETTE4_RGBA4_OES 0x8B93 +#define GL_PALETTE4_RGB5_A1_OES 0x8B94 +#define GL_PALETTE8_RGB8_OES 0x8B95 +#define GL_PALETTE8_RGBA8_OES 0x8B96 +#define GL_PALETTE8_R5_G6_B5_OES 0x8B97 +#define GL_PALETTE8_RGBA4_OES 0x8B98 +#define GL_PALETTE8_RGB5_A1_OES 0x8B99 + +#define GLEW_OES_compressed_paletted_texture GLEW_GET_VAR(__GLEW_OES_compressed_paletted_texture) + +#endif /* GL_OES_compressed_paletted_texture */ + +/* --------------------------- GL_OES_read_format -------------------------- */ + +#ifndef GL_OES_read_format +#define GL_OES_read_format 1 + +#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B + +#define GLEW_OES_read_format GLEW_GET_VAR(__GLEW_OES_read_format) + +#endif /* GL_OES_read_format */ + +/* ------------------------ GL_OES_single_precision ------------------------ */ + +#ifndef GL_OES_single_precision +#define GL_OES_single_precision 1 + +typedef void (GLAPIENTRY * PFNGLCLEARDEPTHFOESPROC) (GLclampf depth); +typedef void (GLAPIENTRY * PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat* equation); +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEFOESPROC) (GLclampf n, GLclampf f); +typedef void (GLAPIENTRY * PFNGLFRUSTUMFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); +typedef void (GLAPIENTRY * PFNGLGETCLIPPLANEFOESPROC) (GLenum plane, GLfloat* equation); +typedef void (GLAPIENTRY * PFNGLORTHOFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); + +#define glClearDepthfOES GLEW_GET_FUN(__glewClearDepthfOES) +#define glClipPlanefOES GLEW_GET_FUN(__glewClipPlanefOES) +#define glDepthRangefOES GLEW_GET_FUN(__glewDepthRangefOES) +#define glFrustumfOES GLEW_GET_FUN(__glewFrustumfOES) +#define glGetClipPlanefOES GLEW_GET_FUN(__glewGetClipPlanefOES) +#define glOrthofOES GLEW_GET_FUN(__glewOrthofOES) + +#define GLEW_OES_single_precision GLEW_GET_VAR(__GLEW_OES_single_precision) + +#endif /* GL_OES_single_precision */ + +/* ---------------------------- GL_OML_interlace --------------------------- */ + +#ifndef GL_OML_interlace +#define GL_OML_interlace 1 + +#define GL_INTERLACE_OML 0x8980 +#define GL_INTERLACE_READ_OML 0x8981 + +#define GLEW_OML_interlace GLEW_GET_VAR(__GLEW_OML_interlace) + +#endif /* GL_OML_interlace */ + +/* ---------------------------- GL_OML_resample ---------------------------- */ + +#ifndef GL_OML_resample +#define GL_OML_resample 1 + +#define GL_PACK_RESAMPLE_OML 0x8984 +#define GL_UNPACK_RESAMPLE_OML 0x8985 +#define GL_RESAMPLE_REPLICATE_OML 0x8986 +#define GL_RESAMPLE_ZERO_FILL_OML 0x8987 +#define GL_RESAMPLE_AVERAGE_OML 0x8988 +#define GL_RESAMPLE_DECIMATE_OML 0x8989 + +#define GLEW_OML_resample GLEW_GET_VAR(__GLEW_OML_resample) + +#endif /* GL_OML_resample */ + +/* ---------------------------- GL_OML_subsample --------------------------- */ + +#ifndef GL_OML_subsample +#define GL_OML_subsample 1 + +#define GL_FORMAT_SUBSAMPLE_24_24_OML 0x8982 +#define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983 + +#define GLEW_OML_subsample GLEW_GET_VAR(__GLEW_OML_subsample) + +#endif /* GL_OML_subsample */ + +/* ---------------------------- GL_OVR_multiview --------------------------- */ + +#ifndef GL_OVR_multiview +#define GL_OVR_multiview 1 + +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR 0x9630 +#define GL_MAX_VIEWS_OVR 0x9631 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR 0x9632 +#define GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR 0x9633 + +typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews); + +#define glFramebufferTextureMultiviewOVR GLEW_GET_FUN(__glewFramebufferTextureMultiviewOVR) + +#define GLEW_OVR_multiview GLEW_GET_VAR(__GLEW_OVR_multiview) + +#endif /* GL_OVR_multiview */ + +/* --------------------------- GL_OVR_multiview2 --------------------------- */ + +#ifndef GL_OVR_multiview2 +#define GL_OVR_multiview2 1 + +#define GLEW_OVR_multiview2 GLEW_GET_VAR(__GLEW_OVR_multiview2) + +#endif /* GL_OVR_multiview2 */ + +/* --------------------------- GL_PGI_misc_hints --------------------------- */ + +#ifndef GL_PGI_misc_hints +#define GL_PGI_misc_hints 1 + +#define GL_PREFER_DOUBLEBUFFER_HINT_PGI 107000 +#define GL_CONSERVE_MEMORY_HINT_PGI 107005 +#define GL_RECLAIM_MEMORY_HINT_PGI 107006 +#define GL_NATIVE_GRAPHICS_HANDLE_PGI 107010 +#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 107011 +#define GL_NATIVE_GRAPHICS_END_HINT_PGI 107012 +#define GL_ALWAYS_FAST_HINT_PGI 107020 +#define GL_ALWAYS_SOFT_HINT_PGI 107021 +#define GL_ALLOW_DRAW_OBJ_HINT_PGI 107022 +#define GL_ALLOW_DRAW_WIN_HINT_PGI 107023 +#define GL_ALLOW_DRAW_FRG_HINT_PGI 107024 +#define GL_ALLOW_DRAW_MEM_HINT_PGI 107025 +#define GL_STRICT_DEPTHFUNC_HINT_PGI 107030 +#define GL_STRICT_LIGHTING_HINT_PGI 107031 +#define GL_STRICT_SCISSOR_HINT_PGI 107032 +#define GL_FULL_STIPPLE_HINT_PGI 107033 +#define GL_CLIP_NEAR_HINT_PGI 107040 +#define GL_CLIP_FAR_HINT_PGI 107041 +#define GL_WIDE_LINE_HINT_PGI 107042 +#define GL_BACK_NORMALS_HINT_PGI 107043 + +#define GLEW_PGI_misc_hints GLEW_GET_VAR(__GLEW_PGI_misc_hints) + +#endif /* GL_PGI_misc_hints */ + +/* -------------------------- GL_PGI_vertex_hints -------------------------- */ + +#ifndef GL_PGI_vertex_hints +#define GL_PGI_vertex_hints 1 + +#define GL_VERTEX23_BIT_PGI 0x00000004 +#define GL_VERTEX4_BIT_PGI 0x00000008 +#define GL_COLOR3_BIT_PGI 0x00010000 +#define GL_COLOR4_BIT_PGI 0x00020000 +#define GL_EDGEFLAG_BIT_PGI 0x00040000 +#define GL_INDEX_BIT_PGI 0x00080000 +#define GL_MAT_AMBIENT_BIT_PGI 0x00100000 +#define GL_VERTEX_DATA_HINT_PGI 107050 +#define GL_VERTEX_CONSISTENT_HINT_PGI 107051 +#define GL_MATERIAL_SIDE_HINT_PGI 107052 +#define GL_MAX_VERTEX_HINT_PGI 107053 +#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000 +#define GL_MAT_DIFFUSE_BIT_PGI 0x00400000 +#define GL_MAT_EMISSION_BIT_PGI 0x00800000 +#define GL_MAT_COLOR_INDEXES_BIT_PGI 0x01000000 +#define GL_MAT_SHININESS_BIT_PGI 0x02000000 +#define GL_MAT_SPECULAR_BIT_PGI 0x04000000 +#define GL_NORMAL_BIT_PGI 0x08000000 +#define GL_TEXCOORD1_BIT_PGI 0x10000000 +#define GL_TEXCOORD2_BIT_PGI 0x20000000 +#define GL_TEXCOORD3_BIT_PGI 0x40000000 +#define GL_TEXCOORD4_BIT_PGI 0x80000000 + +#define GLEW_PGI_vertex_hints GLEW_GET_VAR(__GLEW_PGI_vertex_hints) + +#endif /* GL_PGI_vertex_hints */ + +/* ---------------------- GL_REGAL_ES1_0_compatibility --------------------- */ + +#ifndef GL_REGAL_ES1_0_compatibility +#define GL_REGAL_ES1_0_compatibility 1 + +typedef int GLclampx; + +typedef void (GLAPIENTRY * PFNGLALPHAFUNCXPROC) (GLenum func, GLclampx ref); +typedef void (GLAPIENTRY * PFNGLCLEARCOLORXPROC) (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); +typedef void (GLAPIENTRY * PFNGLCLEARDEPTHXPROC) (GLclampx depth); +typedef void (GLAPIENTRY * PFNGLCOLOR4XPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); +typedef void (GLAPIENTRY * PFNGLDEPTHRANGEXPROC) (GLclampx zNear, GLclampx zFar); +typedef void (GLAPIENTRY * PFNGLFOGXPROC) (GLenum pname, GLfixed param); +typedef void (GLAPIENTRY * PFNGLFOGXVPROC) (GLenum pname, const GLfixed* params); +typedef void (GLAPIENTRY * PFNGLFRUSTUMFPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +typedef void (GLAPIENTRY * PFNGLFRUSTUMXPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +typedef void (GLAPIENTRY * PFNGLLIGHTMODELXPROC) (GLenum pname, GLfixed param); +typedef void (GLAPIENTRY * PFNGLLIGHTMODELXVPROC) (GLenum pname, const GLfixed* params); +typedef void (GLAPIENTRY * PFNGLLIGHTXPROC) (GLenum light, GLenum pname, GLfixed param); +typedef void (GLAPIENTRY * PFNGLLIGHTXVPROC) (GLenum light, GLenum pname, const GLfixed* params); +typedef void (GLAPIENTRY * PFNGLLINEWIDTHXPROC) (GLfixed width); +typedef void (GLAPIENTRY * PFNGLLOADMATRIXXPROC) (const GLfixed* m); +typedef void (GLAPIENTRY * PFNGLMATERIALXPROC) (GLenum face, GLenum pname, GLfixed param); +typedef void (GLAPIENTRY * PFNGLMATERIALXVPROC) (GLenum face, GLenum pname, const GLfixed* params); +typedef void (GLAPIENTRY * PFNGLMULTMATRIXXPROC) (const GLfixed* m); +typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4XPROC) (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); +typedef void (GLAPIENTRY * PFNGLNORMAL3XPROC) (GLfixed nx, GLfixed ny, GLfixed nz); +typedef void (GLAPIENTRY * PFNGLORTHOFPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +typedef void (GLAPIENTRY * PFNGLORTHOXPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +typedef void (GLAPIENTRY * PFNGLPOINTSIZEXPROC) (GLfixed size); +typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETXPROC) (GLfixed factor, GLfixed units); +typedef void (GLAPIENTRY * PFNGLROTATEXPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); +typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEXPROC) (GLclampx value, GLboolean invert); +typedef void (GLAPIENTRY * PFNGLSCALEXPROC) (GLfixed x, GLfixed y, GLfixed z); +typedef void (GLAPIENTRY * PFNGLTEXENVXPROC) (GLenum target, GLenum pname, GLfixed param); +typedef void (GLAPIENTRY * PFNGLTEXENVXVPROC) (GLenum target, GLenum pname, const GLfixed* params); +typedef void (GLAPIENTRY * PFNGLTEXPARAMETERXPROC) (GLenum target, GLenum pname, GLfixed param); +typedef void (GLAPIENTRY * PFNGLTRANSLATEXPROC) (GLfixed x, GLfixed y, GLfixed z); + +#define glAlphaFuncx GLEW_GET_FUN(__glewAlphaFuncx) +#define glClearColorx GLEW_GET_FUN(__glewClearColorx) +#define glClearDepthx GLEW_GET_FUN(__glewClearDepthx) +#define glColor4x GLEW_GET_FUN(__glewColor4x) +#define glDepthRangex GLEW_GET_FUN(__glewDepthRangex) +#define glFogx GLEW_GET_FUN(__glewFogx) +#define glFogxv GLEW_GET_FUN(__glewFogxv) +#define glFrustumf GLEW_GET_FUN(__glewFrustumf) +#define glFrustumx GLEW_GET_FUN(__glewFrustumx) +#define glLightModelx GLEW_GET_FUN(__glewLightModelx) +#define glLightModelxv GLEW_GET_FUN(__glewLightModelxv) +#define glLightx GLEW_GET_FUN(__glewLightx) +#define glLightxv GLEW_GET_FUN(__glewLightxv) +#define glLineWidthx GLEW_GET_FUN(__glewLineWidthx) +#define glLoadMatrixx GLEW_GET_FUN(__glewLoadMatrixx) +#define glMaterialx GLEW_GET_FUN(__glewMaterialx) +#define glMaterialxv GLEW_GET_FUN(__glewMaterialxv) +#define glMultMatrixx GLEW_GET_FUN(__glewMultMatrixx) +#define glMultiTexCoord4x GLEW_GET_FUN(__glewMultiTexCoord4x) +#define glNormal3x GLEW_GET_FUN(__glewNormal3x) +#define glOrthof GLEW_GET_FUN(__glewOrthof) +#define glOrthox GLEW_GET_FUN(__glewOrthox) +#define glPointSizex GLEW_GET_FUN(__glewPointSizex) +#define glPolygonOffsetx GLEW_GET_FUN(__glewPolygonOffsetx) +#define glRotatex GLEW_GET_FUN(__glewRotatex) +#define glSampleCoveragex GLEW_GET_FUN(__glewSampleCoveragex) +#define glScalex GLEW_GET_FUN(__glewScalex) +#define glTexEnvx GLEW_GET_FUN(__glewTexEnvx) +#define glTexEnvxv GLEW_GET_FUN(__glewTexEnvxv) +#define glTexParameterx GLEW_GET_FUN(__glewTexParameterx) +#define glTranslatex GLEW_GET_FUN(__glewTranslatex) + +#define GLEW_REGAL_ES1_0_compatibility GLEW_GET_VAR(__GLEW_REGAL_ES1_0_compatibility) + +#endif /* GL_REGAL_ES1_0_compatibility */ + +/* ---------------------- GL_REGAL_ES1_1_compatibility --------------------- */ + +#ifndef GL_REGAL_ES1_1_compatibility +#define GL_REGAL_ES1_1_compatibility 1 + +typedef void (GLAPIENTRY * PFNGLCLIPPLANEFPROC) (GLenum plane, const GLfloat* equation); +typedef void (GLAPIENTRY * PFNGLCLIPPLANEXPROC) (GLenum plane, const GLfixed* equation); +typedef void (GLAPIENTRY * PFNGLGETCLIPPLANEFPROC) (GLenum pname, GLfloat eqn[4]); +typedef void (GLAPIENTRY * PFNGLGETCLIPPLANEXPROC) (GLenum pname, GLfixed eqn[4]); +typedef void (GLAPIENTRY * PFNGLGETFIXEDVPROC) (GLenum pname, GLfixed* params); +typedef void (GLAPIENTRY * PFNGLGETLIGHTXVPROC) (GLenum light, GLenum pname, GLfixed* params); +typedef void (GLAPIENTRY * PFNGLGETMATERIALXVPROC) (GLenum face, GLenum pname, GLfixed* params); +typedef void (GLAPIENTRY * PFNGLGETTEXENVXVPROC) (GLenum env, GLenum pname, GLfixed* params); +typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERXVPROC) (GLenum target, GLenum pname, GLfixed* params); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERXPROC) (GLenum pname, GLfixed param); +typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERXVPROC) (GLenum pname, const GLfixed* params); +typedef void (GLAPIENTRY * PFNGLPOINTSIZEPOINTEROESPROC) (GLenum type, GLsizei stride, const void *pointer); +typedef void (GLAPIENTRY * PFNGLTEXPARAMETERXVPROC) (GLenum target, GLenum pname, const GLfixed* params); + +#define glClipPlanef GLEW_GET_FUN(__glewClipPlanef) +#define glClipPlanex GLEW_GET_FUN(__glewClipPlanex) +#define glGetClipPlanef GLEW_GET_FUN(__glewGetClipPlanef) +#define glGetClipPlanex GLEW_GET_FUN(__glewGetClipPlanex) +#define glGetFixedv GLEW_GET_FUN(__glewGetFixedv) +#define glGetLightxv GLEW_GET_FUN(__glewGetLightxv) +#define glGetMaterialxv GLEW_GET_FUN(__glewGetMaterialxv) +#define glGetTexEnvxv GLEW_GET_FUN(__glewGetTexEnvxv) +#define glGetTexParameterxv GLEW_GET_FUN(__glewGetTexParameterxv) +#define glPointParameterx GLEW_GET_FUN(__glewPointParameterx) +#define glPointParameterxv GLEW_GET_FUN(__glewPointParameterxv) +#define glPointSizePointerOES GLEW_GET_FUN(__glewPointSizePointerOES) +#define glTexParameterxv GLEW_GET_FUN(__glewTexParameterxv) + +#define GLEW_REGAL_ES1_1_compatibility GLEW_GET_VAR(__GLEW_REGAL_ES1_1_compatibility) + +#endif /* GL_REGAL_ES1_1_compatibility */ + +/* ---------------------------- GL_REGAL_enable ---------------------------- */ + +#ifndef GL_REGAL_enable +#define GL_REGAL_enable 1 + +#define GL_ERROR_REGAL 0x9322 +#define GL_DEBUG_REGAL 0x9323 +#define GL_LOG_REGAL 0x9324 +#define GL_EMULATION_REGAL 0x9325 +#define GL_DRIVER_REGAL 0x9326 +#define GL_MISSING_REGAL 0x9360 +#define GL_TRACE_REGAL 0x9361 +#define GL_CACHE_REGAL 0x9362 +#define GL_CODE_REGAL 0x9363 +#define GL_STATISTICS_REGAL 0x9364 + +#define GLEW_REGAL_enable GLEW_GET_VAR(__GLEW_REGAL_enable) + +#endif /* GL_REGAL_enable */ + +/* ------------------------- GL_REGAL_error_string ------------------------- */ + +#ifndef GL_REGAL_error_string +#define GL_REGAL_error_string 1 + +typedef const GLchar* (GLAPIENTRY * PFNGLERRORSTRINGREGALPROC) (GLenum error); + +#define glErrorStringREGAL GLEW_GET_FUN(__glewErrorStringREGAL) + +#define GLEW_REGAL_error_string GLEW_GET_VAR(__GLEW_REGAL_error_string) + +#endif /* GL_REGAL_error_string */ + +/* ------------------------ GL_REGAL_extension_query ----------------------- */ + +#ifndef GL_REGAL_extension_query +#define GL_REGAL_extension_query 1 + +typedef GLboolean (GLAPIENTRY * PFNGLGETEXTENSIONREGALPROC) (const GLchar* ext); +typedef GLboolean (GLAPIENTRY * PFNGLISSUPPORTEDREGALPROC) (const GLchar* ext); + +#define glGetExtensionREGAL GLEW_GET_FUN(__glewGetExtensionREGAL) +#define glIsSupportedREGAL GLEW_GET_FUN(__glewIsSupportedREGAL) + +#define GLEW_REGAL_extension_query GLEW_GET_VAR(__GLEW_REGAL_extension_query) + +#endif /* GL_REGAL_extension_query */ + +/* ------------------------------ GL_REGAL_log ----------------------------- */ + +#ifndef GL_REGAL_log +#define GL_REGAL_log 1 + +#define GL_LOG_ERROR_REGAL 0x9319 +#define GL_LOG_WARNING_REGAL 0x931A +#define GL_LOG_INFO_REGAL 0x931B +#define GL_LOG_APP_REGAL 0x931C +#define GL_LOG_DRIVER_REGAL 0x931D +#define GL_LOG_INTERNAL_REGAL 0x931E +#define GL_LOG_DEBUG_REGAL 0x931F +#define GL_LOG_STATUS_REGAL 0x9320 +#define GL_LOG_HTTP_REGAL 0x9321 + +typedef void (APIENTRY *GLLOGPROCREGAL)(GLenum stream, GLsizei length, const GLchar *message, void *context); + +typedef void (GLAPIENTRY * PFNGLLOGMESSAGECALLBACKREGALPROC) (GLLOGPROCREGAL callback); + +#define glLogMessageCallbackREGAL GLEW_GET_FUN(__glewLogMessageCallbackREGAL) + +#define GLEW_REGAL_log GLEW_GET_VAR(__GLEW_REGAL_log) + +#endif /* GL_REGAL_log */ + +/* ------------------------- GL_REGAL_proc_address ------------------------- */ + +#ifndef GL_REGAL_proc_address +#define GL_REGAL_proc_address 1 + +typedef void * (GLAPIENTRY * PFNGLGETPROCADDRESSREGALPROC) (const GLchar *name); + +#define glGetProcAddressREGAL GLEW_GET_FUN(__glewGetProcAddressREGAL) + +#define GLEW_REGAL_proc_address GLEW_GET_VAR(__GLEW_REGAL_proc_address) + +#endif /* GL_REGAL_proc_address */ + +/* ----------------------- GL_REND_screen_coordinates ---------------------- */ + +#ifndef GL_REND_screen_coordinates +#define GL_REND_screen_coordinates 1 + +#define GL_SCREEN_COORDINATES_REND 0x8490 +#define GL_INVERTED_SCREEN_W_REND 0x8491 + +#define GLEW_REND_screen_coordinates GLEW_GET_VAR(__GLEW_REND_screen_coordinates) + +#endif /* GL_REND_screen_coordinates */ + +/* ------------------------------- GL_S3_s3tc ------------------------------ */ + +#ifndef GL_S3_s3tc +#define GL_S3_s3tc 1 + +#define GL_RGB_S3TC 0x83A0 +#define GL_RGB4_S3TC 0x83A1 +#define GL_RGBA_S3TC 0x83A2 +#define GL_RGBA4_S3TC 0x83A3 +#define GL_RGBA_DXT5_S3TC 0x83A4 +#define GL_RGBA4_DXT5_S3TC 0x83A5 + +#define GLEW_S3_s3tc GLEW_GET_VAR(__GLEW_S3_s3tc) + +#endif /* GL_S3_s3tc */ + +/* -------------------------- GL_SGIS_color_range -------------------------- */ + +#ifndef GL_SGIS_color_range +#define GL_SGIS_color_range 1 + +#define GL_EXTENDED_RANGE_SGIS 0x85A5 +#define GL_MIN_RED_SGIS 0x85A6 +#define GL_MAX_RED_SGIS 0x85A7 +#define GL_MIN_GREEN_SGIS 0x85A8 +#define GL_MAX_GREEN_SGIS 0x85A9 +#define GL_MIN_BLUE_SGIS 0x85AA +#define GL_MAX_BLUE_SGIS 0x85AB +#define GL_MIN_ALPHA_SGIS 0x85AC +#define GL_MAX_ALPHA_SGIS 0x85AD + +#define GLEW_SGIS_color_range GLEW_GET_VAR(__GLEW_SGIS_color_range) + +#endif /* GL_SGIS_color_range */ + +/* ------------------------- GL_SGIS_detail_texture ------------------------ */ + +#ifndef GL_SGIS_detail_texture +#define GL_SGIS_detail_texture 1 + +typedef void (GLAPIENTRY * PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat* points); +typedef void (GLAPIENTRY * PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat* points); + +#define glDetailTexFuncSGIS GLEW_GET_FUN(__glewDetailTexFuncSGIS) +#define glGetDetailTexFuncSGIS GLEW_GET_FUN(__glewGetDetailTexFuncSGIS) + +#define GLEW_SGIS_detail_texture GLEW_GET_VAR(__GLEW_SGIS_detail_texture) + +#endif /* GL_SGIS_detail_texture */ + +/* -------------------------- GL_SGIS_fog_function ------------------------- */ + +#ifndef GL_SGIS_fog_function +#define GL_SGIS_fog_function 1 + +typedef void (GLAPIENTRY * PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat* points); +typedef void (GLAPIENTRY * PFNGLGETFOGFUNCSGISPROC) (GLfloat* points); + +#define glFogFuncSGIS GLEW_GET_FUN(__glewFogFuncSGIS) +#define glGetFogFuncSGIS GLEW_GET_FUN(__glewGetFogFuncSGIS) + +#define GLEW_SGIS_fog_function GLEW_GET_VAR(__GLEW_SGIS_fog_function) + +#endif /* GL_SGIS_fog_function */ + +/* ------------------------ GL_SGIS_generate_mipmap ------------------------ */ + +#ifndef GL_SGIS_generate_mipmap +#define GL_SGIS_generate_mipmap 1 + +#define GL_GENERATE_MIPMAP_SGIS 0x8191 +#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192 + +#define GLEW_SGIS_generate_mipmap GLEW_GET_VAR(__GLEW_SGIS_generate_mipmap) + +#endif /* GL_SGIS_generate_mipmap */ + +/* -------------------------- GL_SGIS_multisample -------------------------- */ + +#ifndef GL_SGIS_multisample +#define GL_SGIS_multisample 1 + +#define GL_MULTISAMPLE_SGIS 0x809D +#define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE_SGIS 0x809F +#define GL_SAMPLE_MASK_SGIS 0x80A0 +#define GL_1PASS_SGIS 0x80A1 +#define GL_2PASS_0_SGIS 0x80A2 +#define GL_2PASS_1_SGIS 0x80A3 +#define GL_4PASS_0_SGIS 0x80A4 +#define GL_4PASS_1_SGIS 0x80A5 +#define GL_4PASS_2_SGIS 0x80A6 +#define GL_4PASS_3_SGIS 0x80A7 +#define GL_SAMPLE_BUFFERS_SGIS 0x80A8 +#define GL_SAMPLES_SGIS 0x80A9 +#define GL_SAMPLE_MASK_VALUE_SGIS 0x80AA +#define GL_SAMPLE_MASK_INVERT_SGIS 0x80AB +#define GL_SAMPLE_PATTERN_SGIS 0x80AC + +typedef void (GLAPIENTRY * PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert); +typedef void (GLAPIENTRY * PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern); + +#define glSampleMaskSGIS GLEW_GET_FUN(__glewSampleMaskSGIS) +#define glSamplePatternSGIS GLEW_GET_FUN(__glewSamplePatternSGIS) + +#define GLEW_SGIS_multisample GLEW_GET_VAR(__GLEW_SGIS_multisample) + +#endif /* GL_SGIS_multisample */ + +/* ------------------------- GL_SGIS_pixel_texture ------------------------- */ + +#ifndef GL_SGIS_pixel_texture +#define GL_SGIS_pixel_texture 1 + +#define GLEW_SGIS_pixel_texture GLEW_GET_VAR(__GLEW_SGIS_pixel_texture) + +#endif /* GL_SGIS_pixel_texture */ + +/* ----------------------- GL_SGIS_point_line_texgen ----------------------- */ + +#ifndef GL_SGIS_point_line_texgen +#define GL_SGIS_point_line_texgen 1 + +#define GL_EYE_DISTANCE_TO_POINT_SGIS 0x81F0 +#define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81F1 +#define GL_EYE_DISTANCE_TO_LINE_SGIS 0x81F2 +#define GL_OBJECT_DISTANCE_TO_LINE_SGIS 0x81F3 +#define GL_EYE_POINT_SGIS 0x81F4 +#define GL_OBJECT_POINT_SGIS 0x81F5 +#define GL_EYE_LINE_SGIS 0x81F6 +#define GL_OBJECT_LINE_SGIS 0x81F7 + +#define GLEW_SGIS_point_line_texgen GLEW_GET_VAR(__GLEW_SGIS_point_line_texgen) + +#endif /* GL_SGIS_point_line_texgen */ + +/* ------------------------ GL_SGIS_sharpen_texture ------------------------ */ + +#ifndef GL_SGIS_sharpen_texture +#define GL_SGIS_sharpen_texture 1 + +typedef void (GLAPIENTRY * PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat* points); +typedef void (GLAPIENTRY * PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat* points); + +#define glGetSharpenTexFuncSGIS GLEW_GET_FUN(__glewGetSharpenTexFuncSGIS) +#define glSharpenTexFuncSGIS GLEW_GET_FUN(__glewSharpenTexFuncSGIS) + +#define GLEW_SGIS_sharpen_texture GLEW_GET_VAR(__GLEW_SGIS_sharpen_texture) + +#endif /* GL_SGIS_sharpen_texture */ + +/* --------------------------- GL_SGIS_texture4D --------------------------- */ + +#ifndef GL_SGIS_texture4D +#define GL_SGIS_texture4D 1 + +typedef void (GLAPIENTRY * PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei extent, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei extent, GLenum format, GLenum type, const void *pixels); + +#define glTexImage4DSGIS GLEW_GET_FUN(__glewTexImage4DSGIS) +#define glTexSubImage4DSGIS GLEW_GET_FUN(__glewTexSubImage4DSGIS) + +#define GLEW_SGIS_texture4D GLEW_GET_VAR(__GLEW_SGIS_texture4D) + +#endif /* GL_SGIS_texture4D */ + +/* ---------------------- GL_SGIS_texture_border_clamp --------------------- */ + +#ifndef GL_SGIS_texture_border_clamp +#define GL_SGIS_texture_border_clamp 1 + +#define GL_CLAMP_TO_BORDER_SGIS 0x812D + +#define GLEW_SGIS_texture_border_clamp GLEW_GET_VAR(__GLEW_SGIS_texture_border_clamp) + +#endif /* GL_SGIS_texture_border_clamp */ + +/* ----------------------- GL_SGIS_texture_edge_clamp ---------------------- */ + +#ifndef GL_SGIS_texture_edge_clamp +#define GL_SGIS_texture_edge_clamp 1 + +#define GL_CLAMP_TO_EDGE_SGIS 0x812F + +#define GLEW_SGIS_texture_edge_clamp GLEW_GET_VAR(__GLEW_SGIS_texture_edge_clamp) + +#endif /* GL_SGIS_texture_edge_clamp */ + +/* ------------------------ GL_SGIS_texture_filter4 ------------------------ */ + +#ifndef GL_SGIS_texture_filter4 +#define GL_SGIS_texture_filter4 1 + +typedef void (GLAPIENTRY * PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat* weights); +typedef void (GLAPIENTRY * PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat* weights); + +#define glGetTexFilterFuncSGIS GLEW_GET_FUN(__glewGetTexFilterFuncSGIS) +#define glTexFilterFuncSGIS GLEW_GET_FUN(__glewTexFilterFuncSGIS) + +#define GLEW_SGIS_texture_filter4 GLEW_GET_VAR(__GLEW_SGIS_texture_filter4) + +#endif /* GL_SGIS_texture_filter4 */ + +/* -------------------------- GL_SGIS_texture_lod -------------------------- */ + +#ifndef GL_SGIS_texture_lod +#define GL_SGIS_texture_lod 1 + +#define GL_TEXTURE_MIN_LOD_SGIS 0x813A +#define GL_TEXTURE_MAX_LOD_SGIS 0x813B +#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C +#define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D + +#define GLEW_SGIS_texture_lod GLEW_GET_VAR(__GLEW_SGIS_texture_lod) + +#endif /* GL_SGIS_texture_lod */ + +/* ------------------------- GL_SGIS_texture_select ------------------------ */ + +#ifndef GL_SGIS_texture_select +#define GL_SGIS_texture_select 1 + +#define GLEW_SGIS_texture_select GLEW_GET_VAR(__GLEW_SGIS_texture_select) + +#endif /* GL_SGIS_texture_select */ + +/* ----------------------------- GL_SGIX_async ----------------------------- */ + +#ifndef GL_SGIX_async +#define GL_SGIX_async 1 + +#define GL_ASYNC_MARKER_SGIX 0x8329 + +typedef void (GLAPIENTRY * PFNGLASYNCMARKERSGIXPROC) (GLuint marker); +typedef void (GLAPIENTRY * PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range); +typedef GLint (GLAPIENTRY * PFNGLFINISHASYNCSGIXPROC) (GLuint* markerp); +typedef GLuint (GLAPIENTRY * PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range); +typedef GLboolean (GLAPIENTRY * PFNGLISASYNCMARKERSGIXPROC) (GLuint marker); +typedef GLint (GLAPIENTRY * PFNGLPOLLASYNCSGIXPROC) (GLuint* markerp); + +#define glAsyncMarkerSGIX GLEW_GET_FUN(__glewAsyncMarkerSGIX) +#define glDeleteAsyncMarkersSGIX GLEW_GET_FUN(__glewDeleteAsyncMarkersSGIX) +#define glFinishAsyncSGIX GLEW_GET_FUN(__glewFinishAsyncSGIX) +#define glGenAsyncMarkersSGIX GLEW_GET_FUN(__glewGenAsyncMarkersSGIX) +#define glIsAsyncMarkerSGIX GLEW_GET_FUN(__glewIsAsyncMarkerSGIX) +#define glPollAsyncSGIX GLEW_GET_FUN(__glewPollAsyncSGIX) + +#define GLEW_SGIX_async GLEW_GET_VAR(__GLEW_SGIX_async) + +#endif /* GL_SGIX_async */ + +/* ------------------------ GL_SGIX_async_histogram ------------------------ */ + +#ifndef GL_SGIX_async_histogram +#define GL_SGIX_async_histogram 1 + +#define GL_ASYNC_HISTOGRAM_SGIX 0x832C +#define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832D + +#define GLEW_SGIX_async_histogram GLEW_GET_VAR(__GLEW_SGIX_async_histogram) + +#endif /* GL_SGIX_async_histogram */ + +/* -------------------------- GL_SGIX_async_pixel -------------------------- */ + +#ifndef GL_SGIX_async_pixel +#define GL_SGIX_async_pixel 1 + +#define GL_ASYNC_TEX_IMAGE_SGIX 0x835C +#define GL_ASYNC_DRAW_PIXELS_SGIX 0x835D +#define GL_ASYNC_READ_PIXELS_SGIX 0x835E +#define GL_MAX_ASYNC_TEX_IMAGE_SGIX 0x835F +#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360 +#define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361 + +#define GLEW_SGIX_async_pixel GLEW_GET_VAR(__GLEW_SGIX_async_pixel) + +#endif /* GL_SGIX_async_pixel */ + +/* ----------------------- GL_SGIX_blend_alpha_minmax ---------------------- */ + +#ifndef GL_SGIX_blend_alpha_minmax +#define GL_SGIX_blend_alpha_minmax 1 + +#define GL_ALPHA_MIN_SGIX 0x8320 +#define GL_ALPHA_MAX_SGIX 0x8321 + +#define GLEW_SGIX_blend_alpha_minmax GLEW_GET_VAR(__GLEW_SGIX_blend_alpha_minmax) + +#endif /* GL_SGIX_blend_alpha_minmax */ + +/* ---------------------------- GL_SGIX_clipmap ---------------------------- */ + +#ifndef GL_SGIX_clipmap +#define GL_SGIX_clipmap 1 + +#define GLEW_SGIX_clipmap GLEW_GET_VAR(__GLEW_SGIX_clipmap) + +#endif /* GL_SGIX_clipmap */ + +/* ---------------------- GL_SGIX_convolution_accuracy --------------------- */ + +#ifndef GL_SGIX_convolution_accuracy +#define GL_SGIX_convolution_accuracy 1 + +#define GL_CONVOLUTION_HINT_SGIX 0x8316 + +#define GLEW_SGIX_convolution_accuracy GLEW_GET_VAR(__GLEW_SGIX_convolution_accuracy) + +#endif /* GL_SGIX_convolution_accuracy */ + +/* ------------------------- GL_SGIX_depth_texture ------------------------- */ + +#ifndef GL_SGIX_depth_texture +#define GL_SGIX_depth_texture 1 + +#define GL_DEPTH_COMPONENT16_SGIX 0x81A5 +#define GL_DEPTH_COMPONENT24_SGIX 0x81A6 +#define GL_DEPTH_COMPONENT32_SGIX 0x81A7 + +#define GLEW_SGIX_depth_texture GLEW_GET_VAR(__GLEW_SGIX_depth_texture) + +#endif /* GL_SGIX_depth_texture */ + +/* -------------------------- GL_SGIX_flush_raster ------------------------- */ + +#ifndef GL_SGIX_flush_raster +#define GL_SGIX_flush_raster 1 + +typedef void (GLAPIENTRY * PFNGLFLUSHRASTERSGIXPROC) (void); + +#define glFlushRasterSGIX GLEW_GET_FUN(__glewFlushRasterSGIX) + +#define GLEW_SGIX_flush_raster GLEW_GET_VAR(__GLEW_SGIX_flush_raster) + +#endif /* GL_SGIX_flush_raster */ + +/* --------------------------- GL_SGIX_fog_offset -------------------------- */ + +#ifndef GL_SGIX_fog_offset +#define GL_SGIX_fog_offset 1 + +#define GL_FOG_OFFSET_SGIX 0x8198 +#define GL_FOG_OFFSET_VALUE_SGIX 0x8199 + +#define GLEW_SGIX_fog_offset GLEW_GET_VAR(__GLEW_SGIX_fog_offset) + +#endif /* GL_SGIX_fog_offset */ + +/* -------------------------- GL_SGIX_fog_texture -------------------------- */ + +#ifndef GL_SGIX_fog_texture +#define GL_SGIX_fog_texture 1 + +#define GL_FOG_PATCHY_FACTOR_SGIX 0 +#define GL_FRAGMENT_FOG_SGIX 0 +#define GL_TEXTURE_FOG_SGIX 0 + +typedef void (GLAPIENTRY * PFNGLTEXTUREFOGSGIXPROC) (GLenum pname); + +#define glTextureFogSGIX GLEW_GET_FUN(__glewTextureFogSGIX) + +#define GLEW_SGIX_fog_texture GLEW_GET_VAR(__GLEW_SGIX_fog_texture) + +#endif /* GL_SGIX_fog_texture */ + +/* ------------------- GL_SGIX_fragment_specular_lighting ------------------ */ + +#ifndef GL_SGIX_fragment_specular_lighting +#define GL_SGIX_fragment_specular_lighting 1 + +typedef void (GLAPIENTRY * PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, const GLfloat param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, const GLint param); +typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum value, GLfloat* data); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum value, GLint* data); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat* data); +typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint* data); + +#define glFragmentColorMaterialSGIX GLEW_GET_FUN(__glewFragmentColorMaterialSGIX) +#define glFragmentLightModelfSGIX GLEW_GET_FUN(__glewFragmentLightModelfSGIX) +#define glFragmentLightModelfvSGIX GLEW_GET_FUN(__glewFragmentLightModelfvSGIX) +#define glFragmentLightModeliSGIX GLEW_GET_FUN(__glewFragmentLightModeliSGIX) +#define glFragmentLightModelivSGIX GLEW_GET_FUN(__glewFragmentLightModelivSGIX) +#define glFragmentLightfSGIX GLEW_GET_FUN(__glewFragmentLightfSGIX) +#define glFragmentLightfvSGIX GLEW_GET_FUN(__glewFragmentLightfvSGIX) +#define glFragmentLightiSGIX GLEW_GET_FUN(__glewFragmentLightiSGIX) +#define glFragmentLightivSGIX GLEW_GET_FUN(__glewFragmentLightivSGIX) +#define glFragmentMaterialfSGIX GLEW_GET_FUN(__glewFragmentMaterialfSGIX) +#define glFragmentMaterialfvSGIX GLEW_GET_FUN(__glewFragmentMaterialfvSGIX) +#define glFragmentMaterialiSGIX GLEW_GET_FUN(__glewFragmentMaterialiSGIX) +#define glFragmentMaterialivSGIX GLEW_GET_FUN(__glewFragmentMaterialivSGIX) +#define glGetFragmentLightfvSGIX GLEW_GET_FUN(__glewGetFragmentLightfvSGIX) +#define glGetFragmentLightivSGIX GLEW_GET_FUN(__glewGetFragmentLightivSGIX) +#define glGetFragmentMaterialfvSGIX GLEW_GET_FUN(__glewGetFragmentMaterialfvSGIX) +#define glGetFragmentMaterialivSGIX GLEW_GET_FUN(__glewGetFragmentMaterialivSGIX) + +#define GLEW_SGIX_fragment_specular_lighting GLEW_GET_VAR(__GLEW_SGIX_fragment_specular_lighting) + +#endif /* GL_SGIX_fragment_specular_lighting */ + +/* --------------------------- GL_SGIX_framezoom --------------------------- */ + +#ifndef GL_SGIX_framezoom +#define GL_SGIX_framezoom 1 + +typedef void (GLAPIENTRY * PFNGLFRAMEZOOMSGIXPROC) (GLint factor); + +#define glFrameZoomSGIX GLEW_GET_FUN(__glewFrameZoomSGIX) + +#define GLEW_SGIX_framezoom GLEW_GET_VAR(__GLEW_SGIX_framezoom) + +#endif /* GL_SGIX_framezoom */ + +/* --------------------------- GL_SGIX_interlace --------------------------- */ + +#ifndef GL_SGIX_interlace +#define GL_SGIX_interlace 1 + +#define GL_INTERLACE_SGIX 0x8094 + +#define GLEW_SGIX_interlace GLEW_GET_VAR(__GLEW_SGIX_interlace) + +#endif /* GL_SGIX_interlace */ + +/* ------------------------- GL_SGIX_ir_instrument1 ------------------------ */ + +#ifndef GL_SGIX_ir_instrument1 +#define GL_SGIX_ir_instrument1 1 + +#define GLEW_SGIX_ir_instrument1 GLEW_GET_VAR(__GLEW_SGIX_ir_instrument1) + +#endif /* GL_SGIX_ir_instrument1 */ + +/* ------------------------- GL_SGIX_list_priority ------------------------- */ + +#ifndef GL_SGIX_list_priority +#define GL_SGIX_list_priority 1 + +#define GLEW_SGIX_list_priority GLEW_GET_VAR(__GLEW_SGIX_list_priority) + +#endif /* GL_SGIX_list_priority */ + +/* ------------------------- GL_SGIX_pixel_texture ------------------------- */ + +#ifndef GL_SGIX_pixel_texture +#define GL_SGIX_pixel_texture 1 + +typedef void (GLAPIENTRY * PFNGLPIXELTEXGENSGIXPROC) (GLenum mode); + +#define glPixelTexGenSGIX GLEW_GET_FUN(__glewPixelTexGenSGIX) + +#define GLEW_SGIX_pixel_texture GLEW_GET_VAR(__GLEW_SGIX_pixel_texture) + +#endif /* GL_SGIX_pixel_texture */ + +/* ----------------------- GL_SGIX_pixel_texture_bits ---------------------- */ + +#ifndef GL_SGIX_pixel_texture_bits +#define GL_SGIX_pixel_texture_bits 1 + +#define GLEW_SGIX_pixel_texture_bits GLEW_GET_VAR(__GLEW_SGIX_pixel_texture_bits) + +#endif /* GL_SGIX_pixel_texture_bits */ + +/* ------------------------ GL_SGIX_reference_plane ------------------------ */ + +#ifndef GL_SGIX_reference_plane +#define GL_SGIX_reference_plane 1 + +typedef void (GLAPIENTRY * PFNGLREFERENCEPLANESGIXPROC) (const GLdouble* equation); + +#define glReferencePlaneSGIX GLEW_GET_FUN(__glewReferencePlaneSGIX) + +#define GLEW_SGIX_reference_plane GLEW_GET_VAR(__GLEW_SGIX_reference_plane) + +#endif /* GL_SGIX_reference_plane */ + +/* ---------------------------- GL_SGIX_resample --------------------------- */ + +#ifndef GL_SGIX_resample +#define GL_SGIX_resample 1 + +#define GL_PACK_RESAMPLE_SGIX 0x842E +#define GL_UNPACK_RESAMPLE_SGIX 0x842F +#define GL_RESAMPLE_DECIMATE_SGIX 0x8430 +#define GL_RESAMPLE_REPLICATE_SGIX 0x8433 +#define GL_RESAMPLE_ZERO_FILL_SGIX 0x8434 + +#define GLEW_SGIX_resample GLEW_GET_VAR(__GLEW_SGIX_resample) + +#endif /* GL_SGIX_resample */ + +/* ----------------------------- GL_SGIX_shadow ---------------------------- */ + +#ifndef GL_SGIX_shadow +#define GL_SGIX_shadow 1 + +#define GL_TEXTURE_COMPARE_SGIX 0x819A +#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B +#define GL_TEXTURE_LEQUAL_R_SGIX 0x819C +#define GL_TEXTURE_GEQUAL_R_SGIX 0x819D + +#define GLEW_SGIX_shadow GLEW_GET_VAR(__GLEW_SGIX_shadow) + +#endif /* GL_SGIX_shadow */ + +/* ------------------------- GL_SGIX_shadow_ambient ------------------------ */ + +#ifndef GL_SGIX_shadow_ambient +#define GL_SGIX_shadow_ambient 1 + +#define GL_SHADOW_AMBIENT_SGIX 0x80BF + +#define GLEW_SGIX_shadow_ambient GLEW_GET_VAR(__GLEW_SGIX_shadow_ambient) + +#endif /* GL_SGIX_shadow_ambient */ + +/* ----------------------------- GL_SGIX_sprite ---------------------------- */ + +#ifndef GL_SGIX_sprite +#define GL_SGIX_sprite 1 + +typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param); +typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param); +typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, GLint* params); + +#define glSpriteParameterfSGIX GLEW_GET_FUN(__glewSpriteParameterfSGIX) +#define glSpriteParameterfvSGIX GLEW_GET_FUN(__glewSpriteParameterfvSGIX) +#define glSpriteParameteriSGIX GLEW_GET_FUN(__glewSpriteParameteriSGIX) +#define glSpriteParameterivSGIX GLEW_GET_FUN(__glewSpriteParameterivSGIX) + +#define GLEW_SGIX_sprite GLEW_GET_VAR(__GLEW_SGIX_sprite) + +#endif /* GL_SGIX_sprite */ + +/* ----------------------- GL_SGIX_tag_sample_buffer ----------------------- */ + +#ifndef GL_SGIX_tag_sample_buffer +#define GL_SGIX_tag_sample_buffer 1 + +typedef void (GLAPIENTRY * PFNGLTAGSAMPLEBUFFERSGIXPROC) (void); + +#define glTagSampleBufferSGIX GLEW_GET_FUN(__glewTagSampleBufferSGIX) + +#define GLEW_SGIX_tag_sample_buffer GLEW_GET_VAR(__GLEW_SGIX_tag_sample_buffer) + +#endif /* GL_SGIX_tag_sample_buffer */ + +/* ------------------------ GL_SGIX_texture_add_env ------------------------ */ + +#ifndef GL_SGIX_texture_add_env +#define GL_SGIX_texture_add_env 1 + +#define GLEW_SGIX_texture_add_env GLEW_GET_VAR(__GLEW_SGIX_texture_add_env) + +#endif /* GL_SGIX_texture_add_env */ + +/* -------------------- GL_SGIX_texture_coordinate_clamp ------------------- */ + +#ifndef GL_SGIX_texture_coordinate_clamp +#define GL_SGIX_texture_coordinate_clamp 1 + +#define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369 +#define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836A +#define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836B + +#define GLEW_SGIX_texture_coordinate_clamp GLEW_GET_VAR(__GLEW_SGIX_texture_coordinate_clamp) + +#endif /* GL_SGIX_texture_coordinate_clamp */ + +/* ------------------------ GL_SGIX_texture_lod_bias ----------------------- */ + +#ifndef GL_SGIX_texture_lod_bias +#define GL_SGIX_texture_lod_bias 1 + +#define GLEW_SGIX_texture_lod_bias GLEW_GET_VAR(__GLEW_SGIX_texture_lod_bias) + +#endif /* GL_SGIX_texture_lod_bias */ + +/* ---------------------- GL_SGIX_texture_multi_buffer --------------------- */ + +#ifndef GL_SGIX_texture_multi_buffer +#define GL_SGIX_texture_multi_buffer 1 + +#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E + +#define GLEW_SGIX_texture_multi_buffer GLEW_GET_VAR(__GLEW_SGIX_texture_multi_buffer) + +#endif /* GL_SGIX_texture_multi_buffer */ + +/* ------------------------- GL_SGIX_texture_range ------------------------- */ + +#ifndef GL_SGIX_texture_range +#define GL_SGIX_texture_range 1 + +#define GL_RGB_SIGNED_SGIX 0x85E0 +#define GL_RGBA_SIGNED_SGIX 0x85E1 +#define GL_ALPHA_SIGNED_SGIX 0x85E2 +#define GL_LUMINANCE_SIGNED_SGIX 0x85E3 +#define GL_INTENSITY_SIGNED_SGIX 0x85E4 +#define GL_LUMINANCE_ALPHA_SIGNED_SGIX 0x85E5 +#define GL_RGB16_SIGNED_SGIX 0x85E6 +#define GL_RGBA16_SIGNED_SGIX 0x85E7 +#define GL_ALPHA16_SIGNED_SGIX 0x85E8 +#define GL_LUMINANCE16_SIGNED_SGIX 0x85E9 +#define GL_INTENSITY16_SIGNED_SGIX 0x85EA +#define GL_LUMINANCE16_ALPHA16_SIGNED_SGIX 0x85EB +#define GL_RGB_EXTENDED_RANGE_SGIX 0x85EC +#define GL_RGBA_EXTENDED_RANGE_SGIX 0x85ED +#define GL_ALPHA_EXTENDED_RANGE_SGIX 0x85EE +#define GL_LUMINANCE_EXTENDED_RANGE_SGIX 0x85EF +#define GL_INTENSITY_EXTENDED_RANGE_SGIX 0x85F0 +#define GL_LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX 0x85F1 +#define GL_RGB16_EXTENDED_RANGE_SGIX 0x85F2 +#define GL_RGBA16_EXTENDED_RANGE_SGIX 0x85F3 +#define GL_ALPHA16_EXTENDED_RANGE_SGIX 0x85F4 +#define GL_LUMINANCE16_EXTENDED_RANGE_SGIX 0x85F5 +#define GL_INTENSITY16_EXTENDED_RANGE_SGIX 0x85F6 +#define GL_LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX 0x85F7 +#define GL_MIN_LUMINANCE_SGIS 0x85F8 +#define GL_MAX_LUMINANCE_SGIS 0x85F9 +#define GL_MIN_INTENSITY_SGIS 0x85FA +#define GL_MAX_INTENSITY_SGIS 0x85FB + +#define GLEW_SGIX_texture_range GLEW_GET_VAR(__GLEW_SGIX_texture_range) + +#endif /* GL_SGIX_texture_range */ + +/* ----------------------- GL_SGIX_texture_scale_bias ---------------------- */ + +#ifndef GL_SGIX_texture_scale_bias +#define GL_SGIX_texture_scale_bias 1 + +#define GL_POST_TEXTURE_FILTER_BIAS_SGIX 0x8179 +#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A +#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B +#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C + +#define GLEW_SGIX_texture_scale_bias GLEW_GET_VAR(__GLEW_SGIX_texture_scale_bias) + +#endif /* GL_SGIX_texture_scale_bias */ + +/* ------------------------- GL_SGIX_vertex_preclip ------------------------ */ + +#ifndef GL_SGIX_vertex_preclip +#define GL_SGIX_vertex_preclip 1 + +#define GL_VERTEX_PRECLIP_SGIX 0x83EE +#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF + +#define GLEW_SGIX_vertex_preclip GLEW_GET_VAR(__GLEW_SGIX_vertex_preclip) + +#endif /* GL_SGIX_vertex_preclip */ + +/* ---------------------- GL_SGIX_vertex_preclip_hint ---------------------- */ + +#ifndef GL_SGIX_vertex_preclip_hint +#define GL_SGIX_vertex_preclip_hint 1 + +#define GL_VERTEX_PRECLIP_SGIX 0x83EE +#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF + +#define GLEW_SGIX_vertex_preclip_hint GLEW_GET_VAR(__GLEW_SGIX_vertex_preclip_hint) + +#endif /* GL_SGIX_vertex_preclip_hint */ + +/* ----------------------------- GL_SGIX_ycrcb ----------------------------- */ + +#ifndef GL_SGIX_ycrcb +#define GL_SGIX_ycrcb 1 + +#define GLEW_SGIX_ycrcb GLEW_GET_VAR(__GLEW_SGIX_ycrcb) + +#endif /* GL_SGIX_ycrcb */ + +/* -------------------------- GL_SGI_color_matrix -------------------------- */ + +#ifndef GL_SGI_color_matrix +#define GL_SGI_color_matrix 1 + +#define GL_COLOR_MATRIX_SGI 0x80B1 +#define GL_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B2 +#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3 +#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4 +#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5 +#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6 +#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7 +#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8 +#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9 +#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA +#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB + +#define GLEW_SGI_color_matrix GLEW_GET_VAR(__GLEW_SGI_color_matrix) + +#endif /* GL_SGI_color_matrix */ + +/* --------------------------- GL_SGI_color_table -------------------------- */ + +#ifndef GL_SGI_color_table +#define GL_SGI_color_table 1 + +#define GL_COLOR_TABLE_SGI 0x80D0 +#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1 +#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2 +#define GL_PROXY_COLOR_TABLE_SGI 0x80D3 +#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4 +#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5 +#define GL_COLOR_TABLE_SCALE_SGI 0x80D6 +#define GL_COLOR_TABLE_BIAS_SGI 0x80D7 +#define GL_COLOR_TABLE_FORMAT_SGI 0x80D8 +#define GL_COLOR_TABLE_WIDTH_SGI 0x80D9 +#define GL_COLOR_TABLE_RED_SIZE_SGI 0x80DA +#define GL_COLOR_TABLE_GREEN_SIZE_SGI 0x80DB +#define GL_COLOR_TABLE_BLUE_SIZE_SGI 0x80DC +#define GL_COLOR_TABLE_ALPHA_SIZE_SGI 0x80DD +#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE +#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF + +typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat* params); +typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint* params); +typedef void (GLAPIENTRY * PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table); +typedef void (GLAPIENTRY * PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat* params); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint* params); +typedef void (GLAPIENTRY * PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, void *table); + +#define glColorTableParameterfvSGI GLEW_GET_FUN(__glewColorTableParameterfvSGI) +#define glColorTableParameterivSGI GLEW_GET_FUN(__glewColorTableParameterivSGI) +#define glColorTableSGI GLEW_GET_FUN(__glewColorTableSGI) +#define glCopyColorTableSGI GLEW_GET_FUN(__glewCopyColorTableSGI) +#define glGetColorTableParameterfvSGI GLEW_GET_FUN(__glewGetColorTableParameterfvSGI) +#define glGetColorTableParameterivSGI GLEW_GET_FUN(__glewGetColorTableParameterivSGI) +#define glGetColorTableSGI GLEW_GET_FUN(__glewGetColorTableSGI) + +#define GLEW_SGI_color_table GLEW_GET_VAR(__GLEW_SGI_color_table) + +#endif /* GL_SGI_color_table */ + +/* ----------------------- GL_SGI_texture_color_table ---------------------- */ + +#ifndef GL_SGI_texture_color_table +#define GL_SGI_texture_color_table 1 + +#define GL_TEXTURE_COLOR_TABLE_SGI 0x80BC +#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80BD + +#define GLEW_SGI_texture_color_table GLEW_GET_VAR(__GLEW_SGI_texture_color_table) + +#endif /* GL_SGI_texture_color_table */ + +/* ------------------------- GL_SUNX_constant_data ------------------------- */ + +#ifndef GL_SUNX_constant_data +#define GL_SUNX_constant_data 1 + +#define GL_UNPACK_CONSTANT_DATA_SUNX 0x81D5 +#define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81D6 + +typedef void (GLAPIENTRY * PFNGLFINISHTEXTURESUNXPROC) (void); + +#define glFinishTextureSUNX GLEW_GET_FUN(__glewFinishTextureSUNX) + +#define GLEW_SUNX_constant_data GLEW_GET_VAR(__GLEW_SUNX_constant_data) + +#endif /* GL_SUNX_constant_data */ + +/* -------------------- GL_SUN_convolution_border_modes -------------------- */ + +#ifndef GL_SUN_convolution_border_modes +#define GL_SUN_convolution_border_modes 1 + +#define GL_WRAP_BORDER_SUN 0x81D4 + +#define GLEW_SUN_convolution_border_modes GLEW_GET_VAR(__GLEW_SUN_convolution_border_modes) + +#endif /* GL_SUN_convolution_border_modes */ + +/* -------------------------- GL_SUN_global_alpha -------------------------- */ + +#ifndef GL_SUN_global_alpha +#define GL_SUN_global_alpha 1 + +#define GL_GLOBAL_ALPHA_SUN 0x81D9 +#define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81DA + +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor); +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor); +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor); +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor); +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor); +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor); +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor); +typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor); + +#define glGlobalAlphaFactorbSUN GLEW_GET_FUN(__glewGlobalAlphaFactorbSUN) +#define glGlobalAlphaFactordSUN GLEW_GET_FUN(__glewGlobalAlphaFactordSUN) +#define glGlobalAlphaFactorfSUN GLEW_GET_FUN(__glewGlobalAlphaFactorfSUN) +#define glGlobalAlphaFactoriSUN GLEW_GET_FUN(__glewGlobalAlphaFactoriSUN) +#define glGlobalAlphaFactorsSUN GLEW_GET_FUN(__glewGlobalAlphaFactorsSUN) +#define glGlobalAlphaFactorubSUN GLEW_GET_FUN(__glewGlobalAlphaFactorubSUN) +#define glGlobalAlphaFactoruiSUN GLEW_GET_FUN(__glewGlobalAlphaFactoruiSUN) +#define glGlobalAlphaFactorusSUN GLEW_GET_FUN(__glewGlobalAlphaFactorusSUN) + +#define GLEW_SUN_global_alpha GLEW_GET_VAR(__GLEW_SUN_global_alpha) + +#endif /* GL_SUN_global_alpha */ + +/* --------------------------- GL_SUN_mesh_array --------------------------- */ + +#ifndef GL_SUN_mesh_array +#define GL_SUN_mesh_array 1 + +#define GL_QUAD_MESH_SUN 0x8614 +#define GL_TRIANGLE_MESH_SUN 0x8615 + +#define GLEW_SUN_mesh_array GLEW_GET_VAR(__GLEW_SUN_mesh_array) + +#endif /* GL_SUN_mesh_array */ + +/* ------------------------ GL_SUN_read_video_pixels ----------------------- */ + +#ifndef GL_SUN_read_video_pixels +#define GL_SUN_read_video_pixels 1 + +typedef void (GLAPIENTRY * PFNGLREADVIDEOPIXELSSUNPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void* pixels); + +#define glReadVideoPixelsSUN GLEW_GET_FUN(__glewReadVideoPixelsSUN) + +#define GLEW_SUN_read_video_pixels GLEW_GET_VAR(__GLEW_SUN_read_video_pixels) + +#endif /* GL_SUN_read_video_pixels */ + +/* --------------------------- GL_SUN_slice_accum -------------------------- */ + +#ifndef GL_SUN_slice_accum +#define GL_SUN_slice_accum 1 + +#define GL_SLICE_ACCUM_SUN 0x85CC + +#define GLEW_SUN_slice_accum GLEW_GET_VAR(__GLEW_SUN_slice_accum) + +#endif /* GL_SUN_slice_accum */ + +/* -------------------------- GL_SUN_triangle_list ------------------------- */ + +#ifndef GL_SUN_triangle_list +#define GL_SUN_triangle_list 1 + +#define GL_RESTART_SUN 0x01 +#define GL_REPLACE_MIDDLE_SUN 0x02 +#define GL_REPLACE_OLDEST_SUN 0x03 +#define GL_TRIANGLE_LIST_SUN 0x81D7 +#define GL_REPLACEMENT_CODE_SUN 0x81D8 +#define GL_REPLACEMENT_CODE_ARRAY_SUN 0x85C0 +#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1 +#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2 +#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3 +#define GL_R1UI_V3F_SUN 0x85C4 +#define GL_R1UI_C4UB_V3F_SUN 0x85C5 +#define GL_R1UI_C3F_V3F_SUN 0x85C6 +#define GL_R1UI_N3F_V3F_SUN 0x85C7 +#define GL_R1UI_C4F_N3F_V3F_SUN 0x85C8 +#define GL_R1UI_T2F_V3F_SUN 0x85C9 +#define GL_R1UI_T2F_N3F_V3F_SUN 0x85CA +#define GL_R1UI_T2F_C4F_N3F_V3F_SUN 0x85CB + +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const void *pointer); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte* code); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint* code); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort* code); + +#define glReplacementCodePointerSUN GLEW_GET_FUN(__glewReplacementCodePointerSUN) +#define glReplacementCodeubSUN GLEW_GET_FUN(__glewReplacementCodeubSUN) +#define glReplacementCodeubvSUN GLEW_GET_FUN(__glewReplacementCodeubvSUN) +#define glReplacementCodeuiSUN GLEW_GET_FUN(__glewReplacementCodeuiSUN) +#define glReplacementCodeuivSUN GLEW_GET_FUN(__glewReplacementCodeuivSUN) +#define glReplacementCodeusSUN GLEW_GET_FUN(__glewReplacementCodeusSUN) +#define glReplacementCodeusvSUN GLEW_GET_FUN(__glewReplacementCodeusvSUN) + +#define GLEW_SUN_triangle_list GLEW_GET_VAR(__GLEW_SUN_triangle_list) + +#endif /* GL_SUN_triangle_list */ + +/* ----------------------------- GL_SUN_vertex ----------------------------- */ + +#ifndef GL_SUN_vertex +#define GL_SUN_vertex 1 + +typedef void (GLAPIENTRY * PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat* c, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* c, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y); +typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte* c, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte* c, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *c, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *c, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint* rc, const GLubyte *c, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat* tc, const GLubyte *c, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z); +typedef void (GLAPIENTRY * PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); +typedef void (GLAPIENTRY * PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GLAPIENTRY * PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat* tc, const GLfloat *v); + +#define glColor3fVertex3fSUN GLEW_GET_FUN(__glewColor3fVertex3fSUN) +#define glColor3fVertex3fvSUN GLEW_GET_FUN(__glewColor3fVertex3fvSUN) +#define glColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewColor4fNormal3fVertex3fSUN) +#define glColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewColor4fNormal3fVertex3fvSUN) +#define glColor4ubVertex2fSUN GLEW_GET_FUN(__glewColor4ubVertex2fSUN) +#define glColor4ubVertex2fvSUN GLEW_GET_FUN(__glewColor4ubVertex2fvSUN) +#define glColor4ubVertex3fSUN GLEW_GET_FUN(__glewColor4ubVertex3fSUN) +#define glColor4ubVertex3fvSUN GLEW_GET_FUN(__glewColor4ubVertex3fvSUN) +#define glNormal3fVertex3fSUN GLEW_GET_FUN(__glewNormal3fVertex3fSUN) +#define glNormal3fVertex3fvSUN GLEW_GET_FUN(__glewNormal3fVertex3fvSUN) +#define glReplacementCodeuiColor3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor3fVertex3fSUN) +#define glReplacementCodeuiColor3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor3fVertex3fvSUN) +#define glReplacementCodeuiColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4fNormal3fVertex3fSUN) +#define glReplacementCodeuiColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4fNormal3fVertex3fvSUN) +#define glReplacementCodeuiColor4ubVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4ubVertex3fSUN) +#define glReplacementCodeuiColor4ubVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4ubVertex3fvSUN) +#define glReplacementCodeuiNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiNormal3fVertex3fSUN) +#define glReplacementCodeuiNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiNormal3fVertex3fvSUN) +#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN) +#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN) +#define glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN) +#define glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN) +#define glReplacementCodeuiTexCoord2fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fVertex3fSUN) +#define glReplacementCodeuiTexCoord2fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fVertex3fvSUN) +#define glReplacementCodeuiVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiVertex3fSUN) +#define glReplacementCodeuiVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiVertex3fvSUN) +#define glTexCoord2fColor3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor3fVertex3fSUN) +#define glTexCoord2fColor3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor3fVertex3fvSUN) +#define glTexCoord2fColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor4fNormal3fVertex3fSUN) +#define glTexCoord2fColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor4fNormal3fVertex3fvSUN) +#define glTexCoord2fColor4ubVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor4ubVertex3fSUN) +#define glTexCoord2fColor4ubVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor4ubVertex3fvSUN) +#define glTexCoord2fNormal3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fNormal3fVertex3fSUN) +#define glTexCoord2fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fNormal3fVertex3fvSUN) +#define glTexCoord2fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fVertex3fSUN) +#define glTexCoord2fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fVertex3fvSUN) +#define glTexCoord4fColor4fNormal3fVertex4fSUN GLEW_GET_FUN(__glewTexCoord4fColor4fNormal3fVertex4fSUN) +#define glTexCoord4fColor4fNormal3fVertex4fvSUN GLEW_GET_FUN(__glewTexCoord4fColor4fNormal3fVertex4fvSUN) +#define glTexCoord4fVertex4fSUN GLEW_GET_FUN(__glewTexCoord4fVertex4fSUN) +#define glTexCoord4fVertex4fvSUN GLEW_GET_FUN(__glewTexCoord4fVertex4fvSUN) + +#define GLEW_SUN_vertex GLEW_GET_VAR(__GLEW_SUN_vertex) + +#endif /* GL_SUN_vertex */ + +/* -------------------------- GL_WIN_phong_shading ------------------------- */ + +#ifndef GL_WIN_phong_shading +#define GL_WIN_phong_shading 1 + +#define GL_PHONG_WIN 0x80EA +#define GL_PHONG_HINT_WIN 0x80EB + +#define GLEW_WIN_phong_shading GLEW_GET_VAR(__GLEW_WIN_phong_shading) + +#endif /* GL_WIN_phong_shading */ + +/* -------------------------- GL_WIN_specular_fog -------------------------- */ + +#ifndef GL_WIN_specular_fog +#define GL_WIN_specular_fog 1 + +#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC + +#define GLEW_WIN_specular_fog GLEW_GET_VAR(__GLEW_WIN_specular_fog) + +#endif /* GL_WIN_specular_fog */ + +/* ---------------------------- GL_WIN_swap_hint --------------------------- */ + +#ifndef GL_WIN_swap_hint +#define GL_WIN_swap_hint 1 + +typedef void (GLAPIENTRY * PFNGLADDSWAPHINTRECTWINPROC) (GLint x, GLint y, GLsizei width, GLsizei height); + +#define glAddSwapHintRectWIN GLEW_GET_FUN(__glewAddSwapHintRectWIN) + +#define GLEW_WIN_swap_hint GLEW_GET_VAR(__GLEW_WIN_swap_hint) + +#endif /* GL_WIN_swap_hint */ + +/* ------------------------------------------------------------------------- */ + +#if defined(GLEW_MX) && defined(_WIN32) +#define GLEW_FUN_EXPORT +#else +#define GLEW_FUN_EXPORT GLEWAPI +#endif /* GLEW_MX */ + +#if defined(GLEW_MX) +#define GLEW_VAR_EXPORT +#else +#define GLEW_VAR_EXPORT GLEWAPI +#endif /* GLEW_MX */ + +#if defined(GLEW_MX) && defined(_WIN32) +struct GLEWContextStruct +{ +#endif /* GLEW_MX */ + +GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE3DPROC __glewCopyTexSubImage3D; +GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSPROC __glewDrawRangeElements; +GLEW_FUN_EXPORT PFNGLTEXIMAGE3DPROC __glewTexImage3D; +GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE3DPROC __glewTexSubImage3D; + +GLEW_FUN_EXPORT PFNGLACTIVETEXTUREPROC __glewActiveTexture; +GLEW_FUN_EXPORT PFNGLCLIENTACTIVETEXTUREPROC __glewClientActiveTexture; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DPROC __glewCompressedTexImage1D; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DPROC __glewCompressedTexImage2D; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DPROC __glewCompressedTexImage3D; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC __glewCompressedTexSubImage1D; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC __glewCompressedTexSubImage2D; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC __glewCompressedTexSubImage3D; +GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEPROC __glewGetCompressedTexImage; +GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXDPROC __glewLoadTransposeMatrixd; +GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXFPROC __glewLoadTransposeMatrixf; +GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXDPROC __glewMultTransposeMatrixd; +GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXFPROC __glewMultTransposeMatrixf; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DPROC __glewMultiTexCoord1d; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DVPROC __glewMultiTexCoord1dv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FPROC __glewMultiTexCoord1f; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FVPROC __glewMultiTexCoord1fv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IPROC __glewMultiTexCoord1i; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IVPROC __glewMultiTexCoord1iv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SPROC __glewMultiTexCoord1s; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SVPROC __glewMultiTexCoord1sv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DPROC __glewMultiTexCoord2d; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DVPROC __glewMultiTexCoord2dv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FPROC __glewMultiTexCoord2f; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FVPROC __glewMultiTexCoord2fv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IPROC __glewMultiTexCoord2i; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IVPROC __glewMultiTexCoord2iv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SPROC __glewMultiTexCoord2s; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SVPROC __glewMultiTexCoord2sv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DPROC __glewMultiTexCoord3d; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DVPROC __glewMultiTexCoord3dv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FPROC __glewMultiTexCoord3f; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FVPROC __glewMultiTexCoord3fv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IPROC __glewMultiTexCoord3i; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IVPROC __glewMultiTexCoord3iv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SPROC __glewMultiTexCoord3s; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SVPROC __glewMultiTexCoord3sv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DPROC __glewMultiTexCoord4d; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DVPROC __glewMultiTexCoord4dv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FPROC __glewMultiTexCoord4f; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FVPROC __glewMultiTexCoord4fv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IPROC __glewMultiTexCoord4i; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IVPROC __glewMultiTexCoord4iv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SPROC __glewMultiTexCoord4s; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SVPROC __glewMultiTexCoord4sv; +GLEW_FUN_EXPORT PFNGLSAMPLECOVERAGEPROC __glewSampleCoverage; + +GLEW_FUN_EXPORT PFNGLBLENDCOLORPROC __glewBlendColor; +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONPROC __glewBlendEquation; +GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEPROC __glewBlendFuncSeparate; +GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTERPROC __glewFogCoordPointer; +GLEW_FUN_EXPORT PFNGLFOGCOORDDPROC __glewFogCoordd; +GLEW_FUN_EXPORT PFNGLFOGCOORDDVPROC __glewFogCoorddv; +GLEW_FUN_EXPORT PFNGLFOGCOORDFPROC __glewFogCoordf; +GLEW_FUN_EXPORT PFNGLFOGCOORDFVPROC __glewFogCoordfv; +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSPROC __glewMultiDrawArrays; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSPROC __glewMultiDrawElements; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFPROC __glewPointParameterf; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVPROC __glewPointParameterfv; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIPROC __glewPointParameteri; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIVPROC __glewPointParameteriv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BPROC __glewSecondaryColor3b; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BVPROC __glewSecondaryColor3bv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DPROC __glewSecondaryColor3d; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DVPROC __glewSecondaryColor3dv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FPROC __glewSecondaryColor3f; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FVPROC __glewSecondaryColor3fv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IPROC __glewSecondaryColor3i; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IVPROC __glewSecondaryColor3iv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SPROC __glewSecondaryColor3s; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SVPROC __glewSecondaryColor3sv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBPROC __glewSecondaryColor3ub; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBVPROC __glewSecondaryColor3ubv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIPROC __glewSecondaryColor3ui; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIVPROC __glewSecondaryColor3uiv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USPROC __glewSecondaryColor3us; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USVPROC __glewSecondaryColor3usv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTERPROC __glewSecondaryColorPointer; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2DPROC __glewWindowPos2d; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVPROC __glewWindowPos2dv; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2FPROC __glewWindowPos2f; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVPROC __glewWindowPos2fv; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2IPROC __glewWindowPos2i; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVPROC __glewWindowPos2iv; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2SPROC __glewWindowPos2s; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVPROC __glewWindowPos2sv; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3DPROC __glewWindowPos3d; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVPROC __glewWindowPos3dv; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3FPROC __glewWindowPos3f; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVPROC __glewWindowPos3fv; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3IPROC __glewWindowPos3i; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVPROC __glewWindowPos3iv; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3SPROC __glewWindowPos3s; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVPROC __glewWindowPos3sv; + +GLEW_FUN_EXPORT PFNGLBEGINQUERYPROC __glewBeginQuery; +GLEW_FUN_EXPORT PFNGLBINDBUFFERPROC __glewBindBuffer; +GLEW_FUN_EXPORT PFNGLBUFFERDATAPROC __glewBufferData; +GLEW_FUN_EXPORT PFNGLBUFFERSUBDATAPROC __glewBufferSubData; +GLEW_FUN_EXPORT PFNGLDELETEBUFFERSPROC __glewDeleteBuffers; +GLEW_FUN_EXPORT PFNGLDELETEQUERIESPROC __glewDeleteQueries; +GLEW_FUN_EXPORT PFNGLENDQUERYPROC __glewEndQuery; +GLEW_FUN_EXPORT PFNGLGENBUFFERSPROC __glewGenBuffers; +GLEW_FUN_EXPORT PFNGLGENQUERIESPROC __glewGenQueries; +GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERIVPROC __glewGetBufferParameteriv; +GLEW_FUN_EXPORT PFNGLGETBUFFERPOINTERVPROC __glewGetBufferPointerv; +GLEW_FUN_EXPORT PFNGLGETBUFFERSUBDATAPROC __glewGetBufferSubData; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTIVPROC __glewGetQueryObjectiv; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUIVPROC __glewGetQueryObjectuiv; +GLEW_FUN_EXPORT PFNGLGETQUERYIVPROC __glewGetQueryiv; +GLEW_FUN_EXPORT PFNGLISBUFFERPROC __glewIsBuffer; +GLEW_FUN_EXPORT PFNGLISQUERYPROC __glewIsQuery; +GLEW_FUN_EXPORT PFNGLMAPBUFFERPROC __glewMapBuffer; +GLEW_FUN_EXPORT PFNGLUNMAPBUFFERPROC __glewUnmapBuffer; + +GLEW_FUN_EXPORT PFNGLATTACHSHADERPROC __glewAttachShader; +GLEW_FUN_EXPORT PFNGLBINDATTRIBLOCATIONPROC __glewBindAttribLocation; +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEPROC __glewBlendEquationSeparate; +GLEW_FUN_EXPORT PFNGLCOMPILESHADERPROC __glewCompileShader; +GLEW_FUN_EXPORT PFNGLCREATEPROGRAMPROC __glewCreateProgram; +GLEW_FUN_EXPORT PFNGLCREATESHADERPROC __glewCreateShader; +GLEW_FUN_EXPORT PFNGLDELETEPROGRAMPROC __glewDeleteProgram; +GLEW_FUN_EXPORT PFNGLDELETESHADERPROC __glewDeleteShader; +GLEW_FUN_EXPORT PFNGLDETACHSHADERPROC __glewDetachShader; +GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYPROC __glewDisableVertexAttribArray; +GLEW_FUN_EXPORT PFNGLDRAWBUFFERSPROC __glewDrawBuffers; +GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBARRAYPROC __glewEnableVertexAttribArray; +GLEW_FUN_EXPORT PFNGLGETACTIVEATTRIBPROC __glewGetActiveAttrib; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMPROC __glewGetActiveUniform; +GLEW_FUN_EXPORT PFNGLGETATTACHEDSHADERSPROC __glewGetAttachedShaders; +GLEW_FUN_EXPORT PFNGLGETATTRIBLOCATIONPROC __glewGetAttribLocation; +GLEW_FUN_EXPORT PFNGLGETPROGRAMINFOLOGPROC __glewGetProgramInfoLog; +GLEW_FUN_EXPORT PFNGLGETPROGRAMIVPROC __glewGetProgramiv; +GLEW_FUN_EXPORT PFNGLGETSHADERINFOLOGPROC __glewGetShaderInfoLog; +GLEW_FUN_EXPORT PFNGLGETSHADERSOURCEPROC __glewGetShaderSource; +GLEW_FUN_EXPORT PFNGLGETSHADERIVPROC __glewGetShaderiv; +GLEW_FUN_EXPORT PFNGLGETUNIFORMLOCATIONPROC __glewGetUniformLocation; +GLEW_FUN_EXPORT PFNGLGETUNIFORMFVPROC __glewGetUniformfv; +GLEW_FUN_EXPORT PFNGLGETUNIFORMIVPROC __glewGetUniformiv; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVPROC __glewGetVertexAttribPointerv; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVPROC __glewGetVertexAttribdv; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVPROC __glewGetVertexAttribfv; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVPROC __glewGetVertexAttribiv; +GLEW_FUN_EXPORT PFNGLISPROGRAMPROC __glewIsProgram; +GLEW_FUN_EXPORT PFNGLISSHADERPROC __glewIsShader; +GLEW_FUN_EXPORT PFNGLLINKPROGRAMPROC __glewLinkProgram; +GLEW_FUN_EXPORT PFNGLSHADERSOURCEPROC __glewShaderSource; +GLEW_FUN_EXPORT PFNGLSTENCILFUNCSEPARATEPROC __glewStencilFuncSeparate; +GLEW_FUN_EXPORT PFNGLSTENCILMASKSEPARATEPROC __glewStencilMaskSeparate; +GLEW_FUN_EXPORT PFNGLSTENCILOPSEPARATEPROC __glewStencilOpSeparate; +GLEW_FUN_EXPORT PFNGLUNIFORM1FPROC __glewUniform1f; +GLEW_FUN_EXPORT PFNGLUNIFORM1FVPROC __glewUniform1fv; +GLEW_FUN_EXPORT PFNGLUNIFORM1IPROC __glewUniform1i; +GLEW_FUN_EXPORT PFNGLUNIFORM1IVPROC __glewUniform1iv; +GLEW_FUN_EXPORT PFNGLUNIFORM2FPROC __glewUniform2f; +GLEW_FUN_EXPORT PFNGLUNIFORM2FVPROC __glewUniform2fv; +GLEW_FUN_EXPORT PFNGLUNIFORM2IPROC __glewUniform2i; +GLEW_FUN_EXPORT PFNGLUNIFORM2IVPROC __glewUniform2iv; +GLEW_FUN_EXPORT PFNGLUNIFORM3FPROC __glewUniform3f; +GLEW_FUN_EXPORT PFNGLUNIFORM3FVPROC __glewUniform3fv; +GLEW_FUN_EXPORT PFNGLUNIFORM3IPROC __glewUniform3i; +GLEW_FUN_EXPORT PFNGLUNIFORM3IVPROC __glewUniform3iv; +GLEW_FUN_EXPORT PFNGLUNIFORM4FPROC __glewUniform4f; +GLEW_FUN_EXPORT PFNGLUNIFORM4FVPROC __glewUniform4fv; +GLEW_FUN_EXPORT PFNGLUNIFORM4IPROC __glewUniform4i; +GLEW_FUN_EXPORT PFNGLUNIFORM4IVPROC __glewUniform4iv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2FVPROC __glewUniformMatrix2fv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3FVPROC __glewUniformMatrix3fv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4FVPROC __glewUniformMatrix4fv; +GLEW_FUN_EXPORT PFNGLUSEPROGRAMPROC __glewUseProgram; +GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMPROC __glewValidateProgram; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DPROC __glewVertexAttrib1d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVPROC __glewVertexAttrib1dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FPROC __glewVertexAttrib1f; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVPROC __glewVertexAttrib1fv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SPROC __glewVertexAttrib1s; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVPROC __glewVertexAttrib1sv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DPROC __glewVertexAttrib2d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVPROC __glewVertexAttrib2dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FPROC __glewVertexAttrib2f; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVPROC __glewVertexAttrib2fv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SPROC __glewVertexAttrib2s; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVPROC __glewVertexAttrib2sv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DPROC __glewVertexAttrib3d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVPROC __glewVertexAttrib3dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FPROC __glewVertexAttrib3f; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVPROC __glewVertexAttrib3fv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SPROC __glewVertexAttrib3s; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVPROC __glewVertexAttrib3sv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NBVPROC __glewVertexAttrib4Nbv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NIVPROC __glewVertexAttrib4Niv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NSVPROC __glewVertexAttrib4Nsv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBPROC __glewVertexAttrib4Nub; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBVPROC __glewVertexAttrib4Nubv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUIVPROC __glewVertexAttrib4Nuiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUSVPROC __glewVertexAttrib4Nusv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4BVPROC __glewVertexAttrib4bv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DPROC __glewVertexAttrib4d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVPROC __glewVertexAttrib4dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FPROC __glewVertexAttrib4f; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVPROC __glewVertexAttrib4fv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4IVPROC __glewVertexAttrib4iv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SPROC __glewVertexAttrib4s; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVPROC __glewVertexAttrib4sv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVPROC __glewVertexAttrib4ubv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UIVPROC __glewVertexAttrib4uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4USVPROC __glewVertexAttrib4usv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERPROC __glewVertexAttribPointer; + +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X3FVPROC __glewUniformMatrix2x3fv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X4FVPROC __glewUniformMatrix2x4fv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X2FVPROC __glewUniformMatrix3x2fv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X4FVPROC __glewUniformMatrix3x4fv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X2FVPROC __glewUniformMatrix4x2fv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X3FVPROC __glewUniformMatrix4x3fv; + +GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERPROC __glewBeginConditionalRender; +GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKPROC __glewBeginTransformFeedback; +GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONPROC __glewBindFragDataLocation; +GLEW_FUN_EXPORT PFNGLCLAMPCOLORPROC __glewClampColor; +GLEW_FUN_EXPORT PFNGLCLEARBUFFERFIPROC __glewClearBufferfi; +GLEW_FUN_EXPORT PFNGLCLEARBUFFERFVPROC __glewClearBufferfv; +GLEW_FUN_EXPORT PFNGLCLEARBUFFERIVPROC __glewClearBufferiv; +GLEW_FUN_EXPORT PFNGLCLEARBUFFERUIVPROC __glewClearBufferuiv; +GLEW_FUN_EXPORT PFNGLCOLORMASKIPROC __glewColorMaski; +GLEW_FUN_EXPORT PFNGLDISABLEIPROC __glewDisablei; +GLEW_FUN_EXPORT PFNGLENABLEIPROC __glewEnablei; +GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERPROC __glewEndConditionalRender; +GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKPROC __glewEndTransformFeedback; +GLEW_FUN_EXPORT PFNGLGETBOOLEANI_VPROC __glewGetBooleani_v; +GLEW_FUN_EXPORT PFNGLGETFRAGDATALOCATIONPROC __glewGetFragDataLocation; +GLEW_FUN_EXPORT PFNGLGETSTRINGIPROC __glewGetStringi; +GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIIVPROC __glewGetTexParameterIiv; +GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIUIVPROC __glewGetTexParameterIuiv; +GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGPROC __glewGetTransformFeedbackVarying; +GLEW_FUN_EXPORT PFNGLGETUNIFORMUIVPROC __glewGetUniformuiv; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIIVPROC __glewGetVertexAttribIiv; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIUIVPROC __glewGetVertexAttribIuiv; +GLEW_FUN_EXPORT PFNGLISENABLEDIPROC __glewIsEnabledi; +GLEW_FUN_EXPORT PFNGLTEXPARAMETERIIVPROC __glewTexParameterIiv; +GLEW_FUN_EXPORT PFNGLTEXPARAMETERIUIVPROC __glewTexParameterIuiv; +GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSPROC __glewTransformFeedbackVaryings; +GLEW_FUN_EXPORT PFNGLUNIFORM1UIPROC __glewUniform1ui; +GLEW_FUN_EXPORT PFNGLUNIFORM1UIVPROC __glewUniform1uiv; +GLEW_FUN_EXPORT PFNGLUNIFORM2UIPROC __glewUniform2ui; +GLEW_FUN_EXPORT PFNGLUNIFORM2UIVPROC __glewUniform2uiv; +GLEW_FUN_EXPORT PFNGLUNIFORM3UIPROC __glewUniform3ui; +GLEW_FUN_EXPORT PFNGLUNIFORM3UIVPROC __glewUniform3uiv; +GLEW_FUN_EXPORT PFNGLUNIFORM4UIPROC __glewUniform4ui; +GLEW_FUN_EXPORT PFNGLUNIFORM4UIVPROC __glewUniform4uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IPROC __glewVertexAttribI1i; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IVPROC __glewVertexAttribI1iv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIPROC __glewVertexAttribI1ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIVPROC __glewVertexAttribI1uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IPROC __glewVertexAttribI2i; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IVPROC __glewVertexAttribI2iv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIPROC __glewVertexAttribI2ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIVPROC __glewVertexAttribI2uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IPROC __glewVertexAttribI3i; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IVPROC __glewVertexAttribI3iv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIPROC __glewVertexAttribI3ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIVPROC __glewVertexAttribI3uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4BVPROC __glewVertexAttribI4bv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IPROC __glewVertexAttribI4i; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IVPROC __glewVertexAttribI4iv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4SVPROC __glewVertexAttribI4sv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UBVPROC __glewVertexAttribI4ubv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIPROC __glewVertexAttribI4ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIVPROC __glewVertexAttribI4uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4USVPROC __glewVertexAttribI4usv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIPOINTERPROC __glewVertexAttribIPointer; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDPROC __glewDrawArraysInstanced; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDPROC __glewDrawElementsInstanced; +GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTINDEXPROC __glewPrimitiveRestartIndex; +GLEW_FUN_EXPORT PFNGLTEXBUFFERPROC __glewTexBuffer; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREPROC __glewFramebufferTexture; +GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERI64VPROC __glewGetBufferParameteri64v; +GLEW_FUN_EXPORT PFNGLGETINTEGER64I_VPROC __glewGetInteger64i_v; + +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORPROC __glewVertexAttribDivisor; + +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEIPROC __glewBlendEquationSeparatei; +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONIPROC __glewBlendEquationi; +GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEIPROC __glewBlendFuncSeparatei; +GLEW_FUN_EXPORT PFNGLBLENDFUNCIPROC __glewBlendFunci; +GLEW_FUN_EXPORT PFNGLMINSAMPLESHADINGPROC __glewMinSampleShading; + +GLEW_FUN_EXPORT PFNGLGETGRAPHICSRESETSTATUSPROC __glewGetGraphicsResetStatus; +GLEW_FUN_EXPORT PFNGLGETNCOMPRESSEDTEXIMAGEPROC __glewGetnCompressedTexImage; +GLEW_FUN_EXPORT PFNGLGETNTEXIMAGEPROC __glewGetnTexImage; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMDVPROC __glewGetnUniformdv; + +GLEW_FUN_EXPORT PFNGLTBUFFERMASK3DFXPROC __glewTbufferMask3DFX; + +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECALLBACKAMDPROC __glewDebugMessageCallbackAMD; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGEENABLEAMDPROC __glewDebugMessageEnableAMD; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGEINSERTAMDPROC __glewDebugMessageInsertAMD; +GLEW_FUN_EXPORT PFNGLGETDEBUGMESSAGELOGAMDPROC __glewGetDebugMessageLogAMD; + +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONINDEXEDAMDPROC __glewBlendEquationIndexedAMD; +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC __glewBlendEquationSeparateIndexedAMD; +GLEW_FUN_EXPORT PFNGLBLENDFUNCINDEXEDAMDPROC __glewBlendFuncIndexedAMD; +GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC __glewBlendFuncSeparateIndexedAMD; + +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPARAMETERIAMDPROC __glewVertexAttribParameteriAMD; + +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC __glewMultiDrawArraysIndirectAMD; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC __glewMultiDrawElementsIndirectAMD; + +GLEW_FUN_EXPORT PFNGLDELETENAMESAMDPROC __glewDeleteNamesAMD; +GLEW_FUN_EXPORT PFNGLGENNAMESAMDPROC __glewGenNamesAMD; +GLEW_FUN_EXPORT PFNGLISNAMEAMDPROC __glewIsNameAMD; + +GLEW_FUN_EXPORT PFNGLQUERYOBJECTPARAMETERUIAMDPROC __glewQueryObjectParameteruiAMD; + +GLEW_FUN_EXPORT PFNGLBEGINPERFMONITORAMDPROC __glewBeginPerfMonitorAMD; +GLEW_FUN_EXPORT PFNGLDELETEPERFMONITORSAMDPROC __glewDeletePerfMonitorsAMD; +GLEW_FUN_EXPORT PFNGLENDPERFMONITORAMDPROC __glewEndPerfMonitorAMD; +GLEW_FUN_EXPORT PFNGLGENPERFMONITORSAMDPROC __glewGenPerfMonitorsAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERDATAAMDPROC __glewGetPerfMonitorCounterDataAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERINFOAMDPROC __glewGetPerfMonitorCounterInfoAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC __glewGetPerfMonitorCounterStringAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERSAMDPROC __glewGetPerfMonitorCountersAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORGROUPSTRINGAMDPROC __glewGetPerfMonitorGroupStringAMD; +GLEW_FUN_EXPORT PFNGLGETPERFMONITORGROUPSAMDPROC __glewGetPerfMonitorGroupsAMD; +GLEW_FUN_EXPORT PFNGLSELECTPERFMONITORCOUNTERSAMDPROC __glewSelectPerfMonitorCountersAMD; + +GLEW_FUN_EXPORT PFNGLSETMULTISAMPLEFVAMDPROC __glewSetMultisamplefvAMD; + +GLEW_FUN_EXPORT PFNGLTEXSTORAGESPARSEAMDPROC __glewTexStorageSparseAMD; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGESPARSEAMDPROC __glewTextureStorageSparseAMD; + +GLEW_FUN_EXPORT PFNGLSTENCILOPVALUEAMDPROC __glewStencilOpValueAMD; + +GLEW_FUN_EXPORT PFNGLTESSELLATIONFACTORAMDPROC __glewTessellationFactorAMD; +GLEW_FUN_EXPORT PFNGLTESSELLATIONMODEAMDPROC __glewTessellationModeAMD; + +GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFERANGLEPROC __glewBlitFramebufferANGLE; + +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC __glewRenderbufferStorageMultisampleANGLE; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDANGLEPROC __glewDrawArraysInstancedANGLE; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDANGLEPROC __glewDrawElementsInstancedANGLE; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORANGLEPROC __glewVertexAttribDivisorANGLE; + +GLEW_FUN_EXPORT PFNGLBEGINQUERYANGLEPROC __glewBeginQueryANGLE; +GLEW_FUN_EXPORT PFNGLDELETEQUERIESANGLEPROC __glewDeleteQueriesANGLE; +GLEW_FUN_EXPORT PFNGLENDQUERYANGLEPROC __glewEndQueryANGLE; +GLEW_FUN_EXPORT PFNGLGENQUERIESANGLEPROC __glewGenQueriesANGLE; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VANGLEPROC __glewGetQueryObjecti64vANGLE; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTIVANGLEPROC __glewGetQueryObjectivANGLE; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VANGLEPROC __glewGetQueryObjectui64vANGLE; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUIVANGLEPROC __glewGetQueryObjectuivANGLE; +GLEW_FUN_EXPORT PFNGLGETQUERYIVANGLEPROC __glewGetQueryivANGLE; +GLEW_FUN_EXPORT PFNGLISQUERYANGLEPROC __glewIsQueryANGLE; +GLEW_FUN_EXPORT PFNGLQUERYCOUNTERANGLEPROC __glewQueryCounterANGLE; + +GLEW_FUN_EXPORT PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC __glewGetTranslatedShaderSourceANGLE; + +GLEW_FUN_EXPORT PFNGLDRAWELEMENTARRAYAPPLEPROC __glewDrawElementArrayAPPLE; +GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC __glewDrawRangeElementArrayAPPLE; +GLEW_FUN_EXPORT PFNGLELEMENTPOINTERAPPLEPROC __glewElementPointerAPPLE; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC __glewMultiDrawElementArrayAPPLE; +GLEW_FUN_EXPORT PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC __glewMultiDrawRangeElementArrayAPPLE; + +GLEW_FUN_EXPORT PFNGLDELETEFENCESAPPLEPROC __glewDeleteFencesAPPLE; +GLEW_FUN_EXPORT PFNGLFINISHFENCEAPPLEPROC __glewFinishFenceAPPLE; +GLEW_FUN_EXPORT PFNGLFINISHOBJECTAPPLEPROC __glewFinishObjectAPPLE; +GLEW_FUN_EXPORT PFNGLGENFENCESAPPLEPROC __glewGenFencesAPPLE; +GLEW_FUN_EXPORT PFNGLISFENCEAPPLEPROC __glewIsFenceAPPLE; +GLEW_FUN_EXPORT PFNGLSETFENCEAPPLEPROC __glewSetFenceAPPLE; +GLEW_FUN_EXPORT PFNGLTESTFENCEAPPLEPROC __glewTestFenceAPPLE; +GLEW_FUN_EXPORT PFNGLTESTOBJECTAPPLEPROC __glewTestObjectAPPLE; + +GLEW_FUN_EXPORT PFNGLBUFFERPARAMETERIAPPLEPROC __glewBufferParameteriAPPLE; +GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC __glewFlushMappedBufferRangeAPPLE; + +GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERIVAPPLEPROC __glewGetObjectParameterivAPPLE; +GLEW_FUN_EXPORT PFNGLOBJECTPURGEABLEAPPLEPROC __glewObjectPurgeableAPPLE; +GLEW_FUN_EXPORT PFNGLOBJECTUNPURGEABLEAPPLEPROC __glewObjectUnpurgeableAPPLE; + +GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC __glewGetTexParameterPointervAPPLE; +GLEW_FUN_EXPORT PFNGLTEXTURERANGEAPPLEPROC __glewTextureRangeAPPLE; + +GLEW_FUN_EXPORT PFNGLBINDVERTEXARRAYAPPLEPROC __glewBindVertexArrayAPPLE; +GLEW_FUN_EXPORT PFNGLDELETEVERTEXARRAYSAPPLEPROC __glewDeleteVertexArraysAPPLE; +GLEW_FUN_EXPORT PFNGLGENVERTEXARRAYSAPPLEPROC __glewGenVertexArraysAPPLE; +GLEW_FUN_EXPORT PFNGLISVERTEXARRAYAPPLEPROC __glewIsVertexArrayAPPLE; + +GLEW_FUN_EXPORT PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC __glewFlushVertexArrayRangeAPPLE; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYPARAMETERIAPPLEPROC __glewVertexArrayParameteriAPPLE; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYRANGEAPPLEPROC __glewVertexArrayRangeAPPLE; + +GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBAPPLEPROC __glewDisableVertexAttribAPPLE; +GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBAPPLEPROC __glewEnableVertexAttribAPPLE; +GLEW_FUN_EXPORT PFNGLISVERTEXATTRIBENABLEDAPPLEPROC __glewIsVertexAttribEnabledAPPLE; +GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB1DAPPLEPROC __glewMapVertexAttrib1dAPPLE; +GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB1FAPPLEPROC __glewMapVertexAttrib1fAPPLE; +GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB2DAPPLEPROC __glewMapVertexAttrib2dAPPLE; +GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB2FAPPLEPROC __glewMapVertexAttrib2fAPPLE; + +GLEW_FUN_EXPORT PFNGLCLEARDEPTHFPROC __glewClearDepthf; +GLEW_FUN_EXPORT PFNGLDEPTHRANGEFPROC __glewDepthRangef; +GLEW_FUN_EXPORT PFNGLGETSHADERPRECISIONFORMATPROC __glewGetShaderPrecisionFormat; +GLEW_FUN_EXPORT PFNGLRELEASESHADERCOMPILERPROC __glewReleaseShaderCompiler; +GLEW_FUN_EXPORT PFNGLSHADERBINARYPROC __glewShaderBinary; + +GLEW_FUN_EXPORT PFNGLMEMORYBARRIERBYREGIONPROC __glewMemoryBarrierByRegion; + +GLEW_FUN_EXPORT PFNGLPRIMITIVEBOUNDINGBOXARBPROC __glewPrimitiveBoundingBoxARB; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC __glewDrawArraysInstancedBaseInstance; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC __glewDrawElementsInstancedBaseInstance; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC __glewDrawElementsInstancedBaseVertexBaseInstance; + +GLEW_FUN_EXPORT PFNGLGETIMAGEHANDLEARBPROC __glewGetImageHandleARB; +GLEW_FUN_EXPORT PFNGLGETTEXTUREHANDLEARBPROC __glewGetTextureHandleARB; +GLEW_FUN_EXPORT PFNGLGETTEXTURESAMPLERHANDLEARBPROC __glewGetTextureSamplerHandleARB; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLUI64VARBPROC __glewGetVertexAttribLui64vARB; +GLEW_FUN_EXPORT PFNGLISIMAGEHANDLERESIDENTARBPROC __glewIsImageHandleResidentARB; +GLEW_FUN_EXPORT PFNGLISTEXTUREHANDLERESIDENTARBPROC __glewIsTextureHandleResidentARB; +GLEW_FUN_EXPORT PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC __glewMakeImageHandleNonResidentARB; +GLEW_FUN_EXPORT PFNGLMAKEIMAGEHANDLERESIDENTARBPROC __glewMakeImageHandleResidentARB; +GLEW_FUN_EXPORT PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC __glewMakeTextureHandleNonResidentARB; +GLEW_FUN_EXPORT PFNGLMAKETEXTUREHANDLERESIDENTARBPROC __glewMakeTextureHandleResidentARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC __glewProgramUniformHandleui64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC __glewProgramUniformHandleui64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORMHANDLEUI64ARBPROC __glewUniformHandleui64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORMHANDLEUI64VARBPROC __glewUniformHandleui64vARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64ARBPROC __glewVertexAttribL1ui64ARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64VARBPROC __glewVertexAttribL1ui64vARB; + +GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONINDEXEDPROC __glewBindFragDataLocationIndexed; +GLEW_FUN_EXPORT PFNGLGETFRAGDATAINDEXPROC __glewGetFragDataIndex; + +GLEW_FUN_EXPORT PFNGLBUFFERSTORAGEPROC __glewBufferStorage; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSTORAGEEXTPROC __glewNamedBufferStorageEXT; + +GLEW_FUN_EXPORT PFNGLCREATESYNCFROMCLEVENTARBPROC __glewCreateSyncFromCLeventARB; + +GLEW_FUN_EXPORT PFNGLCLEARBUFFERDATAPROC __glewClearBufferData; +GLEW_FUN_EXPORT PFNGLCLEARBUFFERSUBDATAPROC __glewClearBufferSubData; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDBUFFERDATAEXTPROC __glewClearNamedBufferDataEXT; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC __glewClearNamedBufferSubDataEXT; + +GLEW_FUN_EXPORT PFNGLCLEARTEXIMAGEPROC __glewClearTexImage; +GLEW_FUN_EXPORT PFNGLCLEARTEXSUBIMAGEPROC __glewClearTexSubImage; + +GLEW_FUN_EXPORT PFNGLCLIPCONTROLPROC __glewClipControl; + +GLEW_FUN_EXPORT PFNGLCLAMPCOLORARBPROC __glewClampColorARB; + +GLEW_FUN_EXPORT PFNGLDISPATCHCOMPUTEPROC __glewDispatchCompute; +GLEW_FUN_EXPORT PFNGLDISPATCHCOMPUTEINDIRECTPROC __glewDispatchComputeIndirect; + +GLEW_FUN_EXPORT PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC __glewDispatchComputeGroupSizeARB; + +GLEW_FUN_EXPORT PFNGLCOPYBUFFERSUBDATAPROC __glewCopyBufferSubData; + +GLEW_FUN_EXPORT PFNGLCOPYIMAGESUBDATAPROC __glewCopyImageSubData; + +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECALLBACKARBPROC __glewDebugMessageCallbackARB; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECONTROLARBPROC __glewDebugMessageControlARB; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGEINSERTARBPROC __glewDebugMessageInsertARB; +GLEW_FUN_EXPORT PFNGLGETDEBUGMESSAGELOGARBPROC __glewGetDebugMessageLogARB; + +GLEW_FUN_EXPORT PFNGLBINDTEXTUREUNITPROC __glewBindTextureUnit; +GLEW_FUN_EXPORT PFNGLBLITNAMEDFRAMEBUFFERPROC __glewBlitNamedFramebuffer; +GLEW_FUN_EXPORT PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC __glewCheckNamedFramebufferStatus; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDBUFFERDATAPROC __glewClearNamedBufferData; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDBUFFERSUBDATAPROC __glewClearNamedBufferSubData; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDFRAMEBUFFERFIPROC __glewClearNamedFramebufferfi; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDFRAMEBUFFERFVPROC __glewClearNamedFramebufferfv; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDFRAMEBUFFERIVPROC __glewClearNamedFramebufferiv; +GLEW_FUN_EXPORT PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC __glewClearNamedFramebufferuiv; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC __glewCompressedTextureSubImage1D; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC __glewCompressedTextureSubImage2D; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC __glewCompressedTextureSubImage3D; +GLEW_FUN_EXPORT PFNGLCOPYNAMEDBUFFERSUBDATAPROC __glewCopyNamedBufferSubData; +GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE1DPROC __glewCopyTextureSubImage1D; +GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE2DPROC __glewCopyTextureSubImage2D; +GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE3DPROC __glewCopyTextureSubImage3D; +GLEW_FUN_EXPORT PFNGLCREATEBUFFERSPROC __glewCreateBuffers; +GLEW_FUN_EXPORT PFNGLCREATEFRAMEBUFFERSPROC __glewCreateFramebuffers; +GLEW_FUN_EXPORT PFNGLCREATEPROGRAMPIPELINESPROC __glewCreateProgramPipelines; +GLEW_FUN_EXPORT PFNGLCREATEQUERIESPROC __glewCreateQueries; +GLEW_FUN_EXPORT PFNGLCREATERENDERBUFFERSPROC __glewCreateRenderbuffers; +GLEW_FUN_EXPORT PFNGLCREATESAMPLERSPROC __glewCreateSamplers; +GLEW_FUN_EXPORT PFNGLCREATETEXTURESPROC __glewCreateTextures; +GLEW_FUN_EXPORT PFNGLCREATETRANSFORMFEEDBACKSPROC __glewCreateTransformFeedbacks; +GLEW_FUN_EXPORT PFNGLCREATEVERTEXARRAYSPROC __glewCreateVertexArrays; +GLEW_FUN_EXPORT PFNGLDISABLEVERTEXARRAYATTRIBPROC __glewDisableVertexArrayAttrib; +GLEW_FUN_EXPORT PFNGLENABLEVERTEXARRAYATTRIBPROC __glewEnableVertexArrayAttrib; +GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC __glewFlushMappedNamedBufferRange; +GLEW_FUN_EXPORT PFNGLGENERATETEXTUREMIPMAPPROC __glewGenerateTextureMipmap; +GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC __glewGetCompressedTextureImage; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERI64VPROC __glewGetNamedBufferParameteri64v; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERIVPROC __glewGetNamedBufferParameteriv; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPOINTERVPROC __glewGetNamedBufferPointerv; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERSUBDATAPROC __glewGetNamedBufferSubData; +GLEW_FUN_EXPORT PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC __glewGetNamedFramebufferAttachmentParameteriv; +GLEW_FUN_EXPORT PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC __glewGetNamedFramebufferParameteriv; +GLEW_FUN_EXPORT PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC __glewGetNamedRenderbufferParameteriv; +GLEW_FUN_EXPORT PFNGLGETQUERYBUFFEROBJECTI64VPROC __glewGetQueryBufferObjecti64v; +GLEW_FUN_EXPORT PFNGLGETQUERYBUFFEROBJECTIVPROC __glewGetQueryBufferObjectiv; +GLEW_FUN_EXPORT PFNGLGETQUERYBUFFEROBJECTUI64VPROC __glewGetQueryBufferObjectui64v; +GLEW_FUN_EXPORT PFNGLGETQUERYBUFFEROBJECTUIVPROC __glewGetQueryBufferObjectuiv; +GLEW_FUN_EXPORT PFNGLGETTEXTUREIMAGEPROC __glewGetTextureImage; +GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERFVPROC __glewGetTextureLevelParameterfv; +GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERIVPROC __glewGetTextureLevelParameteriv; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIIVPROC __glewGetTextureParameterIiv; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIUIVPROC __glewGetTextureParameterIuiv; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERFVPROC __glewGetTextureParameterfv; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIVPROC __glewGetTextureParameteriv; +GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKI64_VPROC __glewGetTransformFeedbacki64_v; +GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKI_VPROC __glewGetTransformFeedbacki_v; +GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKIVPROC __glewGetTransformFeedbackiv; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINDEXED64IVPROC __glewGetVertexArrayIndexed64iv; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINDEXEDIVPROC __glewGetVertexArrayIndexediv; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYIVPROC __glewGetVertexArrayiv; +GLEW_FUN_EXPORT PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC __glewInvalidateNamedFramebufferData; +GLEW_FUN_EXPORT PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC __glewInvalidateNamedFramebufferSubData; +GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFERPROC __glewMapNamedBuffer; +GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFERRANGEPROC __glewMapNamedBufferRange; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERDATAPROC __glewNamedBufferData; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSTORAGEPROC __glewNamedBufferStorage; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSUBDATAPROC __glewNamedBufferSubData; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC __glewNamedFramebufferDrawBuffer; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC __glewNamedFramebufferDrawBuffers; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC __glewNamedFramebufferParameteri; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC __glewNamedFramebufferReadBuffer; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC __glewNamedFramebufferRenderbuffer; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREPROC __glewNamedFramebufferTexture; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC __glewNamedFramebufferTextureLayer; +GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEPROC __glewNamedRenderbufferStorage; +GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC __glewNamedRenderbufferStorageMultisample; +GLEW_FUN_EXPORT PFNGLTEXTUREBUFFERPROC __glewTextureBuffer; +GLEW_FUN_EXPORT PFNGLTEXTUREBUFFERRANGEPROC __glewTextureBufferRange; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIIVPROC __glewTextureParameterIiv; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIUIVPROC __glewTextureParameterIuiv; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFPROC __glewTextureParameterf; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFVPROC __glewTextureParameterfv; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIPROC __glewTextureParameteri; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIVPROC __glewTextureParameteriv; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE1DPROC __glewTextureStorage1D; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE2DPROC __glewTextureStorage2D; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC __glewTextureStorage2DMultisample; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE3DPROC __glewTextureStorage3D; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC __glewTextureStorage3DMultisample; +GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE1DPROC __glewTextureSubImage1D; +GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE2DPROC __glewTextureSubImage2D; +GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE3DPROC __glewTextureSubImage3D; +GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC __glewTransformFeedbackBufferBase; +GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC __glewTransformFeedbackBufferRange; +GLEW_FUN_EXPORT PFNGLUNMAPNAMEDBUFFERPROC __glewUnmapNamedBuffer; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYATTRIBBINDINGPROC __glewVertexArrayAttribBinding; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYATTRIBFORMATPROC __glewVertexArrayAttribFormat; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYATTRIBIFORMATPROC __glewVertexArrayAttribIFormat; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYATTRIBLFORMATPROC __glewVertexArrayAttribLFormat; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYBINDINGDIVISORPROC __glewVertexArrayBindingDivisor; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYELEMENTBUFFERPROC __glewVertexArrayElementBuffer; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXBUFFERPROC __glewVertexArrayVertexBuffer; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXBUFFERSPROC __glewVertexArrayVertexBuffers; + +GLEW_FUN_EXPORT PFNGLDRAWBUFFERSARBPROC __glewDrawBuffersARB; + +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEIARBPROC __glewBlendEquationSeparateiARB; +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONIARBPROC __glewBlendEquationiARB; +GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEIARBPROC __glewBlendFuncSeparateiARB; +GLEW_FUN_EXPORT PFNGLBLENDFUNCIARBPROC __glewBlendFunciARB; + +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSBASEVERTEXPROC __glewDrawElementsBaseVertex; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC __glewDrawElementsInstancedBaseVertex; +GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC __glewDrawRangeElementsBaseVertex; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC __glewMultiDrawElementsBaseVertex; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINDIRECTPROC __glewDrawArraysIndirect; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINDIRECTPROC __glewDrawElementsIndirect; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERPARAMETERIPROC __glewFramebufferParameteri; +GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVPROC __glewGetFramebufferParameteriv; +GLEW_FUN_EXPORT PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC __glewGetNamedFramebufferParameterivEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC __glewNamedFramebufferParameteriEXT; + +GLEW_FUN_EXPORT PFNGLBINDFRAMEBUFFERPROC __glewBindFramebuffer; +GLEW_FUN_EXPORT PFNGLBINDRENDERBUFFERPROC __glewBindRenderbuffer; +GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFERPROC __glewBlitFramebuffer; +GLEW_FUN_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSPROC __glewCheckFramebufferStatus; +GLEW_FUN_EXPORT PFNGLDELETEFRAMEBUFFERSPROC __glewDeleteFramebuffers; +GLEW_FUN_EXPORT PFNGLDELETERENDERBUFFERSPROC __glewDeleteRenderbuffers; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERRENDERBUFFERPROC __glewFramebufferRenderbuffer; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE1DPROC __glewFramebufferTexture1D; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DPROC __glewFramebufferTexture2D; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE3DPROC __glewFramebufferTexture3D; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERPROC __glewFramebufferTextureLayer; +GLEW_FUN_EXPORT PFNGLGENFRAMEBUFFERSPROC __glewGenFramebuffers; +GLEW_FUN_EXPORT PFNGLGENRENDERBUFFERSPROC __glewGenRenderbuffers; +GLEW_FUN_EXPORT PFNGLGENERATEMIPMAPPROC __glewGenerateMipmap; +GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC __glewGetFramebufferAttachmentParameteriv; +GLEW_FUN_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVPROC __glewGetRenderbufferParameteriv; +GLEW_FUN_EXPORT PFNGLISFRAMEBUFFERPROC __glewIsFramebuffer; +GLEW_FUN_EXPORT PFNGLISRENDERBUFFERPROC __glewIsRenderbuffer; +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEPROC __glewRenderbufferStorage; +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC __glewRenderbufferStorageMultisample; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREARBPROC __glewFramebufferTextureARB; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEARBPROC __glewFramebufferTextureFaceARB; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERARBPROC __glewFramebufferTextureLayerARB; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIARBPROC __glewProgramParameteriARB; + +GLEW_FUN_EXPORT PFNGLGETPROGRAMBINARYPROC __glewGetProgramBinary; +GLEW_FUN_EXPORT PFNGLPROGRAMBINARYPROC __glewProgramBinary; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIPROC __glewProgramParameteri; + +GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC __glewGetCompressedTextureSubImage; +GLEW_FUN_EXPORT PFNGLGETTEXTURESUBIMAGEPROC __glewGetTextureSubImage; + +GLEW_FUN_EXPORT PFNGLGETUNIFORMDVPROC __glewGetUniformdv; +GLEW_FUN_EXPORT PFNGLUNIFORM1DPROC __glewUniform1d; +GLEW_FUN_EXPORT PFNGLUNIFORM1DVPROC __glewUniform1dv; +GLEW_FUN_EXPORT PFNGLUNIFORM2DPROC __glewUniform2d; +GLEW_FUN_EXPORT PFNGLUNIFORM2DVPROC __glewUniform2dv; +GLEW_FUN_EXPORT PFNGLUNIFORM3DPROC __glewUniform3d; +GLEW_FUN_EXPORT PFNGLUNIFORM3DVPROC __glewUniform3dv; +GLEW_FUN_EXPORT PFNGLUNIFORM4DPROC __glewUniform4d; +GLEW_FUN_EXPORT PFNGLUNIFORM4DVPROC __glewUniform4dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2DVPROC __glewUniformMatrix2dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X3DVPROC __glewUniformMatrix2x3dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X4DVPROC __glewUniformMatrix2x4dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3DVPROC __glewUniformMatrix3dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X2DVPROC __glewUniformMatrix3x2dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X4DVPROC __glewUniformMatrix3x4dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4DVPROC __glewUniformMatrix4dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X2DVPROC __glewUniformMatrix4x2dv; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X3DVPROC __glewUniformMatrix4x3dv; + +GLEW_FUN_EXPORT PFNGLGETUNIFORMI64VARBPROC __glewGetUniformi64vARB; +GLEW_FUN_EXPORT PFNGLGETUNIFORMUI64VARBPROC __glewGetUniformui64vARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMI64VARBPROC __glewGetnUniformi64vARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMUI64VARBPROC __glewGetnUniformui64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64ARBPROC __glewProgramUniform1i64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64VARBPROC __glewProgramUniform1i64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64ARBPROC __glewProgramUniform1ui64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64VARBPROC __glewProgramUniform1ui64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64ARBPROC __glewProgramUniform2i64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64VARBPROC __glewProgramUniform2i64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64ARBPROC __glewProgramUniform2ui64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64VARBPROC __glewProgramUniform2ui64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64ARBPROC __glewProgramUniform3i64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64VARBPROC __glewProgramUniform3i64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64ARBPROC __glewProgramUniform3ui64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64VARBPROC __glewProgramUniform3ui64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64ARBPROC __glewProgramUniform4i64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64VARBPROC __glewProgramUniform4i64vARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64ARBPROC __glewProgramUniform4ui64ARB; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64VARBPROC __glewProgramUniform4ui64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1I64ARBPROC __glewUniform1i64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1I64VARBPROC __glewUniform1i64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1UI64ARBPROC __glewUniform1ui64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1UI64VARBPROC __glewUniform1ui64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2I64ARBPROC __glewUniform2i64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2I64VARBPROC __glewUniform2i64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2UI64ARBPROC __glewUniform2ui64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2UI64VARBPROC __glewUniform2ui64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3I64ARBPROC __glewUniform3i64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3I64VARBPROC __glewUniform3i64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3UI64ARBPROC __glewUniform3ui64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3UI64VARBPROC __glewUniform3ui64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4I64ARBPROC __glewUniform4i64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4I64VARBPROC __glewUniform4i64vARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4UI64ARBPROC __glewUniform4ui64ARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4UI64VARBPROC __glewUniform4ui64vARB; + +GLEW_FUN_EXPORT PFNGLCOLORSUBTABLEPROC __glewColorSubTable; +GLEW_FUN_EXPORT PFNGLCOLORTABLEPROC __glewColorTable; +GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERFVPROC __glewColorTableParameterfv; +GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERIVPROC __glewColorTableParameteriv; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER1DPROC __glewConvolutionFilter1D; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER2DPROC __glewConvolutionFilter2D; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFPROC __glewConvolutionParameterf; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFVPROC __glewConvolutionParameterfv; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIPROC __glewConvolutionParameteri; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIVPROC __glewConvolutionParameteriv; +GLEW_FUN_EXPORT PFNGLCOPYCOLORSUBTABLEPROC __glewCopyColorSubTable; +GLEW_FUN_EXPORT PFNGLCOPYCOLORTABLEPROC __glewCopyColorTable; +GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DPROC __glewCopyConvolutionFilter1D; +GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DPROC __glewCopyConvolutionFilter2D; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPROC __glewGetColorTable; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVPROC __glewGetColorTableParameterfv; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVPROC __glewGetColorTableParameteriv; +GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONFILTERPROC __glewGetConvolutionFilter; +GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVPROC __glewGetConvolutionParameterfv; +GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVPROC __glewGetConvolutionParameteriv; +GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPROC __glewGetHistogram; +GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERFVPROC __glewGetHistogramParameterfv; +GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERIVPROC __glewGetHistogramParameteriv; +GLEW_FUN_EXPORT PFNGLGETMINMAXPROC __glewGetMinmax; +GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERFVPROC __glewGetMinmaxParameterfv; +GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERIVPROC __glewGetMinmaxParameteriv; +GLEW_FUN_EXPORT PFNGLGETSEPARABLEFILTERPROC __glewGetSeparableFilter; +GLEW_FUN_EXPORT PFNGLHISTOGRAMPROC __glewHistogram; +GLEW_FUN_EXPORT PFNGLMINMAXPROC __glewMinmax; +GLEW_FUN_EXPORT PFNGLRESETHISTOGRAMPROC __glewResetHistogram; +GLEW_FUN_EXPORT PFNGLRESETMINMAXPROC __glewResetMinmax; +GLEW_FUN_EXPORT PFNGLSEPARABLEFILTER2DPROC __glewSeparableFilter2D; + +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC __glewMultiDrawArraysIndirectCountARB; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC __glewMultiDrawElementsIndirectCountARB; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDARBPROC __glewDrawArraysInstancedARB; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDARBPROC __glewDrawElementsInstancedARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORARBPROC __glewVertexAttribDivisorARB; + +GLEW_FUN_EXPORT PFNGLGETINTERNALFORMATIVPROC __glewGetInternalformativ; + +GLEW_FUN_EXPORT PFNGLGETINTERNALFORMATI64VPROC __glewGetInternalformati64v; + +GLEW_FUN_EXPORT PFNGLINVALIDATEBUFFERDATAPROC __glewInvalidateBufferData; +GLEW_FUN_EXPORT PFNGLINVALIDATEBUFFERSUBDATAPROC __glewInvalidateBufferSubData; +GLEW_FUN_EXPORT PFNGLINVALIDATEFRAMEBUFFERPROC __glewInvalidateFramebuffer; +GLEW_FUN_EXPORT PFNGLINVALIDATESUBFRAMEBUFFERPROC __glewInvalidateSubFramebuffer; +GLEW_FUN_EXPORT PFNGLINVALIDATETEXIMAGEPROC __glewInvalidateTexImage; +GLEW_FUN_EXPORT PFNGLINVALIDATETEXSUBIMAGEPROC __glewInvalidateTexSubImage; + +GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEPROC __glewFlushMappedBufferRange; +GLEW_FUN_EXPORT PFNGLMAPBUFFERRANGEPROC __glewMapBufferRange; + +GLEW_FUN_EXPORT PFNGLCURRENTPALETTEMATRIXARBPROC __glewCurrentPaletteMatrixARB; +GLEW_FUN_EXPORT PFNGLMATRIXINDEXPOINTERARBPROC __glewMatrixIndexPointerARB; +GLEW_FUN_EXPORT PFNGLMATRIXINDEXUBVARBPROC __glewMatrixIndexubvARB; +GLEW_FUN_EXPORT PFNGLMATRIXINDEXUIVARBPROC __glewMatrixIndexuivARB; +GLEW_FUN_EXPORT PFNGLMATRIXINDEXUSVARBPROC __glewMatrixIndexusvARB; + +GLEW_FUN_EXPORT PFNGLBINDBUFFERSBASEPROC __glewBindBuffersBase; +GLEW_FUN_EXPORT PFNGLBINDBUFFERSRANGEPROC __glewBindBuffersRange; +GLEW_FUN_EXPORT PFNGLBINDIMAGETEXTURESPROC __glewBindImageTextures; +GLEW_FUN_EXPORT PFNGLBINDSAMPLERSPROC __glewBindSamplers; +GLEW_FUN_EXPORT PFNGLBINDTEXTURESPROC __glewBindTextures; +GLEW_FUN_EXPORT PFNGLBINDVERTEXBUFFERSPROC __glewBindVertexBuffers; + +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTPROC __glewMultiDrawArraysIndirect; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTPROC __glewMultiDrawElementsIndirect; + +GLEW_FUN_EXPORT PFNGLSAMPLECOVERAGEARBPROC __glewSampleCoverageARB; + +GLEW_FUN_EXPORT PFNGLACTIVETEXTUREARBPROC __glewActiveTextureARB; +GLEW_FUN_EXPORT PFNGLCLIENTACTIVETEXTUREARBPROC __glewClientActiveTextureARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DARBPROC __glewMultiTexCoord1dARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DVARBPROC __glewMultiTexCoord1dvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FARBPROC __glewMultiTexCoord1fARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FVARBPROC __glewMultiTexCoord1fvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IARBPROC __glewMultiTexCoord1iARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IVARBPROC __glewMultiTexCoord1ivARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SARBPROC __glewMultiTexCoord1sARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SVARBPROC __glewMultiTexCoord1svARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DARBPROC __glewMultiTexCoord2dARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DVARBPROC __glewMultiTexCoord2dvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FARBPROC __glewMultiTexCoord2fARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FVARBPROC __glewMultiTexCoord2fvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IARBPROC __glewMultiTexCoord2iARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IVARBPROC __glewMultiTexCoord2ivARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SARBPROC __glewMultiTexCoord2sARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SVARBPROC __glewMultiTexCoord2svARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DARBPROC __glewMultiTexCoord3dARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DVARBPROC __glewMultiTexCoord3dvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FARBPROC __glewMultiTexCoord3fARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FVARBPROC __glewMultiTexCoord3fvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IARBPROC __glewMultiTexCoord3iARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IVARBPROC __glewMultiTexCoord3ivARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SARBPROC __glewMultiTexCoord3sARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SVARBPROC __glewMultiTexCoord3svARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DARBPROC __glewMultiTexCoord4dARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DVARBPROC __glewMultiTexCoord4dvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FARBPROC __glewMultiTexCoord4fARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FVARBPROC __glewMultiTexCoord4fvARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IARBPROC __glewMultiTexCoord4iARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IVARBPROC __glewMultiTexCoord4ivARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SARBPROC __glewMultiTexCoord4sARB; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SVARBPROC __glewMultiTexCoord4svARB; + +GLEW_FUN_EXPORT PFNGLBEGINQUERYARBPROC __glewBeginQueryARB; +GLEW_FUN_EXPORT PFNGLDELETEQUERIESARBPROC __glewDeleteQueriesARB; +GLEW_FUN_EXPORT PFNGLENDQUERYARBPROC __glewEndQueryARB; +GLEW_FUN_EXPORT PFNGLGENQUERIESARBPROC __glewGenQueriesARB; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTIVARBPROC __glewGetQueryObjectivARB; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUIVARBPROC __glewGetQueryObjectuivARB; +GLEW_FUN_EXPORT PFNGLGETQUERYIVARBPROC __glewGetQueryivARB; +GLEW_FUN_EXPORT PFNGLISQUERYARBPROC __glewIsQueryARB; + +GLEW_FUN_EXPORT PFNGLMAXSHADERCOMPILERTHREADSARBPROC __glewMaxShaderCompilerThreadsARB; + +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFARBPROC __glewPointParameterfARB; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVARBPROC __glewPointParameterfvARB; + +GLEW_FUN_EXPORT PFNGLGETPROGRAMINTERFACEIVPROC __glewGetProgramInterfaceiv; +GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCEINDEXPROC __glewGetProgramResourceIndex; +GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCELOCATIONPROC __glewGetProgramResourceLocation; +GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC __glewGetProgramResourceLocationIndex; +GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCENAMEPROC __glewGetProgramResourceName; +GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCEIVPROC __glewGetProgramResourceiv; + +GLEW_FUN_EXPORT PFNGLPROVOKINGVERTEXPROC __glewProvokingVertex; + +GLEW_FUN_EXPORT PFNGLGETGRAPHICSRESETSTATUSARBPROC __glewGetGraphicsResetStatusARB; +GLEW_FUN_EXPORT PFNGLGETNCOLORTABLEARBPROC __glewGetnColorTableARB; +GLEW_FUN_EXPORT PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC __glewGetnCompressedTexImageARB; +GLEW_FUN_EXPORT PFNGLGETNCONVOLUTIONFILTERARBPROC __glewGetnConvolutionFilterARB; +GLEW_FUN_EXPORT PFNGLGETNHISTOGRAMARBPROC __glewGetnHistogramARB; +GLEW_FUN_EXPORT PFNGLGETNMAPDVARBPROC __glewGetnMapdvARB; +GLEW_FUN_EXPORT PFNGLGETNMAPFVARBPROC __glewGetnMapfvARB; +GLEW_FUN_EXPORT PFNGLGETNMAPIVARBPROC __glewGetnMapivARB; +GLEW_FUN_EXPORT PFNGLGETNMINMAXARBPROC __glewGetnMinmaxARB; +GLEW_FUN_EXPORT PFNGLGETNPIXELMAPFVARBPROC __glewGetnPixelMapfvARB; +GLEW_FUN_EXPORT PFNGLGETNPIXELMAPUIVARBPROC __glewGetnPixelMapuivARB; +GLEW_FUN_EXPORT PFNGLGETNPIXELMAPUSVARBPROC __glewGetnPixelMapusvARB; +GLEW_FUN_EXPORT PFNGLGETNPOLYGONSTIPPLEARBPROC __glewGetnPolygonStippleARB; +GLEW_FUN_EXPORT PFNGLGETNSEPARABLEFILTERARBPROC __glewGetnSeparableFilterARB; +GLEW_FUN_EXPORT PFNGLGETNTEXIMAGEARBPROC __glewGetnTexImageARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMDVARBPROC __glewGetnUniformdvARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMFVARBPROC __glewGetnUniformfvARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMIVARBPROC __glewGetnUniformivARB; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMUIVARBPROC __glewGetnUniformuivARB; +GLEW_FUN_EXPORT PFNGLREADNPIXELSARBPROC __glewReadnPixelsARB; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC __glewFramebufferSampleLocationsfvARB; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC __glewNamedFramebufferSampleLocationsfvARB; + +GLEW_FUN_EXPORT PFNGLMINSAMPLESHADINGARBPROC __glewMinSampleShadingARB; + +GLEW_FUN_EXPORT PFNGLBINDSAMPLERPROC __glewBindSampler; +GLEW_FUN_EXPORT PFNGLDELETESAMPLERSPROC __glewDeleteSamplers; +GLEW_FUN_EXPORT PFNGLGENSAMPLERSPROC __glewGenSamplers; +GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIIVPROC __glewGetSamplerParameterIiv; +GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIUIVPROC __glewGetSamplerParameterIuiv; +GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERFVPROC __glewGetSamplerParameterfv; +GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIVPROC __glewGetSamplerParameteriv; +GLEW_FUN_EXPORT PFNGLISSAMPLERPROC __glewIsSampler; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIIVPROC __glewSamplerParameterIiv; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIUIVPROC __glewSamplerParameterIuiv; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERFPROC __glewSamplerParameterf; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERFVPROC __glewSamplerParameterfv; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIPROC __glewSamplerParameteri; +GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIVPROC __glewSamplerParameteriv; + +GLEW_FUN_EXPORT PFNGLACTIVESHADERPROGRAMPROC __glewActiveShaderProgram; +GLEW_FUN_EXPORT PFNGLBINDPROGRAMPIPELINEPROC __glewBindProgramPipeline; +GLEW_FUN_EXPORT PFNGLCREATESHADERPROGRAMVPROC __glewCreateShaderProgramv; +GLEW_FUN_EXPORT PFNGLDELETEPROGRAMPIPELINESPROC __glewDeleteProgramPipelines; +GLEW_FUN_EXPORT PFNGLGENPROGRAMPIPELINESPROC __glewGenProgramPipelines; +GLEW_FUN_EXPORT PFNGLGETPROGRAMPIPELINEINFOLOGPROC __glewGetProgramPipelineInfoLog; +GLEW_FUN_EXPORT PFNGLGETPROGRAMPIPELINEIVPROC __glewGetProgramPipelineiv; +GLEW_FUN_EXPORT PFNGLISPROGRAMPIPELINEPROC __glewIsProgramPipeline; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1DPROC __glewProgramUniform1d; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1DVPROC __glewProgramUniform1dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FPROC __glewProgramUniform1f; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FVPROC __glewProgramUniform1fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IPROC __glewProgramUniform1i; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IVPROC __glewProgramUniform1iv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIPROC __glewProgramUniform1ui; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIVPROC __glewProgramUniform1uiv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2DPROC __glewProgramUniform2d; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2DVPROC __glewProgramUniform2dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FPROC __glewProgramUniform2f; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FVPROC __glewProgramUniform2fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IPROC __glewProgramUniform2i; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IVPROC __glewProgramUniform2iv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIPROC __glewProgramUniform2ui; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIVPROC __glewProgramUniform2uiv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3DPROC __glewProgramUniform3d; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3DVPROC __glewProgramUniform3dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FPROC __glewProgramUniform3f; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FVPROC __glewProgramUniform3fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IPROC __glewProgramUniform3i; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IVPROC __glewProgramUniform3iv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIPROC __glewProgramUniform3ui; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIVPROC __glewProgramUniform3uiv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4DPROC __glewProgramUniform4d; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4DVPROC __glewProgramUniform4dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FPROC __glewProgramUniform4f; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FVPROC __glewProgramUniform4fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IPROC __glewProgramUniform4i; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IVPROC __glewProgramUniform4iv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIPROC __glewProgramUniform4ui; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIVPROC __glewProgramUniform4uiv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2DVPROC __glewProgramUniformMatrix2dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVPROC __glewProgramUniformMatrix2fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC __glewProgramUniformMatrix2x3dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC __glewProgramUniformMatrix2x3fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC __glewProgramUniformMatrix2x4dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC __glewProgramUniformMatrix2x4fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3DVPROC __glewProgramUniformMatrix3dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVPROC __glewProgramUniformMatrix3fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC __glewProgramUniformMatrix3x2dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC __glewProgramUniformMatrix3x2fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC __glewProgramUniformMatrix3x4dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC __glewProgramUniformMatrix3x4fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4DVPROC __glewProgramUniformMatrix4dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVPROC __glewProgramUniformMatrix4fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC __glewProgramUniformMatrix4x2dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC __glewProgramUniformMatrix4x2fv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC __glewProgramUniformMatrix4x3dv; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC __glewProgramUniformMatrix4x3fv; +GLEW_FUN_EXPORT PFNGLUSEPROGRAMSTAGESPROC __glewUseProgramStages; +GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMPIPELINEPROC __glewValidateProgramPipeline; + +GLEW_FUN_EXPORT PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC __glewGetActiveAtomicCounterBufferiv; + +GLEW_FUN_EXPORT PFNGLBINDIMAGETEXTUREPROC __glewBindImageTexture; +GLEW_FUN_EXPORT PFNGLMEMORYBARRIERPROC __glewMemoryBarrier; + +GLEW_FUN_EXPORT PFNGLATTACHOBJECTARBPROC __glewAttachObjectARB; +GLEW_FUN_EXPORT PFNGLCOMPILESHADERARBPROC __glewCompileShaderARB; +GLEW_FUN_EXPORT PFNGLCREATEPROGRAMOBJECTARBPROC __glewCreateProgramObjectARB; +GLEW_FUN_EXPORT PFNGLCREATESHADEROBJECTARBPROC __glewCreateShaderObjectARB; +GLEW_FUN_EXPORT PFNGLDELETEOBJECTARBPROC __glewDeleteObjectARB; +GLEW_FUN_EXPORT PFNGLDETACHOBJECTARBPROC __glewDetachObjectARB; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMARBPROC __glewGetActiveUniformARB; +GLEW_FUN_EXPORT PFNGLGETATTACHEDOBJECTSARBPROC __glewGetAttachedObjectsARB; +GLEW_FUN_EXPORT PFNGLGETHANDLEARBPROC __glewGetHandleARB; +GLEW_FUN_EXPORT PFNGLGETINFOLOGARBPROC __glewGetInfoLogARB; +GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERFVARBPROC __glewGetObjectParameterfvARB; +GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERIVARBPROC __glewGetObjectParameterivARB; +GLEW_FUN_EXPORT PFNGLGETSHADERSOURCEARBPROC __glewGetShaderSourceARB; +GLEW_FUN_EXPORT PFNGLGETUNIFORMLOCATIONARBPROC __glewGetUniformLocationARB; +GLEW_FUN_EXPORT PFNGLGETUNIFORMFVARBPROC __glewGetUniformfvARB; +GLEW_FUN_EXPORT PFNGLGETUNIFORMIVARBPROC __glewGetUniformivARB; +GLEW_FUN_EXPORT PFNGLLINKPROGRAMARBPROC __glewLinkProgramARB; +GLEW_FUN_EXPORT PFNGLSHADERSOURCEARBPROC __glewShaderSourceARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1FARBPROC __glewUniform1fARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1FVARBPROC __glewUniform1fvARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1IARBPROC __glewUniform1iARB; +GLEW_FUN_EXPORT PFNGLUNIFORM1IVARBPROC __glewUniform1ivARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2FARBPROC __glewUniform2fARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2FVARBPROC __glewUniform2fvARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2IARBPROC __glewUniform2iARB; +GLEW_FUN_EXPORT PFNGLUNIFORM2IVARBPROC __glewUniform2ivARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3FARBPROC __glewUniform3fARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3FVARBPROC __glewUniform3fvARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3IARBPROC __glewUniform3iARB; +GLEW_FUN_EXPORT PFNGLUNIFORM3IVARBPROC __glewUniform3ivARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4FARBPROC __glewUniform4fARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4FVARBPROC __glewUniform4fvARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4IARBPROC __glewUniform4iARB; +GLEW_FUN_EXPORT PFNGLUNIFORM4IVARBPROC __glewUniform4ivARB; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2FVARBPROC __glewUniformMatrix2fvARB; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3FVARBPROC __glewUniformMatrix3fvARB; +GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4FVARBPROC __glewUniformMatrix4fvARB; +GLEW_FUN_EXPORT PFNGLUSEPROGRAMOBJECTARBPROC __glewUseProgramObjectARB; +GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMARBPROC __glewValidateProgramARB; + +GLEW_FUN_EXPORT PFNGLSHADERSTORAGEBLOCKBINDINGPROC __glewShaderStorageBlockBinding; + +GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINENAMEPROC __glewGetActiveSubroutineName; +GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC __glewGetActiveSubroutineUniformName; +GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC __glewGetActiveSubroutineUniformiv; +GLEW_FUN_EXPORT PFNGLGETPROGRAMSTAGEIVPROC __glewGetProgramStageiv; +GLEW_FUN_EXPORT PFNGLGETSUBROUTINEINDEXPROC __glewGetSubroutineIndex; +GLEW_FUN_EXPORT PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC __glewGetSubroutineUniformLocation; +GLEW_FUN_EXPORT PFNGLGETUNIFORMSUBROUTINEUIVPROC __glewGetUniformSubroutineuiv; +GLEW_FUN_EXPORT PFNGLUNIFORMSUBROUTINESUIVPROC __glewUniformSubroutinesuiv; + +GLEW_FUN_EXPORT PFNGLCOMPILESHADERINCLUDEARBPROC __glewCompileShaderIncludeARB; +GLEW_FUN_EXPORT PFNGLDELETENAMEDSTRINGARBPROC __glewDeleteNamedStringARB; +GLEW_FUN_EXPORT PFNGLGETNAMEDSTRINGARBPROC __glewGetNamedStringARB; +GLEW_FUN_EXPORT PFNGLGETNAMEDSTRINGIVARBPROC __glewGetNamedStringivARB; +GLEW_FUN_EXPORT PFNGLISNAMEDSTRINGARBPROC __glewIsNamedStringARB; +GLEW_FUN_EXPORT PFNGLNAMEDSTRINGARBPROC __glewNamedStringARB; + +GLEW_FUN_EXPORT PFNGLBUFFERPAGECOMMITMENTARBPROC __glewBufferPageCommitmentARB; + +GLEW_FUN_EXPORT PFNGLTEXPAGECOMMITMENTARBPROC __glewTexPageCommitmentARB; +GLEW_FUN_EXPORT PFNGLTEXTUREPAGECOMMITMENTEXTPROC __glewTexturePageCommitmentEXT; + +GLEW_FUN_EXPORT PFNGLCLIENTWAITSYNCPROC __glewClientWaitSync; +GLEW_FUN_EXPORT PFNGLDELETESYNCPROC __glewDeleteSync; +GLEW_FUN_EXPORT PFNGLFENCESYNCPROC __glewFenceSync; +GLEW_FUN_EXPORT PFNGLGETINTEGER64VPROC __glewGetInteger64v; +GLEW_FUN_EXPORT PFNGLGETSYNCIVPROC __glewGetSynciv; +GLEW_FUN_EXPORT PFNGLISSYNCPROC __glewIsSync; +GLEW_FUN_EXPORT PFNGLWAITSYNCPROC __glewWaitSync; + +GLEW_FUN_EXPORT PFNGLPATCHPARAMETERFVPROC __glewPatchParameterfv; +GLEW_FUN_EXPORT PFNGLPATCHPARAMETERIPROC __glewPatchParameteri; + +GLEW_FUN_EXPORT PFNGLTEXTUREBARRIERPROC __glewTextureBarrier; + +GLEW_FUN_EXPORT PFNGLTEXBUFFERARBPROC __glewTexBufferARB; + +GLEW_FUN_EXPORT PFNGLTEXBUFFERRANGEPROC __glewTexBufferRange; +GLEW_FUN_EXPORT PFNGLTEXTUREBUFFERRANGEEXTPROC __glewTextureBufferRangeEXT; + +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DARBPROC __glewCompressedTexImage1DARB; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DARBPROC __glewCompressedTexImage2DARB; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DARBPROC __glewCompressedTexImage3DARB; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC __glewCompressedTexSubImage1DARB; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC __glewCompressedTexSubImage2DARB; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC __glewCompressedTexSubImage3DARB; +GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEARBPROC __glewGetCompressedTexImageARB; + +GLEW_FUN_EXPORT PFNGLGETMULTISAMPLEFVPROC __glewGetMultisamplefv; +GLEW_FUN_EXPORT PFNGLSAMPLEMASKIPROC __glewSampleMaski; +GLEW_FUN_EXPORT PFNGLTEXIMAGE2DMULTISAMPLEPROC __glewTexImage2DMultisample; +GLEW_FUN_EXPORT PFNGLTEXIMAGE3DMULTISAMPLEPROC __glewTexImage3DMultisample; + +GLEW_FUN_EXPORT PFNGLTEXSTORAGE1DPROC __glewTexStorage1D; +GLEW_FUN_EXPORT PFNGLTEXSTORAGE2DPROC __glewTexStorage2D; +GLEW_FUN_EXPORT PFNGLTEXSTORAGE3DPROC __glewTexStorage3D; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE1DEXTPROC __glewTextureStorage1DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE2DEXTPROC __glewTextureStorage2DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE3DEXTPROC __glewTextureStorage3DEXT; + +GLEW_FUN_EXPORT PFNGLTEXSTORAGE2DMULTISAMPLEPROC __glewTexStorage2DMultisample; +GLEW_FUN_EXPORT PFNGLTEXSTORAGE3DMULTISAMPLEPROC __glewTexStorage3DMultisample; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC __glewTextureStorage2DMultisampleEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC __glewTextureStorage3DMultisampleEXT; + +GLEW_FUN_EXPORT PFNGLTEXTUREVIEWPROC __glewTextureView; + +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VPROC __glewGetQueryObjecti64v; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VPROC __glewGetQueryObjectui64v; +GLEW_FUN_EXPORT PFNGLQUERYCOUNTERPROC __glewQueryCounter; + +GLEW_FUN_EXPORT PFNGLBINDTRANSFORMFEEDBACKPROC __glewBindTransformFeedback; +GLEW_FUN_EXPORT PFNGLDELETETRANSFORMFEEDBACKSPROC __glewDeleteTransformFeedbacks; +GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKPROC __glewDrawTransformFeedback; +GLEW_FUN_EXPORT PFNGLGENTRANSFORMFEEDBACKSPROC __glewGenTransformFeedbacks; +GLEW_FUN_EXPORT PFNGLISTRANSFORMFEEDBACKPROC __glewIsTransformFeedback; +GLEW_FUN_EXPORT PFNGLPAUSETRANSFORMFEEDBACKPROC __glewPauseTransformFeedback; +GLEW_FUN_EXPORT PFNGLRESUMETRANSFORMFEEDBACKPROC __glewResumeTransformFeedback; + +GLEW_FUN_EXPORT PFNGLBEGINQUERYINDEXEDPROC __glewBeginQueryIndexed; +GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC __glewDrawTransformFeedbackStream; +GLEW_FUN_EXPORT PFNGLENDQUERYINDEXEDPROC __glewEndQueryIndexed; +GLEW_FUN_EXPORT PFNGLGETQUERYINDEXEDIVPROC __glewGetQueryIndexediv; + +GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC __glewDrawTransformFeedbackInstanced; +GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC __glewDrawTransformFeedbackStreamInstanced; + +GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXDARBPROC __glewLoadTransposeMatrixdARB; +GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXFARBPROC __glewLoadTransposeMatrixfARB; +GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXDARBPROC __glewMultTransposeMatrixdARB; +GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXFARBPROC __glewMultTransposeMatrixfARB; + +GLEW_FUN_EXPORT PFNGLBINDBUFFERBASEPROC __glewBindBufferBase; +GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGEPROC __glewBindBufferRange; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC __glewGetActiveUniformBlockName; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMBLOCKIVPROC __glewGetActiveUniformBlockiv; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMNAMEPROC __glewGetActiveUniformName; +GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMSIVPROC __glewGetActiveUniformsiv; +GLEW_FUN_EXPORT PFNGLGETINTEGERI_VPROC __glewGetIntegeri_v; +GLEW_FUN_EXPORT PFNGLGETUNIFORMBLOCKINDEXPROC __glewGetUniformBlockIndex; +GLEW_FUN_EXPORT PFNGLGETUNIFORMINDICESPROC __glewGetUniformIndices; +GLEW_FUN_EXPORT PFNGLUNIFORMBLOCKBINDINGPROC __glewUniformBlockBinding; + +GLEW_FUN_EXPORT PFNGLBINDVERTEXARRAYPROC __glewBindVertexArray; +GLEW_FUN_EXPORT PFNGLDELETEVERTEXARRAYSPROC __glewDeleteVertexArrays; +GLEW_FUN_EXPORT PFNGLGENVERTEXARRAYSPROC __glewGenVertexArrays; +GLEW_FUN_EXPORT PFNGLISVERTEXARRAYPROC __glewIsVertexArray; + +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLDVPROC __glewGetVertexAttribLdv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DPROC __glewVertexAttribL1d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DVPROC __glewVertexAttribL1dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DPROC __glewVertexAttribL2d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DVPROC __glewVertexAttribL2dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DPROC __glewVertexAttribL3d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DVPROC __glewVertexAttribL3dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DPROC __glewVertexAttribL4d; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DVPROC __glewVertexAttribL4dv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLPOINTERPROC __glewVertexAttribLPointer; + +GLEW_FUN_EXPORT PFNGLBINDVERTEXBUFFERPROC __glewBindVertexBuffer; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC __glewVertexArrayBindVertexBufferEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC __glewVertexArrayVertexAttribBindingEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC __glewVertexArrayVertexAttribFormatEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC __glewVertexArrayVertexAttribIFormatEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC __glewVertexArrayVertexAttribLFormatEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC __glewVertexArrayVertexBindingDivisorEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBBINDINGPROC __glewVertexAttribBinding; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBFORMATPROC __glewVertexAttribFormat; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIFORMATPROC __glewVertexAttribIFormat; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLFORMATPROC __glewVertexAttribLFormat; +GLEW_FUN_EXPORT PFNGLVERTEXBINDINGDIVISORPROC __glewVertexBindingDivisor; + +GLEW_FUN_EXPORT PFNGLVERTEXBLENDARBPROC __glewVertexBlendARB; +GLEW_FUN_EXPORT PFNGLWEIGHTPOINTERARBPROC __glewWeightPointerARB; +GLEW_FUN_EXPORT PFNGLWEIGHTBVARBPROC __glewWeightbvARB; +GLEW_FUN_EXPORT PFNGLWEIGHTDVARBPROC __glewWeightdvARB; +GLEW_FUN_EXPORT PFNGLWEIGHTFVARBPROC __glewWeightfvARB; +GLEW_FUN_EXPORT PFNGLWEIGHTIVARBPROC __glewWeightivARB; +GLEW_FUN_EXPORT PFNGLWEIGHTSVARBPROC __glewWeightsvARB; +GLEW_FUN_EXPORT PFNGLWEIGHTUBVARBPROC __glewWeightubvARB; +GLEW_FUN_EXPORT PFNGLWEIGHTUIVARBPROC __glewWeightuivARB; +GLEW_FUN_EXPORT PFNGLWEIGHTUSVARBPROC __glewWeightusvARB; + +GLEW_FUN_EXPORT PFNGLBINDBUFFERARBPROC __glewBindBufferARB; +GLEW_FUN_EXPORT PFNGLBUFFERDATAARBPROC __glewBufferDataARB; +GLEW_FUN_EXPORT PFNGLBUFFERSUBDATAARBPROC __glewBufferSubDataARB; +GLEW_FUN_EXPORT PFNGLDELETEBUFFERSARBPROC __glewDeleteBuffersARB; +GLEW_FUN_EXPORT PFNGLGENBUFFERSARBPROC __glewGenBuffersARB; +GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERIVARBPROC __glewGetBufferParameterivARB; +GLEW_FUN_EXPORT PFNGLGETBUFFERPOINTERVARBPROC __glewGetBufferPointervARB; +GLEW_FUN_EXPORT PFNGLGETBUFFERSUBDATAARBPROC __glewGetBufferSubDataARB; +GLEW_FUN_EXPORT PFNGLISBUFFERARBPROC __glewIsBufferARB; +GLEW_FUN_EXPORT PFNGLMAPBUFFERARBPROC __glewMapBufferARB; +GLEW_FUN_EXPORT PFNGLUNMAPBUFFERARBPROC __glewUnmapBufferARB; + +GLEW_FUN_EXPORT PFNGLBINDPROGRAMARBPROC __glewBindProgramARB; +GLEW_FUN_EXPORT PFNGLDELETEPROGRAMSARBPROC __glewDeleteProgramsARB; +GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYARBPROC __glewDisableVertexAttribArrayARB; +GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBARRAYARBPROC __glewEnableVertexAttribArrayARB; +GLEW_FUN_EXPORT PFNGLGENPROGRAMSARBPROC __glewGenProgramsARB; +GLEW_FUN_EXPORT PFNGLGETPROGRAMENVPARAMETERDVARBPROC __glewGetProgramEnvParameterdvARB; +GLEW_FUN_EXPORT PFNGLGETPROGRAMENVPARAMETERFVARBPROC __glewGetProgramEnvParameterfvARB; +GLEW_FUN_EXPORT PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC __glewGetProgramLocalParameterdvARB; +GLEW_FUN_EXPORT PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC __glewGetProgramLocalParameterfvARB; +GLEW_FUN_EXPORT PFNGLGETPROGRAMSTRINGARBPROC __glewGetProgramStringARB; +GLEW_FUN_EXPORT PFNGLGETPROGRAMIVARBPROC __glewGetProgramivARB; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVARBPROC __glewGetVertexAttribPointervARB; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVARBPROC __glewGetVertexAttribdvARB; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVARBPROC __glewGetVertexAttribfvARB; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVARBPROC __glewGetVertexAttribivARB; +GLEW_FUN_EXPORT PFNGLISPROGRAMARBPROC __glewIsProgramARB; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4DARBPROC __glewProgramEnvParameter4dARB; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4DVARBPROC __glewProgramEnvParameter4dvARB; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4FARBPROC __glewProgramEnvParameter4fARB; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4FVARBPROC __glewProgramEnvParameter4fvARB; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4DARBPROC __glewProgramLocalParameter4dARB; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4DVARBPROC __glewProgramLocalParameter4dvARB; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4FARBPROC __glewProgramLocalParameter4fARB; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4FVARBPROC __glewProgramLocalParameter4fvARB; +GLEW_FUN_EXPORT PFNGLPROGRAMSTRINGARBPROC __glewProgramStringARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DARBPROC __glewVertexAttrib1dARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVARBPROC __glewVertexAttrib1dvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FARBPROC __glewVertexAttrib1fARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVARBPROC __glewVertexAttrib1fvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SARBPROC __glewVertexAttrib1sARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVARBPROC __glewVertexAttrib1svARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DARBPROC __glewVertexAttrib2dARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVARBPROC __glewVertexAttrib2dvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FARBPROC __glewVertexAttrib2fARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVARBPROC __glewVertexAttrib2fvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SARBPROC __glewVertexAttrib2sARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVARBPROC __glewVertexAttrib2svARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DARBPROC __glewVertexAttrib3dARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVARBPROC __glewVertexAttrib3dvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FARBPROC __glewVertexAttrib3fARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVARBPROC __glewVertexAttrib3fvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SARBPROC __glewVertexAttrib3sARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVARBPROC __glewVertexAttrib3svARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NBVARBPROC __glewVertexAttrib4NbvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NIVARBPROC __glewVertexAttrib4NivARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NSVARBPROC __glewVertexAttrib4NsvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBARBPROC __glewVertexAttrib4NubARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBVARBPROC __glewVertexAttrib4NubvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUIVARBPROC __glewVertexAttrib4NuivARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUSVARBPROC __glewVertexAttrib4NusvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4BVARBPROC __glewVertexAttrib4bvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DARBPROC __glewVertexAttrib4dARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVARBPROC __glewVertexAttrib4dvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FARBPROC __glewVertexAttrib4fARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVARBPROC __glewVertexAttrib4fvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4IVARBPROC __glewVertexAttrib4ivARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SARBPROC __glewVertexAttrib4sARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVARBPROC __glewVertexAttrib4svARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVARBPROC __glewVertexAttrib4ubvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UIVARBPROC __glewVertexAttrib4uivARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4USVARBPROC __glewVertexAttrib4usvARB; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERARBPROC __glewVertexAttribPointerARB; + +GLEW_FUN_EXPORT PFNGLBINDATTRIBLOCATIONARBPROC __glewBindAttribLocationARB; +GLEW_FUN_EXPORT PFNGLGETACTIVEATTRIBARBPROC __glewGetActiveAttribARB; +GLEW_FUN_EXPORT PFNGLGETATTRIBLOCATIONARBPROC __glewGetAttribLocationARB; + +GLEW_FUN_EXPORT PFNGLCOLORP3UIPROC __glewColorP3ui; +GLEW_FUN_EXPORT PFNGLCOLORP3UIVPROC __glewColorP3uiv; +GLEW_FUN_EXPORT PFNGLCOLORP4UIPROC __glewColorP4ui; +GLEW_FUN_EXPORT PFNGLCOLORP4UIVPROC __glewColorP4uiv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP1UIPROC __glewMultiTexCoordP1ui; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP1UIVPROC __glewMultiTexCoordP1uiv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP2UIPROC __glewMultiTexCoordP2ui; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP2UIVPROC __glewMultiTexCoordP2uiv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP3UIPROC __glewMultiTexCoordP3ui; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP3UIVPROC __glewMultiTexCoordP3uiv; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP4UIPROC __glewMultiTexCoordP4ui; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP4UIVPROC __glewMultiTexCoordP4uiv; +GLEW_FUN_EXPORT PFNGLNORMALP3UIPROC __glewNormalP3ui; +GLEW_FUN_EXPORT PFNGLNORMALP3UIVPROC __glewNormalP3uiv; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLORP3UIPROC __glewSecondaryColorP3ui; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLORP3UIVPROC __glewSecondaryColorP3uiv; +GLEW_FUN_EXPORT PFNGLTEXCOORDP1UIPROC __glewTexCoordP1ui; +GLEW_FUN_EXPORT PFNGLTEXCOORDP1UIVPROC __glewTexCoordP1uiv; +GLEW_FUN_EXPORT PFNGLTEXCOORDP2UIPROC __glewTexCoordP2ui; +GLEW_FUN_EXPORT PFNGLTEXCOORDP2UIVPROC __glewTexCoordP2uiv; +GLEW_FUN_EXPORT PFNGLTEXCOORDP3UIPROC __glewTexCoordP3ui; +GLEW_FUN_EXPORT PFNGLTEXCOORDP3UIVPROC __glewTexCoordP3uiv; +GLEW_FUN_EXPORT PFNGLTEXCOORDP4UIPROC __glewTexCoordP4ui; +GLEW_FUN_EXPORT PFNGLTEXCOORDP4UIVPROC __glewTexCoordP4uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP1UIPROC __glewVertexAttribP1ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP1UIVPROC __glewVertexAttribP1uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP2UIPROC __glewVertexAttribP2ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP2UIVPROC __glewVertexAttribP2uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP3UIPROC __glewVertexAttribP3ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP3UIVPROC __glewVertexAttribP3uiv; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP4UIPROC __glewVertexAttribP4ui; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP4UIVPROC __glewVertexAttribP4uiv; +GLEW_FUN_EXPORT PFNGLVERTEXP2UIPROC __glewVertexP2ui; +GLEW_FUN_EXPORT PFNGLVERTEXP2UIVPROC __glewVertexP2uiv; +GLEW_FUN_EXPORT PFNGLVERTEXP3UIPROC __glewVertexP3ui; +GLEW_FUN_EXPORT PFNGLVERTEXP3UIVPROC __glewVertexP3uiv; +GLEW_FUN_EXPORT PFNGLVERTEXP4UIPROC __glewVertexP4ui; +GLEW_FUN_EXPORT PFNGLVERTEXP4UIVPROC __glewVertexP4uiv; + +GLEW_FUN_EXPORT PFNGLDEPTHRANGEARRAYVPROC __glewDepthRangeArrayv; +GLEW_FUN_EXPORT PFNGLDEPTHRANGEINDEXEDPROC __glewDepthRangeIndexed; +GLEW_FUN_EXPORT PFNGLGETDOUBLEI_VPROC __glewGetDoublei_v; +GLEW_FUN_EXPORT PFNGLGETFLOATI_VPROC __glewGetFloati_v; +GLEW_FUN_EXPORT PFNGLSCISSORARRAYVPROC __glewScissorArrayv; +GLEW_FUN_EXPORT PFNGLSCISSORINDEXEDPROC __glewScissorIndexed; +GLEW_FUN_EXPORT PFNGLSCISSORINDEXEDVPROC __glewScissorIndexedv; +GLEW_FUN_EXPORT PFNGLVIEWPORTARRAYVPROC __glewViewportArrayv; +GLEW_FUN_EXPORT PFNGLVIEWPORTINDEXEDFPROC __glewViewportIndexedf; +GLEW_FUN_EXPORT PFNGLVIEWPORTINDEXEDFVPROC __glewViewportIndexedfv; + +GLEW_FUN_EXPORT PFNGLWINDOWPOS2DARBPROC __glewWindowPos2dARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVARBPROC __glewWindowPos2dvARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2FARBPROC __glewWindowPos2fARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVARBPROC __glewWindowPos2fvARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2IARBPROC __glewWindowPos2iARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVARBPROC __glewWindowPos2ivARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2SARBPROC __glewWindowPos2sARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVARBPROC __glewWindowPos2svARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3DARBPROC __glewWindowPos3dARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVARBPROC __glewWindowPos3dvARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3FARBPROC __glewWindowPos3fARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVARBPROC __glewWindowPos3fvARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3IARBPROC __glewWindowPos3iARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVARBPROC __glewWindowPos3ivARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3SARBPROC __glewWindowPos3sARB; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVARBPROC __glewWindowPos3svARB; + +GLEW_FUN_EXPORT PFNGLDRAWBUFFERSATIPROC __glewDrawBuffersATI; + +GLEW_FUN_EXPORT PFNGLDRAWELEMENTARRAYATIPROC __glewDrawElementArrayATI; +GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTARRAYATIPROC __glewDrawRangeElementArrayATI; +GLEW_FUN_EXPORT PFNGLELEMENTPOINTERATIPROC __glewElementPointerATI; + +GLEW_FUN_EXPORT PFNGLGETTEXBUMPPARAMETERFVATIPROC __glewGetTexBumpParameterfvATI; +GLEW_FUN_EXPORT PFNGLGETTEXBUMPPARAMETERIVATIPROC __glewGetTexBumpParameterivATI; +GLEW_FUN_EXPORT PFNGLTEXBUMPPARAMETERFVATIPROC __glewTexBumpParameterfvATI; +GLEW_FUN_EXPORT PFNGLTEXBUMPPARAMETERIVATIPROC __glewTexBumpParameterivATI; + +GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP1ATIPROC __glewAlphaFragmentOp1ATI; +GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP2ATIPROC __glewAlphaFragmentOp2ATI; +GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP3ATIPROC __glewAlphaFragmentOp3ATI; +GLEW_FUN_EXPORT PFNGLBEGINFRAGMENTSHADERATIPROC __glewBeginFragmentShaderATI; +GLEW_FUN_EXPORT PFNGLBINDFRAGMENTSHADERATIPROC __glewBindFragmentShaderATI; +GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP1ATIPROC __glewColorFragmentOp1ATI; +GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP2ATIPROC __glewColorFragmentOp2ATI; +GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP3ATIPROC __glewColorFragmentOp3ATI; +GLEW_FUN_EXPORT PFNGLDELETEFRAGMENTSHADERATIPROC __glewDeleteFragmentShaderATI; +GLEW_FUN_EXPORT PFNGLENDFRAGMENTSHADERATIPROC __glewEndFragmentShaderATI; +GLEW_FUN_EXPORT PFNGLGENFRAGMENTSHADERSATIPROC __glewGenFragmentShadersATI; +GLEW_FUN_EXPORT PFNGLPASSTEXCOORDATIPROC __glewPassTexCoordATI; +GLEW_FUN_EXPORT PFNGLSAMPLEMAPATIPROC __glewSampleMapATI; +GLEW_FUN_EXPORT PFNGLSETFRAGMENTSHADERCONSTANTATIPROC __glewSetFragmentShaderConstantATI; + +GLEW_FUN_EXPORT PFNGLMAPOBJECTBUFFERATIPROC __glewMapObjectBufferATI; +GLEW_FUN_EXPORT PFNGLUNMAPOBJECTBUFFERATIPROC __glewUnmapObjectBufferATI; + +GLEW_FUN_EXPORT PFNGLPNTRIANGLESFATIPROC __glewPNTrianglesfATI; +GLEW_FUN_EXPORT PFNGLPNTRIANGLESIATIPROC __glewPNTrianglesiATI; + +GLEW_FUN_EXPORT PFNGLSTENCILFUNCSEPARATEATIPROC __glewStencilFuncSeparateATI; +GLEW_FUN_EXPORT PFNGLSTENCILOPSEPARATEATIPROC __glewStencilOpSeparateATI; + +GLEW_FUN_EXPORT PFNGLARRAYOBJECTATIPROC __glewArrayObjectATI; +GLEW_FUN_EXPORT PFNGLFREEOBJECTBUFFERATIPROC __glewFreeObjectBufferATI; +GLEW_FUN_EXPORT PFNGLGETARRAYOBJECTFVATIPROC __glewGetArrayObjectfvATI; +GLEW_FUN_EXPORT PFNGLGETARRAYOBJECTIVATIPROC __glewGetArrayObjectivATI; +GLEW_FUN_EXPORT PFNGLGETOBJECTBUFFERFVATIPROC __glewGetObjectBufferfvATI; +GLEW_FUN_EXPORT PFNGLGETOBJECTBUFFERIVATIPROC __glewGetObjectBufferivATI; +GLEW_FUN_EXPORT PFNGLGETVARIANTARRAYOBJECTFVATIPROC __glewGetVariantArrayObjectfvATI; +GLEW_FUN_EXPORT PFNGLGETVARIANTARRAYOBJECTIVATIPROC __glewGetVariantArrayObjectivATI; +GLEW_FUN_EXPORT PFNGLISOBJECTBUFFERATIPROC __glewIsObjectBufferATI; +GLEW_FUN_EXPORT PFNGLNEWOBJECTBUFFERATIPROC __glewNewObjectBufferATI; +GLEW_FUN_EXPORT PFNGLUPDATEOBJECTBUFFERATIPROC __glewUpdateObjectBufferATI; +GLEW_FUN_EXPORT PFNGLVARIANTARRAYOBJECTATIPROC __glewVariantArrayObjectATI; + +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC __glewGetVertexAttribArrayObjectfvATI; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC __glewGetVertexAttribArrayObjectivATI; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBARRAYOBJECTATIPROC __glewVertexAttribArrayObjectATI; + +GLEW_FUN_EXPORT PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC __glewClientActiveVertexStreamATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3BATIPROC __glewNormalStream3bATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3BVATIPROC __glewNormalStream3bvATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3DATIPROC __glewNormalStream3dATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3DVATIPROC __glewNormalStream3dvATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3FATIPROC __glewNormalStream3fATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3FVATIPROC __glewNormalStream3fvATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3IATIPROC __glewNormalStream3iATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3IVATIPROC __glewNormalStream3ivATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3SATIPROC __glewNormalStream3sATI; +GLEW_FUN_EXPORT PFNGLNORMALSTREAM3SVATIPROC __glewNormalStream3svATI; +GLEW_FUN_EXPORT PFNGLVERTEXBLENDENVFATIPROC __glewVertexBlendEnvfATI; +GLEW_FUN_EXPORT PFNGLVERTEXBLENDENVIATIPROC __glewVertexBlendEnviATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1DATIPROC __glewVertexStream1dATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1DVATIPROC __glewVertexStream1dvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1FATIPROC __glewVertexStream1fATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1FVATIPROC __glewVertexStream1fvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1IATIPROC __glewVertexStream1iATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1IVATIPROC __glewVertexStream1ivATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1SATIPROC __glewVertexStream1sATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1SVATIPROC __glewVertexStream1svATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2DATIPROC __glewVertexStream2dATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2DVATIPROC __glewVertexStream2dvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2FATIPROC __glewVertexStream2fATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2FVATIPROC __glewVertexStream2fvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2IATIPROC __glewVertexStream2iATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2IVATIPROC __glewVertexStream2ivATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2SATIPROC __glewVertexStream2sATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2SVATIPROC __glewVertexStream2svATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3DATIPROC __glewVertexStream3dATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3DVATIPROC __glewVertexStream3dvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3FATIPROC __glewVertexStream3fATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3FVATIPROC __glewVertexStream3fvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3IATIPROC __glewVertexStream3iATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3IVATIPROC __glewVertexStream3ivATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3SATIPROC __glewVertexStream3sATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3SVATIPROC __glewVertexStream3svATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4DATIPROC __glewVertexStream4dATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4DVATIPROC __glewVertexStream4dvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4FATIPROC __glewVertexStream4fATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4FVATIPROC __glewVertexStream4fvATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4IATIPROC __glewVertexStream4iATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4IVATIPROC __glewVertexStream4ivATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4SATIPROC __glewVertexStream4sATI; +GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4SVATIPROC __glewVertexStream4svATI; + +GLEW_FUN_EXPORT PFNGLGETUNIFORMBUFFERSIZEEXTPROC __glewGetUniformBufferSizeEXT; +GLEW_FUN_EXPORT PFNGLGETUNIFORMOFFSETEXTPROC __glewGetUniformOffsetEXT; +GLEW_FUN_EXPORT PFNGLUNIFORMBUFFEREXTPROC __glewUniformBufferEXT; + +GLEW_FUN_EXPORT PFNGLBLENDCOLOREXTPROC __glewBlendColorEXT; + +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEEXTPROC __glewBlendEquationSeparateEXT; + +GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEEXTPROC __glewBlendFuncSeparateEXT; + +GLEW_FUN_EXPORT PFNGLBLENDEQUATIONEXTPROC __glewBlendEquationEXT; + +GLEW_FUN_EXPORT PFNGLCOLORSUBTABLEEXTPROC __glewColorSubTableEXT; +GLEW_FUN_EXPORT PFNGLCOPYCOLORSUBTABLEEXTPROC __glewCopyColorSubTableEXT; + +GLEW_FUN_EXPORT PFNGLLOCKARRAYSEXTPROC __glewLockArraysEXT; +GLEW_FUN_EXPORT PFNGLUNLOCKARRAYSEXTPROC __glewUnlockArraysEXT; + +GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER1DEXTPROC __glewConvolutionFilter1DEXT; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER2DEXTPROC __glewConvolutionFilter2DEXT; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFEXTPROC __glewConvolutionParameterfEXT; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFVEXTPROC __glewConvolutionParameterfvEXT; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIEXTPROC __glewConvolutionParameteriEXT; +GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIVEXTPROC __glewConvolutionParameterivEXT; +GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC __glewCopyConvolutionFilter1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC __glewCopyConvolutionFilter2DEXT; +GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONFILTEREXTPROC __glewGetConvolutionFilterEXT; +GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC __glewGetConvolutionParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC __glewGetConvolutionParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETSEPARABLEFILTEREXTPROC __glewGetSeparableFilterEXT; +GLEW_FUN_EXPORT PFNGLSEPARABLEFILTER2DEXTPROC __glewSeparableFilter2DEXT; + +GLEW_FUN_EXPORT PFNGLBINORMALPOINTEREXTPROC __glewBinormalPointerEXT; +GLEW_FUN_EXPORT PFNGLTANGENTPOINTEREXTPROC __glewTangentPointerEXT; + +GLEW_FUN_EXPORT PFNGLCOPYTEXIMAGE1DEXTPROC __glewCopyTexImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXIMAGE2DEXTPROC __glewCopyTexImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE1DEXTPROC __glewCopyTexSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE2DEXTPROC __glewCopyTexSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE3DEXTPROC __glewCopyTexSubImage3DEXT; + +GLEW_FUN_EXPORT PFNGLCULLPARAMETERDVEXTPROC __glewCullParameterdvEXT; +GLEW_FUN_EXPORT PFNGLCULLPARAMETERFVEXTPROC __glewCullParameterfvEXT; + +GLEW_FUN_EXPORT PFNGLGETOBJECTLABELEXTPROC __glewGetObjectLabelEXT; +GLEW_FUN_EXPORT PFNGLLABELOBJECTEXTPROC __glewLabelObjectEXT; + +GLEW_FUN_EXPORT PFNGLINSERTEVENTMARKEREXTPROC __glewInsertEventMarkerEXT; +GLEW_FUN_EXPORT PFNGLPOPGROUPMARKEREXTPROC __glewPopGroupMarkerEXT; +GLEW_FUN_EXPORT PFNGLPUSHGROUPMARKEREXTPROC __glewPushGroupMarkerEXT; + +GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSEXTPROC __glewDepthBoundsEXT; + +GLEW_FUN_EXPORT PFNGLBINDMULTITEXTUREEXTPROC __glewBindMultiTextureEXT; +GLEW_FUN_EXPORT PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC __glewCheckNamedFramebufferStatusEXT; +GLEW_FUN_EXPORT PFNGLCLIENTATTRIBDEFAULTEXTPROC __glewClientAttribDefaultEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC __glewCompressedMultiTexImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC __glewCompressedMultiTexImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC __glewCompressedMultiTexImage3DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC __glewCompressedMultiTexSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC __glewCompressedMultiTexSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC __glewCompressedMultiTexSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC __glewCompressedTextureImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC __glewCompressedTextureImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC __glewCompressedTextureImage3DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC __glewCompressedTextureSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC __glewCompressedTextureSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC __glewCompressedTextureSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLCOPYMULTITEXIMAGE1DEXTPROC __glewCopyMultiTexImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYMULTITEXIMAGE2DEXTPROC __glewCopyMultiTexImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC __glewCopyMultiTexSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC __glewCopyMultiTexSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC __glewCopyMultiTexSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXTUREIMAGE1DEXTPROC __glewCopyTextureImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXTUREIMAGE2DEXTPROC __glewCopyTextureImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC __glewCopyTextureSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC __glewCopyTextureSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC __glewCopyTextureSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC __glewDisableClientStateIndexedEXT; +GLEW_FUN_EXPORT PFNGLDISABLECLIENTSTATEIEXTPROC __glewDisableClientStateiEXT; +GLEW_FUN_EXPORT PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC __glewDisableVertexArrayAttribEXT; +GLEW_FUN_EXPORT PFNGLDISABLEVERTEXARRAYEXTPROC __glewDisableVertexArrayEXT; +GLEW_FUN_EXPORT PFNGLENABLECLIENTSTATEINDEXEDEXTPROC __glewEnableClientStateIndexedEXT; +GLEW_FUN_EXPORT PFNGLENABLECLIENTSTATEIEXTPROC __glewEnableClientStateiEXT; +GLEW_FUN_EXPORT PFNGLENABLEVERTEXARRAYATTRIBEXTPROC __glewEnableVertexArrayAttribEXT; +GLEW_FUN_EXPORT PFNGLENABLEVERTEXARRAYEXTPROC __glewEnableVertexArrayEXT; +GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC __glewFlushMappedNamedBufferRangeEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC __glewFramebufferDrawBufferEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC __glewFramebufferDrawBuffersEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERREADBUFFEREXTPROC __glewFramebufferReadBufferEXT; +GLEW_FUN_EXPORT PFNGLGENERATEMULTITEXMIPMAPEXTPROC __glewGenerateMultiTexMipmapEXT; +GLEW_FUN_EXPORT PFNGLGENERATETEXTUREMIPMAPEXTPROC __glewGenerateTextureMipmapEXT; +GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC __glewGetCompressedMultiTexImageEXT; +GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC __glewGetCompressedTextureImageEXT; +GLEW_FUN_EXPORT PFNGLGETDOUBLEINDEXEDVEXTPROC __glewGetDoubleIndexedvEXT; +GLEW_FUN_EXPORT PFNGLGETDOUBLEI_VEXTPROC __glewGetDoublei_vEXT; +GLEW_FUN_EXPORT PFNGLGETFLOATINDEXEDVEXTPROC __glewGetFloatIndexedvEXT; +GLEW_FUN_EXPORT PFNGLGETFLOATI_VEXTPROC __glewGetFloati_vEXT; +GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC __glewGetFramebufferParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXENVFVEXTPROC __glewGetMultiTexEnvfvEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXENVIVEXTPROC __glewGetMultiTexEnvivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXGENDVEXTPROC __glewGetMultiTexGendvEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXGENFVEXTPROC __glewGetMultiTexGenfvEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXGENIVEXTPROC __glewGetMultiTexGenivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXIMAGEEXTPROC __glewGetMultiTexImageEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC __glewGetMultiTexLevelParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC __glewGetMultiTexLevelParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIIVEXTPROC __glewGetMultiTexParameterIivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIUIVEXTPROC __glewGetMultiTexParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERFVEXTPROC __glewGetMultiTexParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIVEXTPROC __glewGetMultiTexParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC __glewGetNamedBufferParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPOINTERVEXTPROC __glewGetNamedBufferPointervEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERSUBDATAEXTPROC __glewGetNamedBufferSubDataEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetNamedFramebufferAttachmentParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC __glewGetNamedProgramLocalParameterIivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC __glewGetNamedProgramLocalParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC __glewGetNamedProgramLocalParameterdvEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC __glewGetNamedProgramLocalParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMSTRINGEXTPROC __glewGetNamedProgramStringEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMIVEXTPROC __glewGetNamedProgramivEXT; +GLEW_FUN_EXPORT PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC __glewGetNamedRenderbufferParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETPOINTERINDEXEDVEXTPROC __glewGetPointerIndexedvEXT; +GLEW_FUN_EXPORT PFNGLGETPOINTERI_VEXTPROC __glewGetPointeri_vEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTUREIMAGEEXTPROC __glewGetTextureImageEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC __glewGetTextureLevelParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC __glewGetTextureLevelParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIIVEXTPROC __glewGetTextureParameterIivEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIUIVEXTPROC __glewGetTextureParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERFVEXTPROC __glewGetTextureParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIVEXTPROC __glewGetTextureParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC __glewGetVertexArrayIntegeri_vEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINTEGERVEXTPROC __glewGetVertexArrayIntegervEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC __glewGetVertexArrayPointeri_vEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYPOINTERVEXTPROC __glewGetVertexArrayPointervEXT; +GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFEREXTPROC __glewMapNamedBufferEXT; +GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFERRANGEEXTPROC __glewMapNamedBufferRangeEXT; +GLEW_FUN_EXPORT PFNGLMATRIXFRUSTUMEXTPROC __glewMatrixFrustumEXT; +GLEW_FUN_EXPORT PFNGLMATRIXLOADIDENTITYEXTPROC __glewMatrixLoadIdentityEXT; +GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSEDEXTPROC __glewMatrixLoadTransposedEXT; +GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSEFEXTPROC __glewMatrixLoadTransposefEXT; +GLEW_FUN_EXPORT PFNGLMATRIXLOADDEXTPROC __glewMatrixLoaddEXT; +GLEW_FUN_EXPORT PFNGLMATRIXLOADFEXTPROC __glewMatrixLoadfEXT; +GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSEDEXTPROC __glewMatrixMultTransposedEXT; +GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSEFEXTPROC __glewMatrixMultTransposefEXT; +GLEW_FUN_EXPORT PFNGLMATRIXMULTDEXTPROC __glewMatrixMultdEXT; +GLEW_FUN_EXPORT PFNGLMATRIXMULTFEXTPROC __glewMatrixMultfEXT; +GLEW_FUN_EXPORT PFNGLMATRIXORTHOEXTPROC __glewMatrixOrthoEXT; +GLEW_FUN_EXPORT PFNGLMATRIXPOPEXTPROC __glewMatrixPopEXT; +GLEW_FUN_EXPORT PFNGLMATRIXPUSHEXTPROC __glewMatrixPushEXT; +GLEW_FUN_EXPORT PFNGLMATRIXROTATEDEXTPROC __glewMatrixRotatedEXT; +GLEW_FUN_EXPORT PFNGLMATRIXROTATEFEXTPROC __glewMatrixRotatefEXT; +GLEW_FUN_EXPORT PFNGLMATRIXSCALEDEXTPROC __glewMatrixScaledEXT; +GLEW_FUN_EXPORT PFNGLMATRIXSCALEFEXTPROC __glewMatrixScalefEXT; +GLEW_FUN_EXPORT PFNGLMATRIXTRANSLATEDEXTPROC __glewMatrixTranslatedEXT; +GLEW_FUN_EXPORT PFNGLMATRIXTRANSLATEFEXTPROC __glewMatrixTranslatefEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXBUFFEREXTPROC __glewMultiTexBufferEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORDPOINTEREXTPROC __glewMultiTexCoordPointerEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXENVFEXTPROC __glewMultiTexEnvfEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXENVFVEXTPROC __glewMultiTexEnvfvEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXENVIEXTPROC __glewMultiTexEnviEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXENVIVEXTPROC __glewMultiTexEnvivEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENDEXTPROC __glewMultiTexGendEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENDVEXTPROC __glewMultiTexGendvEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENFEXTPROC __glewMultiTexGenfEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENFVEXTPROC __glewMultiTexGenfvEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENIEXTPROC __glewMultiTexGeniEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXGENIVEXTPROC __glewMultiTexGenivEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE1DEXTPROC __glewMultiTexImage1DEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE2DEXTPROC __glewMultiTexImage2DEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE3DEXTPROC __glewMultiTexImage3DEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIIVEXTPROC __glewMultiTexParameterIivEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIUIVEXTPROC __glewMultiTexParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERFEXTPROC __glewMultiTexParameterfEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERFVEXTPROC __glewMultiTexParameterfvEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIEXTPROC __glewMultiTexParameteriEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIVEXTPROC __glewMultiTexParameterivEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXRENDERBUFFEREXTPROC __glewMultiTexRenderbufferEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE1DEXTPROC __glewMultiTexSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE2DEXTPROC __glewMultiTexSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE3DEXTPROC __glewMultiTexSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERDATAEXTPROC __glewNamedBufferDataEXT; +GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSUBDATAEXTPROC __glewNamedBufferSubDataEXT; +GLEW_FUN_EXPORT PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC __glewNamedCopyBufferSubDataEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC __glewNamedFramebufferRenderbufferEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC __glewNamedFramebufferTexture1DEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC __glewNamedFramebufferTexture2DEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC __glewNamedFramebufferTexture3DEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC __glewNamedFramebufferTextureEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC __glewNamedFramebufferTextureFaceEXT; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC __glewNamedFramebufferTextureLayerEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC __glewNamedProgramLocalParameter4dEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC __glewNamedProgramLocalParameter4dvEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC __glewNamedProgramLocalParameter4fEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC __glewNamedProgramLocalParameter4fvEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC __glewNamedProgramLocalParameterI4iEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC __glewNamedProgramLocalParameterI4ivEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC __glewNamedProgramLocalParameterI4uiEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC __glewNamedProgramLocalParameterI4uivEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC __glewNamedProgramLocalParameters4fvEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC __glewNamedProgramLocalParametersI4ivEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC __glewNamedProgramLocalParametersI4uivEXT; +GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMSTRINGEXTPROC __glewNamedProgramStringEXT; +GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC __glewNamedRenderbufferStorageEXT; +GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC __glewNamedRenderbufferStorageMultisampleCoverageEXT; +GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewNamedRenderbufferStorageMultisampleEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FEXTPROC __glewProgramUniform1fEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FVEXTPROC __glewProgramUniform1fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IEXTPROC __glewProgramUniform1iEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IVEXTPROC __glewProgramUniform1ivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIEXTPROC __glewProgramUniform1uiEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIVEXTPROC __glewProgramUniform1uivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FEXTPROC __glewProgramUniform2fEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FVEXTPROC __glewProgramUniform2fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IEXTPROC __glewProgramUniform2iEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IVEXTPROC __glewProgramUniform2ivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIEXTPROC __glewProgramUniform2uiEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIVEXTPROC __glewProgramUniform2uivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FEXTPROC __glewProgramUniform3fEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FVEXTPROC __glewProgramUniform3fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IEXTPROC __glewProgramUniform3iEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IVEXTPROC __glewProgramUniform3ivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIEXTPROC __glewProgramUniform3uiEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIVEXTPROC __glewProgramUniform3uivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FEXTPROC __glewProgramUniform4fEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FVEXTPROC __glewProgramUniform4fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IEXTPROC __glewProgramUniform4iEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IVEXTPROC __glewProgramUniform4ivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIEXTPROC __glewProgramUniform4uiEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIVEXTPROC __glewProgramUniform4uivEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC __glewProgramUniformMatrix2fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC __glewProgramUniformMatrix2x3fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC __glewProgramUniformMatrix2x4fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC __glewProgramUniformMatrix3fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC __glewProgramUniformMatrix3x2fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC __glewProgramUniformMatrix3x4fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC __glewProgramUniformMatrix4fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC __glewProgramUniformMatrix4x2fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC __glewProgramUniformMatrix4x3fvEXT; +GLEW_FUN_EXPORT PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC __glewPushClientAttribDefaultEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREBUFFEREXTPROC __glewTextureBufferEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE1DEXTPROC __glewTextureImage1DEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DEXTPROC __glewTextureImage2DEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DEXTPROC __glewTextureImage3DEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIIVEXTPROC __glewTextureParameterIivEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIUIVEXTPROC __glewTextureParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFEXTPROC __glewTextureParameterfEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFVEXTPROC __glewTextureParameterfvEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIEXTPROC __glewTextureParameteriEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIVEXTPROC __glewTextureParameterivEXT; +GLEW_FUN_EXPORT PFNGLTEXTURERENDERBUFFEREXTPROC __glewTextureRenderbufferEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE1DEXTPROC __glewTextureSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE2DEXTPROC __glewTextureSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE3DEXTPROC __glewTextureSubImage3DEXT; +GLEW_FUN_EXPORT PFNGLUNMAPNAMEDBUFFEREXTPROC __glewUnmapNamedBufferEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYCOLOROFFSETEXTPROC __glewVertexArrayColorOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC __glewVertexArrayEdgeFlagOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC __glewVertexArrayFogCoordOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYINDEXOFFSETEXTPROC __glewVertexArrayIndexOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC __glewVertexArrayMultiTexCoordOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYNORMALOFFSETEXTPROC __glewVertexArrayNormalOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC __glewVertexArraySecondaryColorOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC __glewVertexArrayTexCoordOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC __glewVertexArrayVertexAttribDivisorEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC __glewVertexArrayVertexAttribIOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC __glewVertexArrayVertexAttribOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC __glewVertexArrayVertexOffsetEXT; + +GLEW_FUN_EXPORT PFNGLCOLORMASKINDEXEDEXTPROC __glewColorMaskIndexedEXT; +GLEW_FUN_EXPORT PFNGLDISABLEINDEXEDEXTPROC __glewDisableIndexedEXT; +GLEW_FUN_EXPORT PFNGLENABLEINDEXEDEXTPROC __glewEnableIndexedEXT; +GLEW_FUN_EXPORT PFNGLGETBOOLEANINDEXEDVEXTPROC __glewGetBooleanIndexedvEXT; +GLEW_FUN_EXPORT PFNGLGETINTEGERINDEXEDVEXTPROC __glewGetIntegerIndexedvEXT; +GLEW_FUN_EXPORT PFNGLISENABLEDINDEXEDEXTPROC __glewIsEnabledIndexedEXT; + +GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDEXTPROC __glewDrawArraysInstancedEXT; +GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDEXTPROC __glewDrawElementsInstancedEXT; + +GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSEXTPROC __glewDrawRangeElementsEXT; + +GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTEREXTPROC __glewFogCoordPointerEXT; +GLEW_FUN_EXPORT PFNGLFOGCOORDDEXTPROC __glewFogCoorddEXT; +GLEW_FUN_EXPORT PFNGLFOGCOORDDVEXTPROC __glewFogCoorddvEXT; +GLEW_FUN_EXPORT PFNGLFOGCOORDFEXTPROC __glewFogCoordfEXT; +GLEW_FUN_EXPORT PFNGLFOGCOORDFVEXTPROC __glewFogCoordfvEXT; + +GLEW_FUN_EXPORT PFNGLFRAGMENTCOLORMATERIALEXTPROC __glewFragmentColorMaterialEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFEXTPROC __glewFragmentLightModelfEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFVEXTPROC __glewFragmentLightModelfvEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIEXTPROC __glewFragmentLightModeliEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIVEXTPROC __glewFragmentLightModelivEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFEXTPROC __glewFragmentLightfEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFVEXTPROC __glewFragmentLightfvEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIEXTPROC __glewFragmentLightiEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIVEXTPROC __glewFragmentLightivEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFEXTPROC __glewFragmentMaterialfEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFVEXTPROC __glewFragmentMaterialfvEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIEXTPROC __glewFragmentMaterialiEXT; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIVEXTPROC __glewFragmentMaterialivEXT; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTFVEXTPROC __glewGetFragmentLightfvEXT; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTIVEXTPROC __glewGetFragmentLightivEXT; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALFVEXTPROC __glewGetFragmentMaterialfvEXT; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALIVEXTPROC __glewGetFragmentMaterialivEXT; +GLEW_FUN_EXPORT PFNGLLIGHTENVIEXTPROC __glewLightEnviEXT; + +GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFEREXTPROC __glewBlitFramebufferEXT; + +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewRenderbufferStorageMultisampleEXT; + +GLEW_FUN_EXPORT PFNGLBINDFRAMEBUFFEREXTPROC __glewBindFramebufferEXT; +GLEW_FUN_EXPORT PFNGLBINDRENDERBUFFEREXTPROC __glewBindRenderbufferEXT; +GLEW_FUN_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC __glewCheckFramebufferStatusEXT; +GLEW_FUN_EXPORT PFNGLDELETEFRAMEBUFFERSEXTPROC __glewDeleteFramebuffersEXT; +GLEW_FUN_EXPORT PFNGLDELETERENDERBUFFERSEXTPROC __glewDeleteRenderbuffersEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC __glewFramebufferRenderbufferEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE1DEXTPROC __glewFramebufferTexture1DEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DEXTPROC __glewFramebufferTexture2DEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE3DEXTPROC __glewFramebufferTexture3DEXT; +GLEW_FUN_EXPORT PFNGLGENFRAMEBUFFERSEXTPROC __glewGenFramebuffersEXT; +GLEW_FUN_EXPORT PFNGLGENRENDERBUFFERSEXTPROC __glewGenRenderbuffersEXT; +GLEW_FUN_EXPORT PFNGLGENERATEMIPMAPEXTPROC __glewGenerateMipmapEXT; +GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetFramebufferAttachmentParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC __glewGetRenderbufferParameterivEXT; +GLEW_FUN_EXPORT PFNGLISFRAMEBUFFEREXTPROC __glewIsFramebufferEXT; +GLEW_FUN_EXPORT PFNGLISRENDERBUFFEREXTPROC __glewIsRenderbufferEXT; +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEEXTPROC __glewRenderbufferStorageEXT; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREEXTPROC __glewFramebufferTextureEXT; +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC __glewFramebufferTextureFaceEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIEXTPROC __glewProgramParameteriEXT; + +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERS4FVEXTPROC __glewProgramEnvParameters4fvEXT; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC __glewProgramLocalParameters4fvEXT; + +GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONEXTPROC __glewBindFragDataLocationEXT; +GLEW_FUN_EXPORT PFNGLGETFRAGDATALOCATIONEXTPROC __glewGetFragDataLocationEXT; +GLEW_FUN_EXPORT PFNGLGETUNIFORMUIVEXTPROC __glewGetUniformuivEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIIVEXTPROC __glewGetVertexAttribIivEXT; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIUIVEXTPROC __glewGetVertexAttribIuivEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM1UIEXTPROC __glewUniform1uiEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM1UIVEXTPROC __glewUniform1uivEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM2UIEXTPROC __glewUniform2uiEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM2UIVEXTPROC __glewUniform2uivEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM3UIEXTPROC __glewUniform3uiEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM3UIVEXTPROC __glewUniform3uivEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM4UIEXTPROC __glewUniform4uiEXT; +GLEW_FUN_EXPORT PFNGLUNIFORM4UIVEXTPROC __glewUniform4uivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IEXTPROC __glewVertexAttribI1iEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IVEXTPROC __glewVertexAttribI1ivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIEXTPROC __glewVertexAttribI1uiEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIVEXTPROC __glewVertexAttribI1uivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IEXTPROC __glewVertexAttribI2iEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IVEXTPROC __glewVertexAttribI2ivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIEXTPROC __glewVertexAttribI2uiEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIVEXTPROC __glewVertexAttribI2uivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IEXTPROC __glewVertexAttribI3iEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IVEXTPROC __glewVertexAttribI3ivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIEXTPROC __glewVertexAttribI3uiEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIVEXTPROC __glewVertexAttribI3uivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4BVEXTPROC __glewVertexAttribI4bvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IEXTPROC __glewVertexAttribI4iEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IVEXTPROC __glewVertexAttribI4ivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4SVEXTPROC __glewVertexAttribI4svEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UBVEXTPROC __glewVertexAttribI4ubvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIEXTPROC __glewVertexAttribI4uiEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIVEXTPROC __glewVertexAttribI4uivEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4USVEXTPROC __glewVertexAttribI4usvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIPOINTEREXTPROC __glewVertexAttribIPointerEXT; + +GLEW_FUN_EXPORT PFNGLGETHISTOGRAMEXTPROC __glewGetHistogramEXT; +GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERFVEXTPROC __glewGetHistogramParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERIVEXTPROC __glewGetHistogramParameterivEXT; +GLEW_FUN_EXPORT PFNGLGETMINMAXEXTPROC __glewGetMinmaxEXT; +GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERFVEXTPROC __glewGetMinmaxParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERIVEXTPROC __glewGetMinmaxParameterivEXT; +GLEW_FUN_EXPORT PFNGLHISTOGRAMEXTPROC __glewHistogramEXT; +GLEW_FUN_EXPORT PFNGLMINMAXEXTPROC __glewMinmaxEXT; +GLEW_FUN_EXPORT PFNGLRESETHISTOGRAMEXTPROC __glewResetHistogramEXT; +GLEW_FUN_EXPORT PFNGLRESETMINMAXEXTPROC __glewResetMinmaxEXT; + +GLEW_FUN_EXPORT PFNGLINDEXFUNCEXTPROC __glewIndexFuncEXT; + +GLEW_FUN_EXPORT PFNGLINDEXMATERIALEXTPROC __glewIndexMaterialEXT; + +GLEW_FUN_EXPORT PFNGLAPPLYTEXTUREEXTPROC __glewApplyTextureEXT; +GLEW_FUN_EXPORT PFNGLTEXTURELIGHTEXTPROC __glewTextureLightEXT; +GLEW_FUN_EXPORT PFNGLTEXTUREMATERIALEXTPROC __glewTextureMaterialEXT; + +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSEXTPROC __glewMultiDrawArraysEXT; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSEXTPROC __glewMultiDrawElementsEXT; + +GLEW_FUN_EXPORT PFNGLSAMPLEMASKEXTPROC __glewSampleMaskEXT; +GLEW_FUN_EXPORT PFNGLSAMPLEPATTERNEXTPROC __glewSamplePatternEXT; + +GLEW_FUN_EXPORT PFNGLCOLORTABLEEXTPROC __glewColorTableEXT; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEEXTPROC __glewGetColorTableEXT; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVEXTPROC __glewGetColorTableParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVEXTPROC __glewGetColorTableParameterivEXT; + +GLEW_FUN_EXPORT PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC __glewGetPixelTransformParameterfvEXT; +GLEW_FUN_EXPORT PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC __glewGetPixelTransformParameterivEXT; +GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERFEXTPROC __glewPixelTransformParameterfEXT; +GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC __glewPixelTransformParameterfvEXT; +GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERIEXTPROC __glewPixelTransformParameteriEXT; +GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC __glewPixelTransformParameterivEXT; + +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFEXTPROC __glewPointParameterfEXT; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVEXTPROC __glewPointParameterfvEXT; + +GLEW_FUN_EXPORT PFNGLPOLYGONOFFSETEXTPROC __glewPolygonOffsetEXT; + +GLEW_FUN_EXPORT PFNGLPOLYGONOFFSETCLAMPEXTPROC __glewPolygonOffsetClampEXT; + +GLEW_FUN_EXPORT PFNGLPROVOKINGVERTEXEXTPROC __glewProvokingVertexEXT; + +GLEW_FUN_EXPORT PFNGLCOVERAGEMODULATIONNVPROC __glewCoverageModulationNV; +GLEW_FUN_EXPORT PFNGLCOVERAGEMODULATIONTABLENVPROC __glewCoverageModulationTableNV; +GLEW_FUN_EXPORT PFNGLGETCOVERAGEMODULATIONTABLENVPROC __glewGetCoverageModulationTableNV; +GLEW_FUN_EXPORT PFNGLRASTERSAMPLESEXTPROC __glewRasterSamplesEXT; + +GLEW_FUN_EXPORT PFNGLBEGINSCENEEXTPROC __glewBeginSceneEXT; +GLEW_FUN_EXPORT PFNGLENDSCENEEXTPROC __glewEndSceneEXT; + +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BEXTPROC __glewSecondaryColor3bEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BVEXTPROC __glewSecondaryColor3bvEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DEXTPROC __glewSecondaryColor3dEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DVEXTPROC __glewSecondaryColor3dvEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FEXTPROC __glewSecondaryColor3fEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FVEXTPROC __glewSecondaryColor3fvEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IEXTPROC __glewSecondaryColor3iEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IVEXTPROC __glewSecondaryColor3ivEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SEXTPROC __glewSecondaryColor3sEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SVEXTPROC __glewSecondaryColor3svEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBEXTPROC __glewSecondaryColor3ubEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBVEXTPROC __glewSecondaryColor3ubvEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIEXTPROC __glewSecondaryColor3uiEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIVEXTPROC __glewSecondaryColor3uivEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USEXTPROC __glewSecondaryColor3usEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USVEXTPROC __glewSecondaryColor3usvEXT; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTEREXTPROC __glewSecondaryColorPointerEXT; + +GLEW_FUN_EXPORT PFNGLACTIVEPROGRAMEXTPROC __glewActiveProgramEXT; +GLEW_FUN_EXPORT PFNGLCREATESHADERPROGRAMEXTPROC __glewCreateShaderProgramEXT; +GLEW_FUN_EXPORT PFNGLUSESHADERPROGRAMEXTPROC __glewUseShaderProgramEXT; + +GLEW_FUN_EXPORT PFNGLBINDIMAGETEXTUREEXTPROC __glewBindImageTextureEXT; +GLEW_FUN_EXPORT PFNGLMEMORYBARRIEREXTPROC __glewMemoryBarrierEXT; + +GLEW_FUN_EXPORT PFNGLACTIVESTENCILFACEEXTPROC __glewActiveStencilFaceEXT; + +GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE1DEXTPROC __glewTexSubImage1DEXT; +GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE2DEXTPROC __glewTexSubImage2DEXT; +GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE3DEXTPROC __glewTexSubImage3DEXT; + +GLEW_FUN_EXPORT PFNGLTEXIMAGE3DEXTPROC __glewTexImage3DEXT; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT; + +GLEW_FUN_EXPORT PFNGLTEXBUFFEREXTPROC __glewTexBufferEXT; + +GLEW_FUN_EXPORT PFNGLCLEARCOLORIIEXTPROC __glewClearColorIiEXT; +GLEW_FUN_EXPORT PFNGLCLEARCOLORIUIEXTPROC __glewClearColorIuiEXT; +GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIIVEXTPROC __glewGetTexParameterIivEXT; +GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIUIVEXTPROC __glewGetTexParameterIuivEXT; +GLEW_FUN_EXPORT PFNGLTEXPARAMETERIIVEXTPROC __glewTexParameterIivEXT; +GLEW_FUN_EXPORT PFNGLTEXPARAMETERIUIVEXTPROC __glewTexParameterIuivEXT; + +GLEW_FUN_EXPORT PFNGLARETEXTURESRESIDENTEXTPROC __glewAreTexturesResidentEXT; +GLEW_FUN_EXPORT PFNGLBINDTEXTUREEXTPROC __glewBindTextureEXT; +GLEW_FUN_EXPORT PFNGLDELETETEXTURESEXTPROC __glewDeleteTexturesEXT; +GLEW_FUN_EXPORT PFNGLGENTEXTURESEXTPROC __glewGenTexturesEXT; +GLEW_FUN_EXPORT PFNGLISTEXTUREEXTPROC __glewIsTextureEXT; +GLEW_FUN_EXPORT PFNGLPRIORITIZETEXTURESEXTPROC __glewPrioritizeTexturesEXT; + +GLEW_FUN_EXPORT PFNGLTEXTURENORMALEXTPROC __glewTextureNormalEXT; + +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VEXTPROC __glewGetQueryObjecti64vEXT; +GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VEXTPROC __glewGetQueryObjectui64vEXT; + +GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKEXTPROC __glewBeginTransformFeedbackEXT; +GLEW_FUN_EXPORT PFNGLBINDBUFFERBASEEXTPROC __glewBindBufferBaseEXT; +GLEW_FUN_EXPORT PFNGLBINDBUFFEROFFSETEXTPROC __glewBindBufferOffsetEXT; +GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGEEXTPROC __glewBindBufferRangeEXT; +GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKEXTPROC __glewEndTransformFeedbackEXT; +GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC __glewGetTransformFeedbackVaryingEXT; +GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC __glewTransformFeedbackVaryingsEXT; + +GLEW_FUN_EXPORT PFNGLARRAYELEMENTEXTPROC __glewArrayElementEXT; +GLEW_FUN_EXPORT PFNGLCOLORPOINTEREXTPROC __glewColorPointerEXT; +GLEW_FUN_EXPORT PFNGLDRAWARRAYSEXTPROC __glewDrawArraysEXT; +GLEW_FUN_EXPORT PFNGLEDGEFLAGPOINTEREXTPROC __glewEdgeFlagPointerEXT; +GLEW_FUN_EXPORT PFNGLINDEXPOINTEREXTPROC __glewIndexPointerEXT; +GLEW_FUN_EXPORT PFNGLNORMALPOINTEREXTPROC __glewNormalPointerEXT; +GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTEREXTPROC __glewTexCoordPointerEXT; +GLEW_FUN_EXPORT PFNGLVERTEXPOINTEREXTPROC __glewVertexPointerEXT; + +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLDVEXTPROC __glewGetVertexAttribLdvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC __glewVertexArrayVertexAttribLOffsetEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DEXTPROC __glewVertexAttribL1dEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DVEXTPROC __glewVertexAttribL1dvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DEXTPROC __glewVertexAttribL2dEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DVEXTPROC __glewVertexAttribL2dvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DEXTPROC __glewVertexAttribL3dEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DVEXTPROC __glewVertexAttribL3dvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DEXTPROC __glewVertexAttribL4dEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DVEXTPROC __glewVertexAttribL4dvEXT; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLPOINTEREXTPROC __glewVertexAttribLPointerEXT; + +GLEW_FUN_EXPORT PFNGLBEGINVERTEXSHADEREXTPROC __glewBeginVertexShaderEXT; +GLEW_FUN_EXPORT PFNGLBINDLIGHTPARAMETEREXTPROC __glewBindLightParameterEXT; +GLEW_FUN_EXPORT PFNGLBINDMATERIALPARAMETEREXTPROC __glewBindMaterialParameterEXT; +GLEW_FUN_EXPORT PFNGLBINDPARAMETEREXTPROC __glewBindParameterEXT; +GLEW_FUN_EXPORT PFNGLBINDTEXGENPARAMETEREXTPROC __glewBindTexGenParameterEXT; +GLEW_FUN_EXPORT PFNGLBINDTEXTUREUNITPARAMETEREXTPROC __glewBindTextureUnitParameterEXT; +GLEW_FUN_EXPORT PFNGLBINDVERTEXSHADEREXTPROC __glewBindVertexShaderEXT; +GLEW_FUN_EXPORT PFNGLDELETEVERTEXSHADEREXTPROC __glewDeleteVertexShaderEXT; +GLEW_FUN_EXPORT PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC __glewDisableVariantClientStateEXT; +GLEW_FUN_EXPORT PFNGLENABLEVARIANTCLIENTSTATEEXTPROC __glewEnableVariantClientStateEXT; +GLEW_FUN_EXPORT PFNGLENDVERTEXSHADEREXTPROC __glewEndVertexShaderEXT; +GLEW_FUN_EXPORT PFNGLEXTRACTCOMPONENTEXTPROC __glewExtractComponentEXT; +GLEW_FUN_EXPORT PFNGLGENSYMBOLSEXTPROC __glewGenSymbolsEXT; +GLEW_FUN_EXPORT PFNGLGENVERTEXSHADERSEXTPROC __glewGenVertexShadersEXT; +GLEW_FUN_EXPORT PFNGLGETINVARIANTBOOLEANVEXTPROC __glewGetInvariantBooleanvEXT; +GLEW_FUN_EXPORT PFNGLGETINVARIANTFLOATVEXTPROC __glewGetInvariantFloatvEXT; +GLEW_FUN_EXPORT PFNGLGETINVARIANTINTEGERVEXTPROC __glewGetInvariantIntegervEXT; +GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC __glewGetLocalConstantBooleanvEXT; +GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTFLOATVEXTPROC __glewGetLocalConstantFloatvEXT; +GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTINTEGERVEXTPROC __glewGetLocalConstantIntegervEXT; +GLEW_FUN_EXPORT PFNGLGETVARIANTBOOLEANVEXTPROC __glewGetVariantBooleanvEXT; +GLEW_FUN_EXPORT PFNGLGETVARIANTFLOATVEXTPROC __glewGetVariantFloatvEXT; +GLEW_FUN_EXPORT PFNGLGETVARIANTINTEGERVEXTPROC __glewGetVariantIntegervEXT; +GLEW_FUN_EXPORT PFNGLGETVARIANTPOINTERVEXTPROC __glewGetVariantPointervEXT; +GLEW_FUN_EXPORT PFNGLINSERTCOMPONENTEXTPROC __glewInsertComponentEXT; +GLEW_FUN_EXPORT PFNGLISVARIANTENABLEDEXTPROC __glewIsVariantEnabledEXT; +GLEW_FUN_EXPORT PFNGLSETINVARIANTEXTPROC __glewSetInvariantEXT; +GLEW_FUN_EXPORT PFNGLSETLOCALCONSTANTEXTPROC __glewSetLocalConstantEXT; +GLEW_FUN_EXPORT PFNGLSHADEROP1EXTPROC __glewShaderOp1EXT; +GLEW_FUN_EXPORT PFNGLSHADEROP2EXTPROC __glewShaderOp2EXT; +GLEW_FUN_EXPORT PFNGLSHADEROP3EXTPROC __glewShaderOp3EXT; +GLEW_FUN_EXPORT PFNGLSWIZZLEEXTPROC __glewSwizzleEXT; +GLEW_FUN_EXPORT PFNGLVARIANTPOINTEREXTPROC __glewVariantPointerEXT; +GLEW_FUN_EXPORT PFNGLVARIANTBVEXTPROC __glewVariantbvEXT; +GLEW_FUN_EXPORT PFNGLVARIANTDVEXTPROC __glewVariantdvEXT; +GLEW_FUN_EXPORT PFNGLVARIANTFVEXTPROC __glewVariantfvEXT; +GLEW_FUN_EXPORT PFNGLVARIANTIVEXTPROC __glewVariantivEXT; +GLEW_FUN_EXPORT PFNGLVARIANTSVEXTPROC __glewVariantsvEXT; +GLEW_FUN_EXPORT PFNGLVARIANTUBVEXTPROC __glewVariantubvEXT; +GLEW_FUN_EXPORT PFNGLVARIANTUIVEXTPROC __glewVariantuivEXT; +GLEW_FUN_EXPORT PFNGLVARIANTUSVEXTPROC __glewVariantusvEXT; +GLEW_FUN_EXPORT PFNGLWRITEMASKEXTPROC __glewWriteMaskEXT; + +GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTPOINTEREXTPROC __glewVertexWeightPointerEXT; +GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFEXTPROC __glewVertexWeightfEXT; +GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFVEXTPROC __glewVertexWeightfvEXT; + +GLEW_FUN_EXPORT PFNGLIMPORTSYNCEXTPROC __glewImportSyncEXT; + +GLEW_FUN_EXPORT PFNGLFRAMETERMINATORGREMEDYPROC __glewFrameTerminatorGREMEDY; + +GLEW_FUN_EXPORT PFNGLSTRINGMARKERGREMEDYPROC __glewStringMarkerGREMEDY; + +GLEW_FUN_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC __glewGetImageTransformParameterfvHP; +GLEW_FUN_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC __glewGetImageTransformParameterivHP; +GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERFHPPROC __glewImageTransformParameterfHP; +GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERFVHPPROC __glewImageTransformParameterfvHP; +GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERIHPPROC __glewImageTransformParameteriHP; +GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERIVHPPROC __glewImageTransformParameterivHP; + +GLEW_FUN_EXPORT PFNGLMULTIMODEDRAWARRAYSIBMPROC __glewMultiModeDrawArraysIBM; +GLEW_FUN_EXPORT PFNGLMULTIMODEDRAWELEMENTSIBMPROC __glewMultiModeDrawElementsIBM; + +GLEW_FUN_EXPORT PFNGLCOLORPOINTERLISTIBMPROC __glewColorPointerListIBM; +GLEW_FUN_EXPORT PFNGLEDGEFLAGPOINTERLISTIBMPROC __glewEdgeFlagPointerListIBM; +GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTERLISTIBMPROC __glewFogCoordPointerListIBM; +GLEW_FUN_EXPORT PFNGLINDEXPOINTERLISTIBMPROC __glewIndexPointerListIBM; +GLEW_FUN_EXPORT PFNGLNORMALPOINTERLISTIBMPROC __glewNormalPointerListIBM; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTERLISTIBMPROC __glewSecondaryColorPointerListIBM; +GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTERLISTIBMPROC __glewTexCoordPointerListIBM; +GLEW_FUN_EXPORT PFNGLVERTEXPOINTERLISTIBMPROC __glewVertexPointerListIBM; + +GLEW_FUN_EXPORT PFNGLMAPTEXTURE2DINTELPROC __glewMapTexture2DINTEL; +GLEW_FUN_EXPORT PFNGLSYNCTEXTUREINTELPROC __glewSyncTextureINTEL; +GLEW_FUN_EXPORT PFNGLUNMAPTEXTURE2DINTELPROC __glewUnmapTexture2DINTEL; + +GLEW_FUN_EXPORT PFNGLCOLORPOINTERVINTELPROC __glewColorPointervINTEL; +GLEW_FUN_EXPORT PFNGLNORMALPOINTERVINTELPROC __glewNormalPointervINTEL; +GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTERVINTELPROC __glewTexCoordPointervINTEL; +GLEW_FUN_EXPORT PFNGLVERTEXPOINTERVINTELPROC __glewVertexPointervINTEL; + +GLEW_FUN_EXPORT PFNGLBEGINPERFQUERYINTELPROC __glewBeginPerfQueryINTEL; +GLEW_FUN_EXPORT PFNGLCREATEPERFQUERYINTELPROC __glewCreatePerfQueryINTEL; +GLEW_FUN_EXPORT PFNGLDELETEPERFQUERYINTELPROC __glewDeletePerfQueryINTEL; +GLEW_FUN_EXPORT PFNGLENDPERFQUERYINTELPROC __glewEndPerfQueryINTEL; +GLEW_FUN_EXPORT PFNGLGETFIRSTPERFQUERYIDINTELPROC __glewGetFirstPerfQueryIdINTEL; +GLEW_FUN_EXPORT PFNGLGETNEXTPERFQUERYIDINTELPROC __glewGetNextPerfQueryIdINTEL; +GLEW_FUN_EXPORT PFNGLGETPERFCOUNTERINFOINTELPROC __glewGetPerfCounterInfoINTEL; +GLEW_FUN_EXPORT PFNGLGETPERFQUERYDATAINTELPROC __glewGetPerfQueryDataINTEL; +GLEW_FUN_EXPORT PFNGLGETPERFQUERYIDBYNAMEINTELPROC __glewGetPerfQueryIdByNameINTEL; +GLEW_FUN_EXPORT PFNGLGETPERFQUERYINFOINTELPROC __glewGetPerfQueryInfoINTEL; + +GLEW_FUN_EXPORT PFNGLTEXSCISSORFUNCINTELPROC __glewTexScissorFuncINTEL; +GLEW_FUN_EXPORT PFNGLTEXSCISSORINTELPROC __glewTexScissorINTEL; + +GLEW_FUN_EXPORT PFNGLBLENDBARRIERKHRPROC __glewBlendBarrierKHR; + +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECALLBACKPROC __glewDebugMessageCallback; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGECONTROLPROC __glewDebugMessageControl; +GLEW_FUN_EXPORT PFNGLDEBUGMESSAGEINSERTPROC __glewDebugMessageInsert; +GLEW_FUN_EXPORT PFNGLGETDEBUGMESSAGELOGPROC __glewGetDebugMessageLog; +GLEW_FUN_EXPORT PFNGLGETOBJECTLABELPROC __glewGetObjectLabel; +GLEW_FUN_EXPORT PFNGLGETOBJECTPTRLABELPROC __glewGetObjectPtrLabel; +GLEW_FUN_EXPORT PFNGLOBJECTLABELPROC __glewObjectLabel; +GLEW_FUN_EXPORT PFNGLOBJECTPTRLABELPROC __glewObjectPtrLabel; +GLEW_FUN_EXPORT PFNGLPOPDEBUGGROUPPROC __glewPopDebugGroup; +GLEW_FUN_EXPORT PFNGLPUSHDEBUGGROUPPROC __glewPushDebugGroup; + +GLEW_FUN_EXPORT PFNGLGETNUNIFORMFVPROC __glewGetnUniformfv; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMIVPROC __glewGetnUniformiv; +GLEW_FUN_EXPORT PFNGLGETNUNIFORMUIVPROC __glewGetnUniformuiv; +GLEW_FUN_EXPORT PFNGLREADNPIXELSPROC __glewReadnPixels; + +GLEW_FUN_EXPORT PFNGLBUFFERREGIONENABLEDPROC __glewBufferRegionEnabled; +GLEW_FUN_EXPORT PFNGLDELETEBUFFERREGIONPROC __glewDeleteBufferRegion; +GLEW_FUN_EXPORT PFNGLDRAWBUFFERREGIONPROC __glewDrawBufferRegion; +GLEW_FUN_EXPORT PFNGLNEWBUFFERREGIONPROC __glewNewBufferRegion; +GLEW_FUN_EXPORT PFNGLREADBUFFERREGIONPROC __glewReadBufferRegion; + +GLEW_FUN_EXPORT PFNGLRESIZEBUFFERSMESAPROC __glewResizeBuffersMESA; + +GLEW_FUN_EXPORT PFNGLWINDOWPOS2DMESAPROC __glewWindowPos2dMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVMESAPROC __glewWindowPos2dvMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2FMESAPROC __glewWindowPos2fMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVMESAPROC __glewWindowPos2fvMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2IMESAPROC __glewWindowPos2iMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVMESAPROC __glewWindowPos2ivMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2SMESAPROC __glewWindowPos2sMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVMESAPROC __glewWindowPos2svMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3DMESAPROC __glewWindowPos3dMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVMESAPROC __glewWindowPos3dvMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3FMESAPROC __glewWindowPos3fMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVMESAPROC __glewWindowPos3fvMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3IMESAPROC __glewWindowPos3iMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVMESAPROC __glewWindowPos3ivMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3SMESAPROC __glewWindowPos3sMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVMESAPROC __glewWindowPos3svMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4DMESAPROC __glewWindowPos4dMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4DVMESAPROC __glewWindowPos4dvMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4FMESAPROC __glewWindowPos4fMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4FVMESAPROC __glewWindowPos4fvMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4IMESAPROC __glewWindowPos4iMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4IVMESAPROC __glewWindowPos4ivMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4SMESAPROC __glewWindowPos4sMESA; +GLEW_FUN_EXPORT PFNGLWINDOWPOS4SVMESAPROC __glewWindowPos4svMESA; + +GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERNVXPROC __glewBeginConditionalRenderNVX; +GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERNVXPROC __glewEndConditionalRenderNVX; + +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC __glewMultiDrawArraysIndirectBindlessNV; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC __glewMultiDrawElementsIndirectBindlessNV; + +GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC __glewMultiDrawArraysIndirectBindlessCountNV; +GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC __glewMultiDrawElementsIndirectBindlessCountNV; + +GLEW_FUN_EXPORT PFNGLGETIMAGEHANDLENVPROC __glewGetImageHandleNV; +GLEW_FUN_EXPORT PFNGLGETTEXTUREHANDLENVPROC __glewGetTextureHandleNV; +GLEW_FUN_EXPORT PFNGLGETTEXTURESAMPLERHANDLENVPROC __glewGetTextureSamplerHandleNV; +GLEW_FUN_EXPORT PFNGLISIMAGEHANDLERESIDENTNVPROC __glewIsImageHandleResidentNV; +GLEW_FUN_EXPORT PFNGLISTEXTUREHANDLERESIDENTNVPROC __glewIsTextureHandleResidentNV; +GLEW_FUN_EXPORT PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC __glewMakeImageHandleNonResidentNV; +GLEW_FUN_EXPORT PFNGLMAKEIMAGEHANDLERESIDENTNVPROC __glewMakeImageHandleResidentNV; +GLEW_FUN_EXPORT PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC __glewMakeTextureHandleNonResidentNV; +GLEW_FUN_EXPORT PFNGLMAKETEXTUREHANDLERESIDENTNVPROC __glewMakeTextureHandleResidentNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC __glewProgramUniformHandleui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC __glewProgramUniformHandleui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORMHANDLEUI64NVPROC __glewUniformHandleui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORMHANDLEUI64VNVPROC __glewUniformHandleui64vNV; + +GLEW_FUN_EXPORT PFNGLBLENDBARRIERNVPROC __glewBlendBarrierNV; +GLEW_FUN_EXPORT PFNGLBLENDPARAMETERINVPROC __glewBlendParameteriNV; + +GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERNVPROC __glewBeginConditionalRenderNV; +GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERNVPROC __glewEndConditionalRenderNV; + +GLEW_FUN_EXPORT PFNGLSUBPIXELPRECISIONBIASNVPROC __glewSubpixelPrecisionBiasNV; + +GLEW_FUN_EXPORT PFNGLCONSERVATIVERASTERPARAMETERFNVPROC __glewConservativeRasterParameterfNV; + +GLEW_FUN_EXPORT PFNGLCOPYIMAGESUBDATANVPROC __glewCopyImageSubDataNV; + +GLEW_FUN_EXPORT PFNGLCLEARDEPTHDNVPROC __glewClearDepthdNV; +GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSDNVPROC __glewDepthBoundsdNV; +GLEW_FUN_EXPORT PFNGLDEPTHRANGEDNVPROC __glewDepthRangedNV; + +GLEW_FUN_EXPORT PFNGLDRAWTEXTURENVPROC __glewDrawTextureNV; + +GLEW_FUN_EXPORT PFNGLEVALMAPSNVPROC __glewEvalMapsNV; +GLEW_FUN_EXPORT PFNGLGETMAPATTRIBPARAMETERFVNVPROC __glewGetMapAttribParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETMAPATTRIBPARAMETERIVNVPROC __glewGetMapAttribParameterivNV; +GLEW_FUN_EXPORT PFNGLGETMAPCONTROLPOINTSNVPROC __glewGetMapControlPointsNV; +GLEW_FUN_EXPORT PFNGLGETMAPPARAMETERFVNVPROC __glewGetMapParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETMAPPARAMETERIVNVPROC __glewGetMapParameterivNV; +GLEW_FUN_EXPORT PFNGLMAPCONTROLPOINTSNVPROC __glewMapControlPointsNV; +GLEW_FUN_EXPORT PFNGLMAPPARAMETERFVNVPROC __glewMapParameterfvNV; +GLEW_FUN_EXPORT PFNGLMAPPARAMETERIVNVPROC __glewMapParameterivNV; + +GLEW_FUN_EXPORT PFNGLGETMULTISAMPLEFVNVPROC __glewGetMultisamplefvNV; +GLEW_FUN_EXPORT PFNGLSAMPLEMASKINDEXEDNVPROC __glewSampleMaskIndexedNV; +GLEW_FUN_EXPORT PFNGLTEXRENDERBUFFERNVPROC __glewTexRenderbufferNV; + +GLEW_FUN_EXPORT PFNGLDELETEFENCESNVPROC __glewDeleteFencesNV; +GLEW_FUN_EXPORT PFNGLFINISHFENCENVPROC __glewFinishFenceNV; +GLEW_FUN_EXPORT PFNGLGENFENCESNVPROC __glewGenFencesNV; +GLEW_FUN_EXPORT PFNGLGETFENCEIVNVPROC __glewGetFenceivNV; +GLEW_FUN_EXPORT PFNGLISFENCENVPROC __glewIsFenceNV; +GLEW_FUN_EXPORT PFNGLSETFENCENVPROC __glewSetFenceNV; +GLEW_FUN_EXPORT PFNGLTESTFENCENVPROC __glewTestFenceNV; + +GLEW_FUN_EXPORT PFNGLFRAGMENTCOVERAGECOLORNVPROC __glewFragmentCoverageColorNV; + +GLEW_FUN_EXPORT PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC __glewGetProgramNamedParameterdvNV; +GLEW_FUN_EXPORT PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC __glewGetProgramNamedParameterfvNV; +GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DNVPROC __glewProgramNamedParameter4dNV; +GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC __glewProgramNamedParameter4dvNV; +GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FNVPROC __glewProgramNamedParameter4fNV; +GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC __glewProgramNamedParameter4fvNV; + +GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC __glewRenderbufferStorageMultisampleCoverageNV; + +GLEW_FUN_EXPORT PFNGLPROGRAMVERTEXLIMITNVPROC __glewProgramVertexLimitNV; + +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4INVPROC __glewProgramEnvParameterI4iNV; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4IVNVPROC __glewProgramEnvParameterI4ivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4UINVPROC __glewProgramEnvParameterI4uiNV; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4UIVNVPROC __glewProgramEnvParameterI4uivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERSI4IVNVPROC __glewProgramEnvParametersI4ivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC __glewProgramEnvParametersI4uivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4INVPROC __glewProgramLocalParameterI4iNV; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC __glewProgramLocalParameterI4ivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UINVPROC __glewProgramLocalParameterI4uiNV; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC __glewProgramLocalParameterI4uivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC __glewProgramLocalParametersI4ivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC __glewProgramLocalParametersI4uivNV; + +GLEW_FUN_EXPORT PFNGLGETUNIFORMI64VNVPROC __glewGetUniformi64vNV; +GLEW_FUN_EXPORT PFNGLGETUNIFORMUI64VNVPROC __glewGetUniformui64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64NVPROC __glewProgramUniform1i64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64VNVPROC __glewProgramUniform1i64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64NVPROC __glewProgramUniform1ui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64VNVPROC __glewProgramUniform1ui64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64NVPROC __glewProgramUniform2i64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64VNVPROC __glewProgramUniform2i64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64NVPROC __glewProgramUniform2ui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64VNVPROC __glewProgramUniform2ui64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64NVPROC __glewProgramUniform3i64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64VNVPROC __glewProgramUniform3i64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64NVPROC __glewProgramUniform3ui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64VNVPROC __glewProgramUniform3ui64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64NVPROC __glewProgramUniform4i64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64VNVPROC __glewProgramUniform4i64vNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64NVPROC __glewProgramUniform4ui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64VNVPROC __glewProgramUniform4ui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM1I64NVPROC __glewUniform1i64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM1I64VNVPROC __glewUniform1i64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM1UI64NVPROC __glewUniform1ui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM1UI64VNVPROC __glewUniform1ui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM2I64NVPROC __glewUniform2i64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM2I64VNVPROC __glewUniform2i64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM2UI64NVPROC __glewUniform2ui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM2UI64VNVPROC __glewUniform2ui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM3I64NVPROC __glewUniform3i64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM3I64VNVPROC __glewUniform3i64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM3UI64NVPROC __glewUniform3ui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM3UI64VNVPROC __glewUniform3ui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM4I64NVPROC __glewUniform4i64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM4I64VNVPROC __glewUniform4i64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORM4UI64NVPROC __glewUniform4ui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORM4UI64VNVPROC __glewUniform4ui64vNV; + +GLEW_FUN_EXPORT PFNGLCOLOR3HNVPROC __glewColor3hNV; +GLEW_FUN_EXPORT PFNGLCOLOR3HVNVPROC __glewColor3hvNV; +GLEW_FUN_EXPORT PFNGLCOLOR4HNVPROC __glewColor4hNV; +GLEW_FUN_EXPORT PFNGLCOLOR4HVNVPROC __glewColor4hvNV; +GLEW_FUN_EXPORT PFNGLFOGCOORDHNVPROC __glewFogCoordhNV; +GLEW_FUN_EXPORT PFNGLFOGCOORDHVNVPROC __glewFogCoordhvNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1HNVPROC __glewMultiTexCoord1hNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1HVNVPROC __glewMultiTexCoord1hvNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2HNVPROC __glewMultiTexCoord2hNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2HVNVPROC __glewMultiTexCoord2hvNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3HNVPROC __glewMultiTexCoord3hNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3HVNVPROC __glewMultiTexCoord3hvNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4HNVPROC __glewMultiTexCoord4hNV; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4HVNVPROC __glewMultiTexCoord4hvNV; +GLEW_FUN_EXPORT PFNGLNORMAL3HNVPROC __glewNormal3hNV; +GLEW_FUN_EXPORT PFNGLNORMAL3HVNVPROC __glewNormal3hvNV; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3HNVPROC __glewSecondaryColor3hNV; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3HVNVPROC __glewSecondaryColor3hvNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD1HNVPROC __glewTexCoord1hNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD1HVNVPROC __glewTexCoord1hvNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD2HNVPROC __glewTexCoord2hNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD2HVNVPROC __glewTexCoord2hvNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD3HNVPROC __glewTexCoord3hNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD3HVNVPROC __glewTexCoord3hvNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD4HNVPROC __glewTexCoord4hNV; +GLEW_FUN_EXPORT PFNGLTEXCOORD4HVNVPROC __glewTexCoord4hvNV; +GLEW_FUN_EXPORT PFNGLVERTEX2HNVPROC __glewVertex2hNV; +GLEW_FUN_EXPORT PFNGLVERTEX2HVNVPROC __glewVertex2hvNV; +GLEW_FUN_EXPORT PFNGLVERTEX3HNVPROC __glewVertex3hNV; +GLEW_FUN_EXPORT PFNGLVERTEX3HVNVPROC __glewVertex3hvNV; +GLEW_FUN_EXPORT PFNGLVERTEX4HNVPROC __glewVertex4hNV; +GLEW_FUN_EXPORT PFNGLVERTEX4HVNVPROC __glewVertex4hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1HNVPROC __glewVertexAttrib1hNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1HVNVPROC __glewVertexAttrib1hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2HNVPROC __glewVertexAttrib2hNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2HVNVPROC __glewVertexAttrib2hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3HNVPROC __glewVertexAttrib3hNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3HVNVPROC __glewVertexAttrib3hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4HNVPROC __glewVertexAttrib4hNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4HVNVPROC __glewVertexAttrib4hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1HVNVPROC __glewVertexAttribs1hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2HVNVPROC __glewVertexAttribs2hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3HVNVPROC __glewVertexAttribs3hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4HVNVPROC __glewVertexAttribs4hvNV; +GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTHNVPROC __glewVertexWeighthNV; +GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTHVNVPROC __glewVertexWeighthvNV; + +GLEW_FUN_EXPORT PFNGLGETINTERNALFORMATSAMPLEIVNVPROC __glewGetInternalformatSampleivNV; + +GLEW_FUN_EXPORT PFNGLBEGINOCCLUSIONQUERYNVPROC __glewBeginOcclusionQueryNV; +GLEW_FUN_EXPORT PFNGLDELETEOCCLUSIONQUERIESNVPROC __glewDeleteOcclusionQueriesNV; +GLEW_FUN_EXPORT PFNGLENDOCCLUSIONQUERYNVPROC __glewEndOcclusionQueryNV; +GLEW_FUN_EXPORT PFNGLGENOCCLUSIONQUERIESNVPROC __glewGenOcclusionQueriesNV; +GLEW_FUN_EXPORT PFNGLGETOCCLUSIONQUERYIVNVPROC __glewGetOcclusionQueryivNV; +GLEW_FUN_EXPORT PFNGLGETOCCLUSIONQUERYUIVNVPROC __glewGetOcclusionQueryuivNV; +GLEW_FUN_EXPORT PFNGLISOCCLUSIONQUERYNVPROC __glewIsOcclusionQueryNV; + +GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC __glewProgramBufferParametersIivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC __glewProgramBufferParametersIuivNV; +GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC __glewProgramBufferParametersfvNV; + +GLEW_FUN_EXPORT PFNGLCOPYPATHNVPROC __glewCopyPathNV; +GLEW_FUN_EXPORT PFNGLCOVERFILLPATHINSTANCEDNVPROC __glewCoverFillPathInstancedNV; +GLEW_FUN_EXPORT PFNGLCOVERFILLPATHNVPROC __glewCoverFillPathNV; +GLEW_FUN_EXPORT PFNGLCOVERSTROKEPATHINSTANCEDNVPROC __glewCoverStrokePathInstancedNV; +GLEW_FUN_EXPORT PFNGLCOVERSTROKEPATHNVPROC __glewCoverStrokePathNV; +GLEW_FUN_EXPORT PFNGLDELETEPATHSNVPROC __glewDeletePathsNV; +GLEW_FUN_EXPORT PFNGLGENPATHSNVPROC __glewGenPathsNV; +GLEW_FUN_EXPORT PFNGLGETPATHCOLORGENFVNVPROC __glewGetPathColorGenfvNV; +GLEW_FUN_EXPORT PFNGLGETPATHCOLORGENIVNVPROC __glewGetPathColorGenivNV; +GLEW_FUN_EXPORT PFNGLGETPATHCOMMANDSNVPROC __glewGetPathCommandsNV; +GLEW_FUN_EXPORT PFNGLGETPATHCOORDSNVPROC __glewGetPathCoordsNV; +GLEW_FUN_EXPORT PFNGLGETPATHDASHARRAYNVPROC __glewGetPathDashArrayNV; +GLEW_FUN_EXPORT PFNGLGETPATHLENGTHNVPROC __glewGetPathLengthNV; +GLEW_FUN_EXPORT PFNGLGETPATHMETRICRANGENVPROC __glewGetPathMetricRangeNV; +GLEW_FUN_EXPORT PFNGLGETPATHMETRICSNVPROC __glewGetPathMetricsNV; +GLEW_FUN_EXPORT PFNGLGETPATHPARAMETERFVNVPROC __glewGetPathParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETPATHPARAMETERIVNVPROC __glewGetPathParameterivNV; +GLEW_FUN_EXPORT PFNGLGETPATHSPACINGNVPROC __glewGetPathSpacingNV; +GLEW_FUN_EXPORT PFNGLGETPATHTEXGENFVNVPROC __glewGetPathTexGenfvNV; +GLEW_FUN_EXPORT PFNGLGETPATHTEXGENIVNVPROC __glewGetPathTexGenivNV; +GLEW_FUN_EXPORT PFNGLGETPROGRAMRESOURCEFVNVPROC __glewGetProgramResourcefvNV; +GLEW_FUN_EXPORT PFNGLINTERPOLATEPATHSNVPROC __glewInterpolatePathsNV; +GLEW_FUN_EXPORT PFNGLISPATHNVPROC __glewIsPathNV; +GLEW_FUN_EXPORT PFNGLISPOINTINFILLPATHNVPROC __glewIsPointInFillPathNV; +GLEW_FUN_EXPORT PFNGLISPOINTINSTROKEPATHNVPROC __glewIsPointInStrokePathNV; +GLEW_FUN_EXPORT PFNGLMATRIXLOAD3X2FNVPROC __glewMatrixLoad3x2fNV; +GLEW_FUN_EXPORT PFNGLMATRIXLOAD3X3FNVPROC __glewMatrixLoad3x3fNV; +GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC __glewMatrixLoadTranspose3x3fNV; +GLEW_FUN_EXPORT PFNGLMATRIXMULT3X2FNVPROC __glewMatrixMult3x2fNV; +GLEW_FUN_EXPORT PFNGLMATRIXMULT3X3FNVPROC __glewMatrixMult3x3fNV; +GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC __glewMatrixMultTranspose3x3fNV; +GLEW_FUN_EXPORT PFNGLPATHCOLORGENNVPROC __glewPathColorGenNV; +GLEW_FUN_EXPORT PFNGLPATHCOMMANDSNVPROC __glewPathCommandsNV; +GLEW_FUN_EXPORT PFNGLPATHCOORDSNVPROC __glewPathCoordsNV; +GLEW_FUN_EXPORT PFNGLPATHCOVERDEPTHFUNCNVPROC __glewPathCoverDepthFuncNV; +GLEW_FUN_EXPORT PFNGLPATHDASHARRAYNVPROC __glewPathDashArrayNV; +GLEW_FUN_EXPORT PFNGLPATHFOGGENNVPROC __glewPathFogGenNV; +GLEW_FUN_EXPORT PFNGLPATHGLYPHINDEXARRAYNVPROC __glewPathGlyphIndexArrayNV; +GLEW_FUN_EXPORT PFNGLPATHGLYPHINDEXRANGENVPROC __glewPathGlyphIndexRangeNV; +GLEW_FUN_EXPORT PFNGLPATHGLYPHRANGENVPROC __glewPathGlyphRangeNV; +GLEW_FUN_EXPORT PFNGLPATHGLYPHSNVPROC __glewPathGlyphsNV; +GLEW_FUN_EXPORT PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC __glewPathMemoryGlyphIndexArrayNV; +GLEW_FUN_EXPORT PFNGLPATHPARAMETERFNVPROC __glewPathParameterfNV; +GLEW_FUN_EXPORT PFNGLPATHPARAMETERFVNVPROC __glewPathParameterfvNV; +GLEW_FUN_EXPORT PFNGLPATHPARAMETERINVPROC __glewPathParameteriNV; +GLEW_FUN_EXPORT PFNGLPATHPARAMETERIVNVPROC __glewPathParameterivNV; +GLEW_FUN_EXPORT PFNGLPATHSTENCILDEPTHOFFSETNVPROC __glewPathStencilDepthOffsetNV; +GLEW_FUN_EXPORT PFNGLPATHSTENCILFUNCNVPROC __glewPathStencilFuncNV; +GLEW_FUN_EXPORT PFNGLPATHSTRINGNVPROC __glewPathStringNV; +GLEW_FUN_EXPORT PFNGLPATHSUBCOMMANDSNVPROC __glewPathSubCommandsNV; +GLEW_FUN_EXPORT PFNGLPATHSUBCOORDSNVPROC __glewPathSubCoordsNV; +GLEW_FUN_EXPORT PFNGLPATHTEXGENNVPROC __glewPathTexGenNV; +GLEW_FUN_EXPORT PFNGLPOINTALONGPATHNVPROC __glewPointAlongPathNV; +GLEW_FUN_EXPORT PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC __glewProgramPathFragmentInputGenNV; +GLEW_FUN_EXPORT PFNGLSTENCILFILLPATHINSTANCEDNVPROC __glewStencilFillPathInstancedNV; +GLEW_FUN_EXPORT PFNGLSTENCILFILLPATHNVPROC __glewStencilFillPathNV; +GLEW_FUN_EXPORT PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC __glewStencilStrokePathInstancedNV; +GLEW_FUN_EXPORT PFNGLSTENCILSTROKEPATHNVPROC __glewStencilStrokePathNV; +GLEW_FUN_EXPORT PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC __glewStencilThenCoverFillPathInstancedNV; +GLEW_FUN_EXPORT PFNGLSTENCILTHENCOVERFILLPATHNVPROC __glewStencilThenCoverFillPathNV; +GLEW_FUN_EXPORT PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC __glewStencilThenCoverStrokePathInstancedNV; +GLEW_FUN_EXPORT PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC __glewStencilThenCoverStrokePathNV; +GLEW_FUN_EXPORT PFNGLTRANSFORMPATHNVPROC __glewTransformPathNV; +GLEW_FUN_EXPORT PFNGLWEIGHTPATHSNVPROC __glewWeightPathsNV; + +GLEW_FUN_EXPORT PFNGLFLUSHPIXELDATARANGENVPROC __glewFlushPixelDataRangeNV; +GLEW_FUN_EXPORT PFNGLPIXELDATARANGENVPROC __glewPixelDataRangeNV; + +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERINVPROC __glewPointParameteriNV; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIVNVPROC __glewPointParameterivNV; + +GLEW_FUN_EXPORT PFNGLGETVIDEOI64VNVPROC __glewGetVideoi64vNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOIVNVPROC __glewGetVideoivNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOUI64VNVPROC __glewGetVideoui64vNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOUIVNVPROC __glewGetVideouivNV; +GLEW_FUN_EXPORT PFNGLPRESENTFRAMEDUALFILLNVPROC __glewPresentFrameDualFillNV; +GLEW_FUN_EXPORT PFNGLPRESENTFRAMEKEYEDNVPROC __glewPresentFrameKeyedNV; + +GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTINDEXNVPROC __glewPrimitiveRestartIndexNV; +GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTNVPROC __glewPrimitiveRestartNV; + +GLEW_FUN_EXPORT PFNGLCOMBINERINPUTNVPROC __glewCombinerInputNV; +GLEW_FUN_EXPORT PFNGLCOMBINEROUTPUTNVPROC __glewCombinerOutputNV; +GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERFNVPROC __glewCombinerParameterfNV; +GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERFVNVPROC __glewCombinerParameterfvNV; +GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERINVPROC __glewCombinerParameteriNV; +GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERIVNVPROC __glewCombinerParameterivNV; +GLEW_FUN_EXPORT PFNGLFINALCOMBINERINPUTNVPROC __glewFinalCombinerInputNV; +GLEW_FUN_EXPORT PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC __glewGetCombinerInputParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC __glewGetCombinerInputParameterivNV; +GLEW_FUN_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC __glewGetCombinerOutputParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC __glewGetCombinerOutputParameterivNV; +GLEW_FUN_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC __glewGetFinalCombinerInputParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC __glewGetFinalCombinerInputParameterivNV; + +GLEW_FUN_EXPORT PFNGLCOMBINERSTAGEPARAMETERFVNVPROC __glewCombinerStageParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC __glewGetCombinerStageParameterfvNV; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC __glewFramebufferSampleLocationsfvNV; +GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC __glewNamedFramebufferSampleLocationsfvNV; + +GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERUI64VNVPROC __glewGetBufferParameterui64vNV; +GLEW_FUN_EXPORT PFNGLGETINTEGERUI64VNVPROC __glewGetIntegerui64vNV; +GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC __glewGetNamedBufferParameterui64vNV; +GLEW_FUN_EXPORT PFNGLISBUFFERRESIDENTNVPROC __glewIsBufferResidentNV; +GLEW_FUN_EXPORT PFNGLISNAMEDBUFFERRESIDENTNVPROC __glewIsNamedBufferResidentNV; +GLEW_FUN_EXPORT PFNGLMAKEBUFFERNONRESIDENTNVPROC __glewMakeBufferNonResidentNV; +GLEW_FUN_EXPORT PFNGLMAKEBUFFERRESIDENTNVPROC __glewMakeBufferResidentNV; +GLEW_FUN_EXPORT PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC __glewMakeNamedBufferNonResidentNV; +GLEW_FUN_EXPORT PFNGLMAKENAMEDBUFFERRESIDENTNVPROC __glewMakeNamedBufferResidentNV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMUI64NVPROC __glewProgramUniformui64NV; +GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMUI64VNVPROC __glewProgramUniformui64vNV; +GLEW_FUN_EXPORT PFNGLUNIFORMUI64NVPROC __glewUniformui64NV; +GLEW_FUN_EXPORT PFNGLUNIFORMUI64VNVPROC __glewUniformui64vNV; + +GLEW_FUN_EXPORT PFNGLTEXTUREBARRIERNVPROC __glewTextureBarrierNV; + +GLEW_FUN_EXPORT PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTexImage2DMultisampleCoverageNV; +GLEW_FUN_EXPORT PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTexImage3DMultisampleCoverageNV; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC __glewTextureImage2DMultisampleCoverageNV; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC __glewTextureImage2DMultisampleNV; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC __glewTextureImage3DMultisampleCoverageNV; +GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC __glewTextureImage3DMultisampleNV; + +GLEW_FUN_EXPORT PFNGLACTIVEVARYINGNVPROC __glewActiveVaryingNV; +GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKNVPROC __glewBeginTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLBINDBUFFERBASENVPROC __glewBindBufferBaseNV; +GLEW_FUN_EXPORT PFNGLBINDBUFFEROFFSETNVPROC __glewBindBufferOffsetNV; +GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGENVPROC __glewBindBufferRangeNV; +GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKNVPROC __glewEndTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLGETACTIVEVARYINGNVPROC __glewGetActiveVaryingNV; +GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC __glewGetTransformFeedbackVaryingNV; +GLEW_FUN_EXPORT PFNGLGETVARYINGLOCATIONNVPROC __glewGetVaryingLocationNV; +GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC __glewTransformFeedbackAttribsNV; +GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC __glewTransformFeedbackVaryingsNV; + +GLEW_FUN_EXPORT PFNGLBINDTRANSFORMFEEDBACKNVPROC __glewBindTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLDELETETRANSFORMFEEDBACKSNVPROC __glewDeleteTransformFeedbacksNV; +GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKNVPROC __glewDrawTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLGENTRANSFORMFEEDBACKSNVPROC __glewGenTransformFeedbacksNV; +GLEW_FUN_EXPORT PFNGLISTRANSFORMFEEDBACKNVPROC __glewIsTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLPAUSETRANSFORMFEEDBACKNVPROC __glewPauseTransformFeedbackNV; +GLEW_FUN_EXPORT PFNGLRESUMETRANSFORMFEEDBACKNVPROC __glewResumeTransformFeedbackNV; + +GLEW_FUN_EXPORT PFNGLVDPAUFININVPROC __glewVDPAUFiniNV; +GLEW_FUN_EXPORT PFNGLVDPAUGETSURFACEIVNVPROC __glewVDPAUGetSurfaceivNV; +GLEW_FUN_EXPORT PFNGLVDPAUINITNVPROC __glewVDPAUInitNV; +GLEW_FUN_EXPORT PFNGLVDPAUISSURFACENVPROC __glewVDPAUIsSurfaceNV; +GLEW_FUN_EXPORT PFNGLVDPAUMAPSURFACESNVPROC __glewVDPAUMapSurfacesNV; +GLEW_FUN_EXPORT PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC __glewVDPAURegisterOutputSurfaceNV; +GLEW_FUN_EXPORT PFNGLVDPAUREGISTERVIDEOSURFACENVPROC __glewVDPAURegisterVideoSurfaceNV; +GLEW_FUN_EXPORT PFNGLVDPAUSURFACEACCESSNVPROC __glewVDPAUSurfaceAccessNV; +GLEW_FUN_EXPORT PFNGLVDPAUUNMAPSURFACESNVPROC __glewVDPAUUnmapSurfacesNV; +GLEW_FUN_EXPORT PFNGLVDPAUUNREGISTERSURFACENVPROC __glewVDPAUUnregisterSurfaceNV; + +GLEW_FUN_EXPORT PFNGLFLUSHVERTEXARRAYRANGENVPROC __glewFlushVertexArrayRangeNV; +GLEW_FUN_EXPORT PFNGLVERTEXARRAYRANGENVPROC __glewVertexArrayRangeNV; + +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLI64VNVPROC __glewGetVertexAttribLi64vNV; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLUI64VNVPROC __glewGetVertexAttribLui64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1I64NVPROC __glewVertexAttribL1i64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1I64VNVPROC __glewVertexAttribL1i64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64NVPROC __glewVertexAttribL1ui64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64VNVPROC __glewVertexAttribL1ui64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2I64NVPROC __glewVertexAttribL2i64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2I64VNVPROC __glewVertexAttribL2i64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2UI64NVPROC __glewVertexAttribL2ui64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2UI64VNVPROC __glewVertexAttribL2ui64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3I64NVPROC __glewVertexAttribL3i64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3I64VNVPROC __glewVertexAttribL3i64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3UI64NVPROC __glewVertexAttribL3ui64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3UI64VNVPROC __glewVertexAttribL3ui64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4I64NVPROC __glewVertexAttribL4i64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4I64VNVPROC __glewVertexAttribL4i64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4UI64NVPROC __glewVertexAttribL4ui64NV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4UI64VNVPROC __glewVertexAttribL4ui64vNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLFORMATNVPROC __glewVertexAttribLFormatNV; + +GLEW_FUN_EXPORT PFNGLBUFFERADDRESSRANGENVPROC __glewBufferAddressRangeNV; +GLEW_FUN_EXPORT PFNGLCOLORFORMATNVPROC __glewColorFormatNV; +GLEW_FUN_EXPORT PFNGLEDGEFLAGFORMATNVPROC __glewEdgeFlagFormatNV; +GLEW_FUN_EXPORT PFNGLFOGCOORDFORMATNVPROC __glewFogCoordFormatNV; +GLEW_FUN_EXPORT PFNGLGETINTEGERUI64I_VNVPROC __glewGetIntegerui64i_vNV; +GLEW_FUN_EXPORT PFNGLINDEXFORMATNVPROC __glewIndexFormatNV; +GLEW_FUN_EXPORT PFNGLNORMALFORMATNVPROC __glewNormalFormatNV; +GLEW_FUN_EXPORT PFNGLSECONDARYCOLORFORMATNVPROC __glewSecondaryColorFormatNV; +GLEW_FUN_EXPORT PFNGLTEXCOORDFORMATNVPROC __glewTexCoordFormatNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBFORMATNVPROC __glewVertexAttribFormatNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIFORMATNVPROC __glewVertexAttribIFormatNV; +GLEW_FUN_EXPORT PFNGLVERTEXFORMATNVPROC __glewVertexFormatNV; + +GLEW_FUN_EXPORT PFNGLAREPROGRAMSRESIDENTNVPROC __glewAreProgramsResidentNV; +GLEW_FUN_EXPORT PFNGLBINDPROGRAMNVPROC __glewBindProgramNV; +GLEW_FUN_EXPORT PFNGLDELETEPROGRAMSNVPROC __glewDeleteProgramsNV; +GLEW_FUN_EXPORT PFNGLEXECUTEPROGRAMNVPROC __glewExecuteProgramNV; +GLEW_FUN_EXPORT PFNGLGENPROGRAMSNVPROC __glewGenProgramsNV; +GLEW_FUN_EXPORT PFNGLGETPROGRAMPARAMETERDVNVPROC __glewGetProgramParameterdvNV; +GLEW_FUN_EXPORT PFNGLGETPROGRAMPARAMETERFVNVPROC __glewGetProgramParameterfvNV; +GLEW_FUN_EXPORT PFNGLGETPROGRAMSTRINGNVPROC __glewGetProgramStringNV; +GLEW_FUN_EXPORT PFNGLGETPROGRAMIVNVPROC __glewGetProgramivNV; +GLEW_FUN_EXPORT PFNGLGETTRACKMATRIXIVNVPROC __glewGetTrackMatrixivNV; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVNVPROC __glewGetVertexAttribPointervNV; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVNVPROC __glewGetVertexAttribdvNV; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVNVPROC __glewGetVertexAttribfvNV; +GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVNVPROC __glewGetVertexAttribivNV; +GLEW_FUN_EXPORT PFNGLISPROGRAMNVPROC __glewIsProgramNV; +GLEW_FUN_EXPORT PFNGLLOADPROGRAMNVPROC __glewLoadProgramNV; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4DNVPROC __glewProgramParameter4dNV; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4DVNVPROC __glewProgramParameter4dvNV; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4FNVPROC __glewProgramParameter4fNV; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4FVNVPROC __glewProgramParameter4fvNV; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERS4DVNVPROC __glewProgramParameters4dvNV; +GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERS4FVNVPROC __glewProgramParameters4fvNV; +GLEW_FUN_EXPORT PFNGLREQUESTRESIDENTPROGRAMSNVPROC __glewRequestResidentProgramsNV; +GLEW_FUN_EXPORT PFNGLTRACKMATRIXNVPROC __glewTrackMatrixNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DNVPROC __glewVertexAttrib1dNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVNVPROC __glewVertexAttrib1dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FNVPROC __glewVertexAttrib1fNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVNVPROC __glewVertexAttrib1fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SNVPROC __glewVertexAttrib1sNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVNVPROC __glewVertexAttrib1svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DNVPROC __glewVertexAttrib2dNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVNVPROC __glewVertexAttrib2dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FNVPROC __glewVertexAttrib2fNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVNVPROC __glewVertexAttrib2fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SNVPROC __glewVertexAttrib2sNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVNVPROC __glewVertexAttrib2svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DNVPROC __glewVertexAttrib3dNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVNVPROC __glewVertexAttrib3dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FNVPROC __glewVertexAttrib3fNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVNVPROC __glewVertexAttrib3fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SNVPROC __glewVertexAttrib3sNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVNVPROC __glewVertexAttrib3svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DNVPROC __glewVertexAttrib4dNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVNVPROC __glewVertexAttrib4dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FNVPROC __glewVertexAttrib4fNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVNVPROC __glewVertexAttrib4fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SNVPROC __glewVertexAttrib4sNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVNVPROC __glewVertexAttrib4svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBNVPROC __glewVertexAttrib4ubNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVNVPROC __glewVertexAttrib4ubvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERNVPROC __glewVertexAttribPointerNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1DVNVPROC __glewVertexAttribs1dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1FVNVPROC __glewVertexAttribs1fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1SVNVPROC __glewVertexAttribs1svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2DVNVPROC __glewVertexAttribs2dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2FVNVPROC __glewVertexAttribs2fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2SVNVPROC __glewVertexAttribs2svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3DVNVPROC __glewVertexAttribs3dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3FVNVPROC __glewVertexAttribs3fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3SVNVPROC __glewVertexAttribs3svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4DVNVPROC __glewVertexAttribs4dvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4FVNVPROC __glewVertexAttribs4fvNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4SVNVPROC __glewVertexAttribs4svNV; +GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4UBVNVPROC __glewVertexAttribs4ubvNV; + +GLEW_FUN_EXPORT PFNGLBEGINVIDEOCAPTURENVPROC __glewBeginVideoCaptureNV; +GLEW_FUN_EXPORT PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC __glewBindVideoCaptureStreamBufferNV; +GLEW_FUN_EXPORT PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC __glewBindVideoCaptureStreamTextureNV; +GLEW_FUN_EXPORT PFNGLENDVIDEOCAPTURENVPROC __glewEndVideoCaptureNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTURESTREAMDVNVPROC __glewGetVideoCaptureStreamdvNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTURESTREAMFVNVPROC __glewGetVideoCaptureStreamfvNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTURESTREAMIVNVPROC __glewGetVideoCaptureStreamivNV; +GLEW_FUN_EXPORT PFNGLGETVIDEOCAPTUREIVNVPROC __glewGetVideoCaptureivNV; +GLEW_FUN_EXPORT PFNGLVIDEOCAPTURENVPROC __glewVideoCaptureNV; +GLEW_FUN_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC __glewVideoCaptureStreamParameterdvNV; +GLEW_FUN_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC __glewVideoCaptureStreamParameterfvNV; +GLEW_FUN_EXPORT PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC __glewVideoCaptureStreamParameterivNV; + +GLEW_FUN_EXPORT PFNGLCLEARDEPTHFOESPROC __glewClearDepthfOES; +GLEW_FUN_EXPORT PFNGLCLIPPLANEFOESPROC __glewClipPlanefOES; +GLEW_FUN_EXPORT PFNGLDEPTHRANGEFOESPROC __glewDepthRangefOES; +GLEW_FUN_EXPORT PFNGLFRUSTUMFOESPROC __glewFrustumfOES; +GLEW_FUN_EXPORT PFNGLGETCLIPPLANEFOESPROC __glewGetClipPlanefOES; +GLEW_FUN_EXPORT PFNGLORTHOFOESPROC __glewOrthofOES; + +GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC __glewFramebufferTextureMultiviewOVR; + +GLEW_FUN_EXPORT PFNGLALPHAFUNCXPROC __glewAlphaFuncx; +GLEW_FUN_EXPORT PFNGLCLEARCOLORXPROC __glewClearColorx; +GLEW_FUN_EXPORT PFNGLCLEARDEPTHXPROC __glewClearDepthx; +GLEW_FUN_EXPORT PFNGLCOLOR4XPROC __glewColor4x; +GLEW_FUN_EXPORT PFNGLDEPTHRANGEXPROC __glewDepthRangex; +GLEW_FUN_EXPORT PFNGLFOGXPROC __glewFogx; +GLEW_FUN_EXPORT PFNGLFOGXVPROC __glewFogxv; +GLEW_FUN_EXPORT PFNGLFRUSTUMFPROC __glewFrustumf; +GLEW_FUN_EXPORT PFNGLFRUSTUMXPROC __glewFrustumx; +GLEW_FUN_EXPORT PFNGLLIGHTMODELXPROC __glewLightModelx; +GLEW_FUN_EXPORT PFNGLLIGHTMODELXVPROC __glewLightModelxv; +GLEW_FUN_EXPORT PFNGLLIGHTXPROC __glewLightx; +GLEW_FUN_EXPORT PFNGLLIGHTXVPROC __glewLightxv; +GLEW_FUN_EXPORT PFNGLLINEWIDTHXPROC __glewLineWidthx; +GLEW_FUN_EXPORT PFNGLLOADMATRIXXPROC __glewLoadMatrixx; +GLEW_FUN_EXPORT PFNGLMATERIALXPROC __glewMaterialx; +GLEW_FUN_EXPORT PFNGLMATERIALXVPROC __glewMaterialxv; +GLEW_FUN_EXPORT PFNGLMULTMATRIXXPROC __glewMultMatrixx; +GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4XPROC __glewMultiTexCoord4x; +GLEW_FUN_EXPORT PFNGLNORMAL3XPROC __glewNormal3x; +GLEW_FUN_EXPORT PFNGLORTHOFPROC __glewOrthof; +GLEW_FUN_EXPORT PFNGLORTHOXPROC __glewOrthox; +GLEW_FUN_EXPORT PFNGLPOINTSIZEXPROC __glewPointSizex; +GLEW_FUN_EXPORT PFNGLPOLYGONOFFSETXPROC __glewPolygonOffsetx; +GLEW_FUN_EXPORT PFNGLROTATEXPROC __glewRotatex; +GLEW_FUN_EXPORT PFNGLSAMPLECOVERAGEXPROC __glewSampleCoveragex; +GLEW_FUN_EXPORT PFNGLSCALEXPROC __glewScalex; +GLEW_FUN_EXPORT PFNGLTEXENVXPROC __glewTexEnvx; +GLEW_FUN_EXPORT PFNGLTEXENVXVPROC __glewTexEnvxv; +GLEW_FUN_EXPORT PFNGLTEXPARAMETERXPROC __glewTexParameterx; +GLEW_FUN_EXPORT PFNGLTRANSLATEXPROC __glewTranslatex; + +GLEW_FUN_EXPORT PFNGLCLIPPLANEFPROC __glewClipPlanef; +GLEW_FUN_EXPORT PFNGLCLIPPLANEXPROC __glewClipPlanex; +GLEW_FUN_EXPORT PFNGLGETCLIPPLANEFPROC __glewGetClipPlanef; +GLEW_FUN_EXPORT PFNGLGETCLIPPLANEXPROC __glewGetClipPlanex; +GLEW_FUN_EXPORT PFNGLGETFIXEDVPROC __glewGetFixedv; +GLEW_FUN_EXPORT PFNGLGETLIGHTXVPROC __glewGetLightxv; +GLEW_FUN_EXPORT PFNGLGETMATERIALXVPROC __glewGetMaterialxv; +GLEW_FUN_EXPORT PFNGLGETTEXENVXVPROC __glewGetTexEnvxv; +GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERXVPROC __glewGetTexParameterxv; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERXPROC __glewPointParameterx; +GLEW_FUN_EXPORT PFNGLPOINTPARAMETERXVPROC __glewPointParameterxv; +GLEW_FUN_EXPORT PFNGLPOINTSIZEPOINTEROESPROC __glewPointSizePointerOES; +GLEW_FUN_EXPORT PFNGLTEXPARAMETERXVPROC __glewTexParameterxv; + +GLEW_FUN_EXPORT PFNGLERRORSTRINGREGALPROC __glewErrorStringREGAL; + +GLEW_FUN_EXPORT PFNGLGETEXTENSIONREGALPROC __glewGetExtensionREGAL; +GLEW_FUN_EXPORT PFNGLISSUPPORTEDREGALPROC __glewIsSupportedREGAL; + +GLEW_FUN_EXPORT PFNGLLOGMESSAGECALLBACKREGALPROC __glewLogMessageCallbackREGAL; + +GLEW_FUN_EXPORT PFNGLGETPROCADDRESSREGALPROC __glewGetProcAddressREGAL; + +GLEW_FUN_EXPORT PFNGLDETAILTEXFUNCSGISPROC __glewDetailTexFuncSGIS; +GLEW_FUN_EXPORT PFNGLGETDETAILTEXFUNCSGISPROC __glewGetDetailTexFuncSGIS; + +GLEW_FUN_EXPORT PFNGLFOGFUNCSGISPROC __glewFogFuncSGIS; +GLEW_FUN_EXPORT PFNGLGETFOGFUNCSGISPROC __glewGetFogFuncSGIS; + +GLEW_FUN_EXPORT PFNGLSAMPLEMASKSGISPROC __glewSampleMaskSGIS; +GLEW_FUN_EXPORT PFNGLSAMPLEPATTERNSGISPROC __glewSamplePatternSGIS; + +GLEW_FUN_EXPORT PFNGLGETSHARPENTEXFUNCSGISPROC __glewGetSharpenTexFuncSGIS; +GLEW_FUN_EXPORT PFNGLSHARPENTEXFUNCSGISPROC __glewSharpenTexFuncSGIS; + +GLEW_FUN_EXPORT PFNGLTEXIMAGE4DSGISPROC __glewTexImage4DSGIS; +GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE4DSGISPROC __glewTexSubImage4DSGIS; + +GLEW_FUN_EXPORT PFNGLGETTEXFILTERFUNCSGISPROC __glewGetTexFilterFuncSGIS; +GLEW_FUN_EXPORT PFNGLTEXFILTERFUNCSGISPROC __glewTexFilterFuncSGIS; + +GLEW_FUN_EXPORT PFNGLASYNCMARKERSGIXPROC __glewAsyncMarkerSGIX; +GLEW_FUN_EXPORT PFNGLDELETEASYNCMARKERSSGIXPROC __glewDeleteAsyncMarkersSGIX; +GLEW_FUN_EXPORT PFNGLFINISHASYNCSGIXPROC __glewFinishAsyncSGIX; +GLEW_FUN_EXPORT PFNGLGENASYNCMARKERSSGIXPROC __glewGenAsyncMarkersSGIX; +GLEW_FUN_EXPORT PFNGLISASYNCMARKERSGIXPROC __glewIsAsyncMarkerSGIX; +GLEW_FUN_EXPORT PFNGLPOLLASYNCSGIXPROC __glewPollAsyncSGIX; + +GLEW_FUN_EXPORT PFNGLFLUSHRASTERSGIXPROC __glewFlushRasterSGIX; + +GLEW_FUN_EXPORT PFNGLTEXTUREFOGSGIXPROC __glewTextureFogSGIX; + +GLEW_FUN_EXPORT PFNGLFRAGMENTCOLORMATERIALSGIXPROC __glewFragmentColorMaterialSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFSGIXPROC __glewFragmentLightModelfSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFVSGIXPROC __glewFragmentLightModelfvSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELISGIXPROC __glewFragmentLightModeliSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIVSGIXPROC __glewFragmentLightModelivSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFSGIXPROC __glewFragmentLightfSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFVSGIXPROC __glewFragmentLightfvSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTISGIXPROC __glewFragmentLightiSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIVSGIXPROC __glewFragmentLightivSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFSGIXPROC __glewFragmentMaterialfSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFVSGIXPROC __glewFragmentMaterialfvSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALISGIXPROC __glewFragmentMaterialiSGIX; +GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIVSGIXPROC __glewFragmentMaterialivSGIX; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTFVSGIXPROC __glewGetFragmentLightfvSGIX; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTIVSGIXPROC __glewGetFragmentLightivSGIX; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALFVSGIXPROC __glewGetFragmentMaterialfvSGIX; +GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALIVSGIXPROC __glewGetFragmentMaterialivSGIX; + +GLEW_FUN_EXPORT PFNGLFRAMEZOOMSGIXPROC __glewFrameZoomSGIX; + +GLEW_FUN_EXPORT PFNGLPIXELTEXGENSGIXPROC __glewPixelTexGenSGIX; + +GLEW_FUN_EXPORT PFNGLREFERENCEPLANESGIXPROC __glewReferencePlaneSGIX; + +GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERFSGIXPROC __glewSpriteParameterfSGIX; +GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERFVSGIXPROC __glewSpriteParameterfvSGIX; +GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERISGIXPROC __glewSpriteParameteriSGIX; +GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERIVSGIXPROC __glewSpriteParameterivSGIX; + +GLEW_FUN_EXPORT PFNGLTAGSAMPLEBUFFERSGIXPROC __glewTagSampleBufferSGIX; + +GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERFVSGIPROC __glewColorTableParameterfvSGI; +GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERIVSGIPROC __glewColorTableParameterivSGI; +GLEW_FUN_EXPORT PFNGLCOLORTABLESGIPROC __glewColorTableSGI; +GLEW_FUN_EXPORT PFNGLCOPYCOLORTABLESGIPROC __glewCopyColorTableSGI; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVSGIPROC __glewGetColorTableParameterfvSGI; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVSGIPROC __glewGetColorTableParameterivSGI; +GLEW_FUN_EXPORT PFNGLGETCOLORTABLESGIPROC __glewGetColorTableSGI; + +GLEW_FUN_EXPORT PFNGLFINISHTEXTURESUNXPROC __glewFinishTextureSUNX; + +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORBSUNPROC __glewGlobalAlphaFactorbSUN; +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORDSUNPROC __glewGlobalAlphaFactordSUN; +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORFSUNPROC __glewGlobalAlphaFactorfSUN; +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORISUNPROC __glewGlobalAlphaFactoriSUN; +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORSSUNPROC __glewGlobalAlphaFactorsSUN; +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUBSUNPROC __glewGlobalAlphaFactorubSUN; +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUISUNPROC __glewGlobalAlphaFactoruiSUN; +GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUSSUNPROC __glewGlobalAlphaFactorusSUN; + +GLEW_FUN_EXPORT PFNGLREADVIDEOPIXELSSUNPROC __glewReadVideoPixelsSUN; + +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEPOINTERSUNPROC __glewReplacementCodePointerSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUBSUNPROC __glewReplacementCodeubSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUBVSUNPROC __glewReplacementCodeubvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUISUNPROC __glewReplacementCodeuiSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVSUNPROC __glewReplacementCodeuivSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUSSUNPROC __glewReplacementCodeusSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUSVSUNPROC __glewReplacementCodeusvSUN; + +GLEW_FUN_EXPORT PFNGLCOLOR3FVERTEX3FSUNPROC __glewColor3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLCOLOR3FVERTEX3FVSUNPROC __glewColor3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewColor4fNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewColor4fNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX2FSUNPROC __glewColor4ubVertex2fSUN; +GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX2FVSUNPROC __glewColor4ubVertex2fvSUN; +GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX3FSUNPROC __glewColor4ubVertex3fSUN; +GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX3FVSUNPROC __glewColor4ubVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLNORMAL3FVERTEX3FSUNPROC __glewNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLNORMAL3FVERTEX3FVSUNPROC __glewNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC __glewReplacementCodeuiColor3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC __glewReplacementCodeuiColor4ubVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC __glewReplacementCodeuiColor4ubVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC __glewReplacementCodeuiVertex3fSUN; +GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC __glewReplacementCodeuiVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC __glewTexCoord2fColor3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC __glewTexCoord2fColor3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC __glewTexCoord2fColor4ubVertex3fSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC __glewTexCoord2fColor4ubVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fNormal3fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fNormal3fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FVERTEX3FSUNPROC __glewTexCoord2fVertex3fSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD2FVERTEX3FVSUNPROC __glewTexCoord2fVertex3fvSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fvSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD4FVERTEX4FSUNPROC __glewTexCoord4fVertex4fSUN; +GLEW_FUN_EXPORT PFNGLTEXCOORD4FVERTEX4FVSUNPROC __glewTexCoord4fVertex4fvSUN; + +GLEW_FUN_EXPORT PFNGLADDSWAPHINTRECTWINPROC __glewAddSwapHintRectWIN; + +#if defined(GLEW_MX) && !defined(_WIN32) +struct GLEWContextStruct +{ +#endif /* GLEW_MX */ + +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_1; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2_1; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_3; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_4; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_5; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_0; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_1; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_0; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_1; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_2; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_3; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_0; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_1; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_2; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_3; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_4; +GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_5; +GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_tbuffer; +GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_texture_compression_FXT1; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_blend_minmax_factor; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_conservative_depth; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_debug_output; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_depth_clamp_separate; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_draw_buffers_blend; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_gcn_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_gpu_shader_int64; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_interleaved_elements; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_multi_draw_indirect; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_name_gen_delete; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_occlusion_query_event; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_performance_monitor; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_pinned_memory; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_query_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_sample_positions; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_seamless_cubemap_per_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_atomic_counter_ops; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_stencil_export; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_stencil_value_export; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_trinary_minmax; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_sparse_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_stencil_operation_extended; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_texture_texture4; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_transform_feedback3_lines_triangles; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_transform_feedback4; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_vertex_shader_layer; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_vertex_shader_tessellator; +GLEW_VAR_EXPORT GLboolean __GLEW_AMD_vertex_shader_viewport_index; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_depth_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_framebuffer_blit; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_framebuffer_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_instanced_arrays; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_pack_reverse_row_order; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_program_binary; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_texture_compression_dxt1; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_texture_compression_dxt3; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_texture_compression_dxt5; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_texture_usage; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_timer_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ANGLE_translated_shader_source; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_aux_depth_stencil; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_client_storage; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_element_array; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_fence; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_float_pixels; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_flush_buffer_range; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_object_purgeable; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_pixel_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_rgb_422; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_row_bytes; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_specular_vector; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_texture_range; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_transform_hint; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_array_object; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_array_range; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_program_evaluators; +GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_ycbcr_422; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_ES2_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_ES3_1_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_ES3_2_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_ES3_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_arrays_of_arrays; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_base_instance; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_bindless_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_blend_func_extended; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_buffer_storage; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_cl_event; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_clear_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_clear_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_clip_control; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_color_buffer_float; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compressed_texture_pixel_storage; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compute_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compute_variable_group_size; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_conditional_render_inverted; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_conservative_depth; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_copy_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_copy_image; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_cull_distance; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_debug_output; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_buffer_float; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_derivative_control; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_direct_state_access; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_buffers; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_buffers_blend; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_elements_base_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_indirect; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_instanced; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_enhanced_layouts; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_explicit_attrib_location; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_explicit_uniform_location; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_coord_conventions; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_layer_viewport; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_program; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_program_shadow; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_shader_interlock; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_no_attachments; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_sRGB; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_geometry_shader4; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_get_program_binary; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_get_texture_sub_image; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_gpu_shader5; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_gpu_shader_fp64; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_gpu_shader_int64; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_half_float_pixel; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_half_float_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_imaging; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_indirect_parameters; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_instanced_arrays; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_internalformat_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_internalformat_query2; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_invalidate_subdata; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_map_buffer_alignment; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_map_buffer_range; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_matrix_palette; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multi_bind; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multi_draw_indirect; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multitexture; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_occlusion_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_occlusion_query2; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_parallel_shader_compile; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_pipeline_statistics_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_pixel_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_parameters; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_sprite; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_post_depth_coverage; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_program_interface_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_provoking_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_query_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_robust_buffer_access_behavior; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_robustness; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_robustness_application_isolation; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_robustness_share_group_isolation; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sample_locations; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sample_shading; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sampler_objects; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_seamless_cube_map; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_seamless_cubemap_per_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_separate_shader_objects; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_atomic_counter_ops; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_atomic_counters; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_ballot; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_bit_encoding; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_clock; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_draw_parameters; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_group_vote; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_image_load_store; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_image_size; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_objects; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_precision; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_stencil_export; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_storage_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_subroutine; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_texture_image_samples; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_texture_lod; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_viewport_layer_array; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_100; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_420pack; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_include; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_packing; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shadow; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shadow_ambient; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sparse_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sparse_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sparse_texture2; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sparse_texture_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_stencil_texturing; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sync; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_tessellation_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_barrier; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_border_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_object_rgb32; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_range; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression_bptc; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression_rgtc; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_cube_map; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_cube_map_array; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_add; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_combine; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_crossbar; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_dot3; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_filter_minmax; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_float; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_gather; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_mirror_clamp_to_edge; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_mirrored_repeat; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_non_power_of_two; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_query_levels; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_query_lod; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rectangle; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rg; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rgb10_a2ui; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_stencil8; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_storage; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_storage_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_swizzle; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_view; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_timer_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback2; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback3; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback_instanced; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback_overflow_query; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transpose_matrix; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_uniform_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_array_bgra; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_array_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_attrib_64bit; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_attrib_binding; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_blend; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_program; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_type_10f_11f_11f_rev; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_type_2_10_10_10_rev; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_viewport_array; +GLEW_VAR_EXPORT GLboolean __GLEW_ARB_window_pos; +GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_point_sprites; +GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_texture_env_combine3; +GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_texture_env_route; +GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_vertex_shader_output_point_size; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_draw_buffers; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_element_array; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_envmap_bumpmap; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_fragment_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_map_object_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_meminfo; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_pn_triangles; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_separate_stencil; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_shader_texture_lod; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_text_fragment_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_compression_3dc; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_env_combine3; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_float; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_mirror_once; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_array_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_attrib_array_object; +GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_streams; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_422_pixels; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_Cg_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_abgr; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_bgra; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_bindable_uniform; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_color; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_equation_separate; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_func_separate; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_logic_op; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_minmax; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_subtract; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_clip_volume_hint; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_cmyka; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_color_subtable; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_compiled_vertex_array; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_convolution; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_coordinate_frame; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_copy_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_cull_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_debug_label; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_debug_marker; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_depth_bounds_test; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_direct_state_access; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_buffers2; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_instanced; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_range_elements; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fog_coord; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fragment_lighting; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_blit; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_multisample_blit_scaled; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_sRGB; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_geometry_shader4; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_gpu_program_parameters; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_gpu_shader4; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_histogram; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_array_formats; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_func; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_material; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_light_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_misc_attribute; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multi_draw_arrays; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_depth_stencil; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_float; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_pixels; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_paletted_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_transform; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_transform_color_table; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_point_parameters; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_polygon_offset; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_polygon_offset_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_post_depth_coverage; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_provoking_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_raster_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_rescale_normal; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_scene_marker; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_secondary_color; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_separate_shader_objects; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_separate_specular_color; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_image_load_formatted; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_image_load_store; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_integer_mix; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shadow_funcs; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shared_texture_palette; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_sparse_texture2; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_clear_tag; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_two_side; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_wrap; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_subtexture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture3D; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_array; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_dxt1; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_latc; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_rgtc; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_s3tc; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_cube_map; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_edge_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_add; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_combine; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_dot3; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_filter_anisotropic; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_filter_minmax; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_integer; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_lod_bias; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_mirror_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_object; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_perturb_normal; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_rectangle; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_sRGB; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_sRGB_decode; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_shared_exponent; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_snorm; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_swizzle; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_timer_query; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_transform_feedback; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array_bgra; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_attrib_64bit; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_weighting; +GLEW_VAR_EXPORT GLboolean __GLEW_EXT_x11_sync_object; +GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_frame_terminator; +GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_string_marker; +GLEW_VAR_EXPORT GLboolean __GLEW_HP_convolution_border_modes; +GLEW_VAR_EXPORT GLboolean __GLEW_HP_image_transform; +GLEW_VAR_EXPORT GLboolean __GLEW_HP_occlusion_test; +GLEW_VAR_EXPORT GLboolean __GLEW_HP_texture_lighting; +GLEW_VAR_EXPORT GLboolean __GLEW_IBM_cull_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_IBM_multimode_draw_arrays; +GLEW_VAR_EXPORT GLboolean __GLEW_IBM_rasterpos_clip; +GLEW_VAR_EXPORT GLboolean __GLEW_IBM_static_data; +GLEW_VAR_EXPORT GLboolean __GLEW_IBM_texture_mirrored_repeat; +GLEW_VAR_EXPORT GLboolean __GLEW_IBM_vertex_array_lists; +GLEW_VAR_EXPORT GLboolean __GLEW_INGR_color_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_INGR_interlace_read; +GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_fragment_shader_ordering; +GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_framebuffer_CMAA; +GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_map_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_parallel_arrays; +GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_performance_query; +GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_texture_scissor; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_blend_equation_advanced; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_blend_equation_advanced_coherent; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_context_flush_control; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_debug; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_no_error; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_robust_buffer_access_behavior; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_robustness; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_texture_compression_astc_hdr; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_texture_compression_astc_ldr; +GLEW_VAR_EXPORT GLboolean __GLEW_KHR_texture_compression_astc_sliced_3d; +GLEW_VAR_EXPORT GLboolean __GLEW_KTX_buffer_region; +GLEW_VAR_EXPORT GLboolean __GLEW_MESAX_texture_stack; +GLEW_VAR_EXPORT GLboolean __GLEW_MESA_pack_invert; +GLEW_VAR_EXPORT GLboolean __GLEW_MESA_resize_buffers; +GLEW_VAR_EXPORT GLboolean __GLEW_MESA_window_pos; +GLEW_VAR_EXPORT GLboolean __GLEW_MESA_ycbcr_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_NVX_conditional_render; +GLEW_VAR_EXPORT GLboolean __GLEW_NVX_gpu_memory_info; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_bindless_multi_draw_indirect; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_bindless_multi_draw_indirect_count; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_bindless_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_blend_equation_advanced; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_blend_equation_advanced_coherent; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_blend_square; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_compute_program5; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_conditional_render; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_conservative_raster; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_conservative_raster_dilate; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_copy_depth_to_color; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_copy_image; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_deep_texture3D; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_buffer_float; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_range_unclamped; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_draw_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_evaluators; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_explicit_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fence; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fill_rectangle; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_float_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fog_distance; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_coverage_to_color; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program4; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program_option; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_shader_interlock; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_framebuffer_mixed_samples; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_framebuffer_multisample_coverage; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_program4; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_shader4; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_shader_passthrough; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program4; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program5; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program5_mem_extended; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program_fp64; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_shader5; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_half_float; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_internalformat_sample_query; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_light_max_exponent; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_multisample_coverage; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_multisample_filter_hint; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_occlusion_query; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_packed_depth_stencil; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_parameter_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_parameter_buffer_object2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_path_rendering; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_path_rendering_shared_edge; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_pixel_data_range; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_point_sprite; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_present_video; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_primitive_restart; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_register_combiners; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_register_combiners2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_sample_locations; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_sample_mask_override_coverage; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_atomic_counters; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_atomic_float; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_atomic_fp16_vector; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_atomic_int64; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_buffer_load; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_storage_buffer_object; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_thread_group; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_thread_shuffle; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_tessellation_program5; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texgen_emboss; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texgen_reflection; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_barrier; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_compression_vtc; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_env_combine4; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_expand_normal; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_rectangle; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader3; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_transform_feedback; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_transform_feedback2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_uniform_buffer_unified_memory; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vdpau_interop; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_attrib_integer_64bit; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_buffer_unified_memory; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program1_1; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2_option; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program3; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program4; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_video_capture; +GLEW_VAR_EXPORT GLboolean __GLEW_NV_viewport_array2; +GLEW_VAR_EXPORT GLboolean __GLEW_OES_byte_coordinates; +GLEW_VAR_EXPORT GLboolean __GLEW_OES_compressed_paletted_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_OES_read_format; +GLEW_VAR_EXPORT GLboolean __GLEW_OES_single_precision; +GLEW_VAR_EXPORT GLboolean __GLEW_OML_interlace; +GLEW_VAR_EXPORT GLboolean __GLEW_OML_resample; +GLEW_VAR_EXPORT GLboolean __GLEW_OML_subsample; +GLEW_VAR_EXPORT GLboolean __GLEW_OVR_multiview; +GLEW_VAR_EXPORT GLboolean __GLEW_OVR_multiview2; +GLEW_VAR_EXPORT GLboolean __GLEW_PGI_misc_hints; +GLEW_VAR_EXPORT GLboolean __GLEW_PGI_vertex_hints; +GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_ES1_0_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_ES1_1_compatibility; +GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_enable; +GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_error_string; +GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_extension_query; +GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_log; +GLEW_VAR_EXPORT GLboolean __GLEW_REGAL_proc_address; +GLEW_VAR_EXPORT GLboolean __GLEW_REND_screen_coordinates; +GLEW_VAR_EXPORT GLboolean __GLEW_S3_s3tc; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_color_range; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_detail_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_fog_function; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_generate_mipmap; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_multisample; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_pixel_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_point_line_texgen; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_sharpen_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture4D; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_border_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_edge_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_filter4; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_lod; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_select; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async_histogram; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async_pixel; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_blend_alpha_minmax; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_clipmap; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_convolution_accuracy; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_depth_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_flush_raster; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_offset; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fragment_specular_lighting; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_framezoom; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_interlace; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_ir_instrument1; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_list_priority; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_pixel_texture; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_pixel_texture_bits; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_reference_plane; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_resample; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_shadow; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_shadow_ambient; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_sprite; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_tag_sample_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_add_env; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_coordinate_clamp; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_lod_bias; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_multi_buffer; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_range; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_scale_bias; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_vertex_preclip; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_vertex_preclip_hint; +GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_ycrcb; +GLEW_VAR_EXPORT GLboolean __GLEW_SGI_color_matrix; +GLEW_VAR_EXPORT GLboolean __GLEW_SGI_color_table; +GLEW_VAR_EXPORT GLboolean __GLEW_SGI_texture_color_table; +GLEW_VAR_EXPORT GLboolean __GLEW_SUNX_constant_data; +GLEW_VAR_EXPORT GLboolean __GLEW_SUN_convolution_border_modes; +GLEW_VAR_EXPORT GLboolean __GLEW_SUN_global_alpha; +GLEW_VAR_EXPORT GLboolean __GLEW_SUN_mesh_array; +GLEW_VAR_EXPORT GLboolean __GLEW_SUN_read_video_pixels; +GLEW_VAR_EXPORT GLboolean __GLEW_SUN_slice_accum; +GLEW_VAR_EXPORT GLboolean __GLEW_SUN_triangle_list; +GLEW_VAR_EXPORT GLboolean __GLEW_SUN_vertex; +GLEW_VAR_EXPORT GLboolean __GLEW_WIN_phong_shading; +GLEW_VAR_EXPORT GLboolean __GLEW_WIN_specular_fog; +GLEW_VAR_EXPORT GLboolean __GLEW_WIN_swap_hint; + +#ifdef GLEW_MX +}; /* GLEWContextStruct */ +#endif /* GLEW_MX */ + +/* ------------------------------------------------------------------------- */ + +/* error codes */ +#define GLEW_OK 0 +#define GLEW_NO_ERROR 0 +#define GLEW_ERROR_NO_GL_VERSION 1 /* missing GL version */ +#define GLEW_ERROR_GL_VERSION_10_ONLY 2 /* Need at least OpenGL 1.1 */ +#define GLEW_ERROR_GLX_VERSION_11_ONLY 3 /* Need at least GLX 1.2 */ + +/* string codes */ +#define GLEW_VERSION 1 +#define GLEW_VERSION_MAJOR 2 +#define GLEW_VERSION_MINOR 3 +#define GLEW_VERSION_MICRO 4 + +/* ------------------------------------------------------------------------- */ + +/* GLEW version info */ + +/* +VERSION 1.13.0 +VERSION_MAJOR 1 +VERSION_MINOR 13 +VERSION_MICRO 0 +*/ + +/* API */ +#ifdef GLEW_MX + +typedef struct GLEWContextStruct GLEWContext; +GLEWAPI GLenum GLEWAPIENTRY glewContextInit (GLEWContext *ctx); +GLEWAPI GLboolean GLEWAPIENTRY glewContextIsSupported (const GLEWContext *ctx, const char *name); + +#define glewInit() glewContextInit(glewGetContext()) +#define glewIsSupported(x) glewContextIsSupported(glewGetContext(), x) +#define glewIsExtensionSupported(x) glewIsSupported(x) + +#define GLEW_GET_VAR(x) (*(const GLboolean*)&(glewGetContext()->x)) +#ifdef _WIN32 +# define GLEW_GET_FUN(x) glewGetContext()->x +#else +# define GLEW_GET_FUN(x) x +#endif + +#else /* GLEW_MX */ + +GLEWAPI GLenum GLEWAPIENTRY glewInit (void); +GLEWAPI GLboolean GLEWAPIENTRY glewIsSupported (const char *name); +#define glewIsExtensionSupported(x) glewIsSupported(x) + +#define GLEW_GET_VAR(x) (*(const GLboolean*)&x) +#define GLEW_GET_FUN(x) x + +#endif /* GLEW_MX */ + +GLEWAPI GLboolean glewExperimental; +GLEWAPI GLboolean GLEWAPIENTRY glewGetExtension (const char *name); +GLEWAPI const GLubyte * GLEWAPIENTRY glewGetErrorString (GLenum error); +GLEWAPI const GLubyte * GLEWAPIENTRY glewGetString (GLenum name); + +#ifdef __cplusplus +} +#endif + +#ifdef GLEW_APIENTRY_DEFINED +#undef GLEW_APIENTRY_DEFINED +#undef APIENTRY +#endif + +#ifdef GLEW_CALLBACK_DEFINED +#undef GLEW_CALLBACK_DEFINED +#undef CALLBACK +#endif + +#ifdef GLEW_WINGDIAPI_DEFINED +#undef GLEW_WINGDIAPI_DEFINED +#undef WINGDIAPI +#endif + +#undef GLAPI +/* #undef GLEWAPI */ + +#endif /* __glew_h__ */ diff --git a/externals/glew-linux/include/GL/glxew.h b/externals/glew-linux/include/GL/glxew.h new file mode 100644 index 000000000..d803d260b --- /dev/null +++ b/externals/glew-linux/include/GL/glxew.h @@ -0,0 +1,1772 @@ +/* +** The OpenGL Extension Wrangler Library +** Copyright (C) 2008-2015, Nigel Stewart +** Copyright (C) 2002-2008, Milan Ikits +** Copyright (C) 2002-2008, Marcelo E. Magallon +** Copyright (C) 2002, Lev Povalahev +** All rights reserved. +** +** Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are met: +** +** * Redistributions of source code must retain the above copyright notice, +** this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright notice, +** this list of conditions and the following disclaimer in the documentation +** and/or other materials provided with the distribution. +** * The name of the author may be used to endorse or promote products +** derived from this software without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +** THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + * Mesa 3-D graphics library + * Version: 7.0 + * + * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/* +** Copyright (c) 2007 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +#ifndef __glxew_h__ +#define __glxew_h__ +#define __GLXEW_H__ + +#ifdef __glxext_h_ +#error glxext.h included before glxew.h +#endif + +#if defined(GLX_H) || defined(__GLX_glx_h__) || defined(__glx_h__) +#error glx.h included before glxew.h +#endif + +#define __glxext_h_ + +#define GLX_H +#define __GLX_glx_h__ +#define __glx_h__ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ---------------------------- GLX_VERSION_1_0 --------------------------- */ + +#ifndef GLX_VERSION_1_0 +#define GLX_VERSION_1_0 1 + +#define GLX_USE_GL 1 +#define GLX_BUFFER_SIZE 2 +#define GLX_LEVEL 3 +#define GLX_RGBA 4 +#define GLX_DOUBLEBUFFER 5 +#define GLX_STEREO 6 +#define GLX_AUX_BUFFERS 7 +#define GLX_RED_SIZE 8 +#define GLX_GREEN_SIZE 9 +#define GLX_BLUE_SIZE 10 +#define GLX_ALPHA_SIZE 11 +#define GLX_DEPTH_SIZE 12 +#define GLX_STENCIL_SIZE 13 +#define GLX_ACCUM_RED_SIZE 14 +#define GLX_ACCUM_GREEN_SIZE 15 +#define GLX_ACCUM_BLUE_SIZE 16 +#define GLX_ACCUM_ALPHA_SIZE 17 +#define GLX_BAD_SCREEN 1 +#define GLX_BAD_ATTRIBUTE 2 +#define GLX_NO_EXTENSION 3 +#define GLX_BAD_VISUAL 4 +#define GLX_BAD_CONTEXT 5 +#define GLX_BAD_VALUE 6 +#define GLX_BAD_ENUM 7 + +typedef XID GLXDrawable; +typedef XID GLXPixmap; +#ifdef __sun +typedef struct __glXContextRec *GLXContext; +#else +typedef struct __GLXcontextRec *GLXContext; +#endif + +typedef unsigned int GLXVideoDeviceNV; + +extern Bool glXQueryExtension (Display *dpy, int *errorBase, int *eventBase); +extern Bool glXQueryVersion (Display *dpy, int *major, int *minor); +extern int glXGetConfig (Display *dpy, XVisualInfo *vis, int attrib, int *value); +extern XVisualInfo* glXChooseVisual (Display *dpy, int screen, int *attribList); +extern GLXPixmap glXCreateGLXPixmap (Display *dpy, XVisualInfo *vis, Pixmap pixmap); +extern void glXDestroyGLXPixmap (Display *dpy, GLXPixmap pix); +extern GLXContext glXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct); +extern void glXDestroyContext (Display *dpy, GLXContext ctx); +extern Bool glXIsDirect (Display *dpy, GLXContext ctx); +extern void glXCopyContext (Display *dpy, GLXContext src, GLXContext dst, GLulong mask); +extern Bool glXMakeCurrent (Display *dpy, GLXDrawable drawable, GLXContext ctx); +extern GLXContext glXGetCurrentContext (void); +extern GLXDrawable glXGetCurrentDrawable (void); +extern void glXWaitGL (void); +extern void glXWaitX (void); +extern void glXSwapBuffers (Display *dpy, GLXDrawable drawable); +extern void glXUseXFont (Font font, int first, int count, int listBase); + +#define GLXEW_VERSION_1_0 GLXEW_GET_VAR(__GLXEW_VERSION_1_0) + +#endif /* GLX_VERSION_1_0 */ + +/* ---------------------------- GLX_VERSION_1_1 --------------------------- */ + +#ifndef GLX_VERSION_1_1 +#define GLX_VERSION_1_1 + +#define GLX_VENDOR 0x1 +#define GLX_VERSION 0x2 +#define GLX_EXTENSIONS 0x3 + +extern const char* glXQueryExtensionsString (Display *dpy, int screen); +extern const char* glXGetClientString (Display *dpy, int name); +extern const char* glXQueryServerString (Display *dpy, int screen, int name); + +#define GLXEW_VERSION_1_1 GLXEW_GET_VAR(__GLXEW_VERSION_1_1) + +#endif /* GLX_VERSION_1_1 */ + +/* ---------------------------- GLX_VERSION_1_2 ---------------------------- */ + +#ifndef GLX_VERSION_1_2 +#define GLX_VERSION_1_2 1 + +typedef Display* ( * PFNGLXGETCURRENTDISPLAYPROC) (void); + +#define glXGetCurrentDisplay GLXEW_GET_FUN(__glewXGetCurrentDisplay) + +#define GLXEW_VERSION_1_2 GLXEW_GET_VAR(__GLXEW_VERSION_1_2) + +#endif /* GLX_VERSION_1_2 */ + +/* ---------------------------- GLX_VERSION_1_3 ---------------------------- */ + +#ifndef GLX_VERSION_1_3 +#define GLX_VERSION_1_3 1 + +#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001 +#define GLX_RGBA_BIT 0x00000001 +#define GLX_WINDOW_BIT 0x00000001 +#define GLX_COLOR_INDEX_BIT 0x00000002 +#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002 +#define GLX_PIXMAP_BIT 0x00000002 +#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004 +#define GLX_PBUFFER_BIT 0x00000004 +#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008 +#define GLX_AUX_BUFFERS_BIT 0x00000010 +#define GLX_CONFIG_CAVEAT 0x20 +#define GLX_DEPTH_BUFFER_BIT 0x00000020 +#define GLX_X_VISUAL_TYPE 0x22 +#define GLX_TRANSPARENT_TYPE 0x23 +#define GLX_TRANSPARENT_INDEX_VALUE 0x24 +#define GLX_TRANSPARENT_RED_VALUE 0x25 +#define GLX_TRANSPARENT_GREEN_VALUE 0x26 +#define GLX_TRANSPARENT_BLUE_VALUE 0x27 +#define GLX_TRANSPARENT_ALPHA_VALUE 0x28 +#define GLX_STENCIL_BUFFER_BIT 0x00000040 +#define GLX_ACCUM_BUFFER_BIT 0x00000080 +#define GLX_NONE 0x8000 +#define GLX_SLOW_CONFIG 0x8001 +#define GLX_TRUE_COLOR 0x8002 +#define GLX_DIRECT_COLOR 0x8003 +#define GLX_PSEUDO_COLOR 0x8004 +#define GLX_STATIC_COLOR 0x8005 +#define GLX_GRAY_SCALE 0x8006 +#define GLX_STATIC_GRAY 0x8007 +#define GLX_TRANSPARENT_RGB 0x8008 +#define GLX_TRANSPARENT_INDEX 0x8009 +#define GLX_VISUAL_ID 0x800B +#define GLX_SCREEN 0x800C +#define GLX_NON_CONFORMANT_CONFIG 0x800D +#define GLX_DRAWABLE_TYPE 0x8010 +#define GLX_RENDER_TYPE 0x8011 +#define GLX_X_RENDERABLE 0x8012 +#define GLX_FBCONFIG_ID 0x8013 +#define GLX_RGBA_TYPE 0x8014 +#define GLX_COLOR_INDEX_TYPE 0x8015 +#define GLX_MAX_PBUFFER_WIDTH 0x8016 +#define GLX_MAX_PBUFFER_HEIGHT 0x8017 +#define GLX_MAX_PBUFFER_PIXELS 0x8018 +#define GLX_PRESERVED_CONTENTS 0x801B +#define GLX_LARGEST_PBUFFER 0x801C +#define GLX_WIDTH 0x801D +#define GLX_HEIGHT 0x801E +#define GLX_EVENT_MASK 0x801F +#define GLX_DAMAGED 0x8020 +#define GLX_SAVED 0x8021 +#define GLX_WINDOW 0x8022 +#define GLX_PBUFFER 0x8023 +#define GLX_PBUFFER_HEIGHT 0x8040 +#define GLX_PBUFFER_WIDTH 0x8041 +#define GLX_PBUFFER_CLOBBER_MASK 0x08000000 +#define GLX_DONT_CARE 0xFFFFFFFF + +typedef XID GLXFBConfigID; +typedef XID GLXPbuffer; +typedef XID GLXWindow; +typedef struct __GLXFBConfigRec *GLXFBConfig; + +typedef struct { + int event_type; + int draw_type; + unsigned long serial; + Bool send_event; + Display *display; + GLXDrawable drawable; + unsigned int buffer_mask; + unsigned int aux_buffer; + int x, y; + int width, height; + int count; +} GLXPbufferClobberEvent; +typedef union __GLXEvent { + GLXPbufferClobberEvent glxpbufferclobber; + long pad[24]; +} GLXEvent; + +typedef GLXFBConfig* ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements); +typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); +typedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list); +typedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list); +typedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list); +typedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf); +typedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap); +typedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win); +typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void); +typedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value); +typedef GLXFBConfig* ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements); +typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask); +typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config); +typedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx); +typedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value); +typedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value); +typedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask); + +#define glXChooseFBConfig GLXEW_GET_FUN(__glewXChooseFBConfig) +#define glXCreateNewContext GLXEW_GET_FUN(__glewXCreateNewContext) +#define glXCreatePbuffer GLXEW_GET_FUN(__glewXCreatePbuffer) +#define glXCreatePixmap GLXEW_GET_FUN(__glewXCreatePixmap) +#define glXCreateWindow GLXEW_GET_FUN(__glewXCreateWindow) +#define glXDestroyPbuffer GLXEW_GET_FUN(__glewXDestroyPbuffer) +#define glXDestroyPixmap GLXEW_GET_FUN(__glewXDestroyPixmap) +#define glXDestroyWindow GLXEW_GET_FUN(__glewXDestroyWindow) +#define glXGetCurrentReadDrawable GLXEW_GET_FUN(__glewXGetCurrentReadDrawable) +#define glXGetFBConfigAttrib GLXEW_GET_FUN(__glewXGetFBConfigAttrib) +#define glXGetFBConfigs GLXEW_GET_FUN(__glewXGetFBConfigs) +#define glXGetSelectedEvent GLXEW_GET_FUN(__glewXGetSelectedEvent) +#define glXGetVisualFromFBConfig GLXEW_GET_FUN(__glewXGetVisualFromFBConfig) +#define glXMakeContextCurrent GLXEW_GET_FUN(__glewXMakeContextCurrent) +#define glXQueryContext GLXEW_GET_FUN(__glewXQueryContext) +#define glXQueryDrawable GLXEW_GET_FUN(__glewXQueryDrawable) +#define glXSelectEvent GLXEW_GET_FUN(__glewXSelectEvent) + +#define GLXEW_VERSION_1_3 GLXEW_GET_VAR(__GLXEW_VERSION_1_3) + +#endif /* GLX_VERSION_1_3 */ + +/* ---------------------------- GLX_VERSION_1_4 ---------------------------- */ + +#ifndef GLX_VERSION_1_4 +#define GLX_VERSION_1_4 1 + +#define GLX_SAMPLE_BUFFERS 100000 +#define GLX_SAMPLES 100001 + +extern void ( * glXGetProcAddress (const GLubyte *procName)) (void); + +#define GLXEW_VERSION_1_4 GLXEW_GET_VAR(__GLXEW_VERSION_1_4) + +#endif /* GLX_VERSION_1_4 */ + +/* -------------------------- GLX_3DFX_multisample ------------------------- */ + +#ifndef GLX_3DFX_multisample +#define GLX_3DFX_multisample 1 + +#define GLX_SAMPLE_BUFFERS_3DFX 0x8050 +#define GLX_SAMPLES_3DFX 0x8051 + +#define GLXEW_3DFX_multisample GLXEW_GET_VAR(__GLXEW_3DFX_multisample) + +#endif /* GLX_3DFX_multisample */ + +/* ------------------------ GLX_AMD_gpu_association ------------------------ */ + +#ifndef GLX_AMD_gpu_association +#define GLX_AMD_gpu_association 1 + +#define GLX_GPU_VENDOR_AMD 0x1F00 +#define GLX_GPU_RENDERER_STRING_AMD 0x1F01 +#define GLX_GPU_OPENGL_VERSION_STRING_AMD 0x1F02 +#define GLX_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2 +#define GLX_GPU_RAM_AMD 0x21A3 +#define GLX_GPU_CLOCK_AMD 0x21A4 +#define GLX_GPU_NUM_PIPES_AMD 0x21A5 +#define GLX_GPU_NUM_SIMD_AMD 0x21A6 +#define GLX_GPU_NUM_RB_AMD 0x21A7 +#define GLX_GPU_NUM_SPI_AMD 0x21A8 + +typedef void ( * PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC) (GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef GLXContext ( * PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC) (unsigned int id, GLXContext share_list); +typedef GLXContext ( * PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (unsigned int id, GLXContext share_context, const int* attribList); +typedef Bool ( * PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC) (GLXContext ctx); +typedef unsigned int ( * PFNGLXGETCONTEXTGPUIDAMDPROC) (GLXContext ctx); +typedef GLXContext ( * PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void); +typedef unsigned int ( * PFNGLXGETGPUIDSAMDPROC) (unsigned int maxCount, unsigned int* ids); +typedef int ( * PFNGLXGETGPUINFOAMDPROC) (unsigned int id, int property, GLenum dataType, unsigned int size, void* data); +typedef Bool ( * PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (GLXContext ctx); + +#define glXBlitContextFramebufferAMD GLXEW_GET_FUN(__glewXBlitContextFramebufferAMD) +#define glXCreateAssociatedContextAMD GLXEW_GET_FUN(__glewXCreateAssociatedContextAMD) +#define glXCreateAssociatedContextAttribsAMD GLXEW_GET_FUN(__glewXCreateAssociatedContextAttribsAMD) +#define glXDeleteAssociatedContextAMD GLXEW_GET_FUN(__glewXDeleteAssociatedContextAMD) +#define glXGetContextGPUIDAMD GLXEW_GET_FUN(__glewXGetContextGPUIDAMD) +#define glXGetCurrentAssociatedContextAMD GLXEW_GET_FUN(__glewXGetCurrentAssociatedContextAMD) +#define glXGetGPUIDsAMD GLXEW_GET_FUN(__glewXGetGPUIDsAMD) +#define glXGetGPUInfoAMD GLXEW_GET_FUN(__glewXGetGPUInfoAMD) +#define glXMakeAssociatedContextCurrentAMD GLXEW_GET_FUN(__glewXMakeAssociatedContextCurrentAMD) + +#define GLXEW_AMD_gpu_association GLXEW_GET_VAR(__GLXEW_AMD_gpu_association) + +#endif /* GLX_AMD_gpu_association */ + +/* --------------------- GLX_ARB_context_flush_control --------------------- */ + +#ifndef GLX_ARB_context_flush_control +#define GLX_ARB_context_flush_control 1 + +#define GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0x0000 +#define GLX_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097 +#define GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098 + +#define GLXEW_ARB_context_flush_control GLXEW_GET_VAR(__GLXEW_ARB_context_flush_control) + +#endif /* GLX_ARB_context_flush_control */ + +/* ------------------------- GLX_ARB_create_context ------------------------ */ + +#ifndef GLX_ARB_create_context +#define GLX_ARB_create_context 1 + +#define GLX_CONTEXT_DEBUG_BIT_ARB 0x0001 +#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002 +#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091 +#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092 +#define GLX_CONTEXT_FLAGS_ARB 0x2094 + +typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display* dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list); + +#define glXCreateContextAttribsARB GLXEW_GET_FUN(__glewXCreateContextAttribsARB) + +#define GLXEW_ARB_create_context GLXEW_GET_VAR(__GLXEW_ARB_create_context) + +#endif /* GLX_ARB_create_context */ + +/* --------------------- GLX_ARB_create_context_profile -------------------- */ + +#ifndef GLX_ARB_create_context_profile +#define GLX_ARB_create_context_profile 1 + +#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001 +#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 +#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126 + +#define GLXEW_ARB_create_context_profile GLXEW_GET_VAR(__GLXEW_ARB_create_context_profile) + +#endif /* GLX_ARB_create_context_profile */ + +/* ------------------- GLX_ARB_create_context_robustness ------------------- */ + +#ifndef GLX_ARB_create_context_robustness +#define GLX_ARB_create_context_robustness 1 + +#define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004 +#define GLX_LOSE_CONTEXT_ON_RESET_ARB 0x8252 +#define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 +#define GLX_NO_RESET_NOTIFICATION_ARB 0x8261 + +#define GLXEW_ARB_create_context_robustness GLXEW_GET_VAR(__GLXEW_ARB_create_context_robustness) + +#endif /* GLX_ARB_create_context_robustness */ + +/* ------------------------- GLX_ARB_fbconfig_float ------------------------ */ + +#ifndef GLX_ARB_fbconfig_float +#define GLX_ARB_fbconfig_float 1 + +#define GLX_RGBA_FLOAT_BIT_ARB 0x00000004 +#define GLX_RGBA_FLOAT_TYPE_ARB 0x20B9 + +#define GLXEW_ARB_fbconfig_float GLXEW_GET_VAR(__GLXEW_ARB_fbconfig_float) + +#endif /* GLX_ARB_fbconfig_float */ + +/* ------------------------ GLX_ARB_framebuffer_sRGB ----------------------- */ + +#ifndef GLX_ARB_framebuffer_sRGB +#define GLX_ARB_framebuffer_sRGB 1 + +#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20B2 + +#define GLXEW_ARB_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_ARB_framebuffer_sRGB) + +#endif /* GLX_ARB_framebuffer_sRGB */ + +/* ------------------------ GLX_ARB_get_proc_address ----------------------- */ + +#ifndef GLX_ARB_get_proc_address +#define GLX_ARB_get_proc_address 1 + +extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void); + +#define GLXEW_ARB_get_proc_address GLXEW_GET_VAR(__GLXEW_ARB_get_proc_address) + +#endif /* GLX_ARB_get_proc_address */ + +/* -------------------------- GLX_ARB_multisample -------------------------- */ + +#ifndef GLX_ARB_multisample +#define GLX_ARB_multisample 1 + +#define GLX_SAMPLE_BUFFERS_ARB 100000 +#define GLX_SAMPLES_ARB 100001 + +#define GLXEW_ARB_multisample GLXEW_GET_VAR(__GLXEW_ARB_multisample) + +#endif /* GLX_ARB_multisample */ + +/* ---------------- GLX_ARB_robustness_application_isolation --------------- */ + +#ifndef GLX_ARB_robustness_application_isolation +#define GLX_ARB_robustness_application_isolation 1 + +#define GLX_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008 + +#define GLXEW_ARB_robustness_application_isolation GLXEW_GET_VAR(__GLXEW_ARB_robustness_application_isolation) + +#endif /* GLX_ARB_robustness_application_isolation */ + +/* ---------------- GLX_ARB_robustness_share_group_isolation --------------- */ + +#ifndef GLX_ARB_robustness_share_group_isolation +#define GLX_ARB_robustness_share_group_isolation 1 + +#define GLX_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008 + +#define GLXEW_ARB_robustness_share_group_isolation GLXEW_GET_VAR(__GLXEW_ARB_robustness_share_group_isolation) + +#endif /* GLX_ARB_robustness_share_group_isolation */ + +/* ---------------------- GLX_ARB_vertex_buffer_object --------------------- */ + +#ifndef GLX_ARB_vertex_buffer_object +#define GLX_ARB_vertex_buffer_object 1 + +#define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095 + +#define GLXEW_ARB_vertex_buffer_object GLXEW_GET_VAR(__GLXEW_ARB_vertex_buffer_object) + +#endif /* GLX_ARB_vertex_buffer_object */ + +/* ----------------------- GLX_ATI_pixel_format_float ---------------------- */ + +#ifndef GLX_ATI_pixel_format_float +#define GLX_ATI_pixel_format_float 1 + +#define GLX_RGBA_FLOAT_ATI_BIT 0x00000100 + +#define GLXEW_ATI_pixel_format_float GLXEW_GET_VAR(__GLXEW_ATI_pixel_format_float) + +#endif /* GLX_ATI_pixel_format_float */ + +/* ------------------------- GLX_ATI_render_texture ------------------------ */ + +#ifndef GLX_ATI_render_texture +#define GLX_ATI_render_texture 1 + +#define GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800 +#define GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801 +#define GLX_TEXTURE_FORMAT_ATI 0x9802 +#define GLX_TEXTURE_TARGET_ATI 0x9803 +#define GLX_MIPMAP_TEXTURE_ATI 0x9804 +#define GLX_TEXTURE_RGB_ATI 0x9805 +#define GLX_TEXTURE_RGBA_ATI 0x9806 +#define GLX_NO_TEXTURE_ATI 0x9807 +#define GLX_TEXTURE_CUBE_MAP_ATI 0x9808 +#define GLX_TEXTURE_1D_ATI 0x9809 +#define GLX_TEXTURE_2D_ATI 0x980A +#define GLX_MIPMAP_LEVEL_ATI 0x980B +#define GLX_CUBE_MAP_FACE_ATI 0x980C +#define GLX_TEXTURE_CUBE_MAP_POSITIVE_X_ATI 0x980D +#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_X_ATI 0x980E +#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Y_ATI 0x980F +#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Y_ATI 0x9810 +#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Z_ATI 0x9811 +#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Z_ATI 0x9812 +#define GLX_FRONT_LEFT_ATI 0x9813 +#define GLX_FRONT_RIGHT_ATI 0x9814 +#define GLX_BACK_LEFT_ATI 0x9815 +#define GLX_BACK_RIGHT_ATI 0x9816 +#define GLX_AUX0_ATI 0x9817 +#define GLX_AUX1_ATI 0x9818 +#define GLX_AUX2_ATI 0x9819 +#define GLX_AUX3_ATI 0x981A +#define GLX_AUX4_ATI 0x981B +#define GLX_AUX5_ATI 0x981C +#define GLX_AUX6_ATI 0x981D +#define GLX_AUX7_ATI 0x981E +#define GLX_AUX8_ATI 0x981F +#define GLX_AUX9_ATI 0x9820 +#define GLX_BIND_TO_TEXTURE_LUMINANCE_ATI 0x9821 +#define GLX_BIND_TO_TEXTURE_INTENSITY_ATI 0x9822 + +typedef void ( * PFNGLXBINDTEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer); +typedef void ( * PFNGLXDRAWABLEATTRIBATIPROC) (Display *dpy, GLXDrawable draw, const int *attrib_list); +typedef void ( * PFNGLXRELEASETEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer); + +#define glXBindTexImageATI GLXEW_GET_FUN(__glewXBindTexImageATI) +#define glXDrawableAttribATI GLXEW_GET_FUN(__glewXDrawableAttribATI) +#define glXReleaseTexImageATI GLXEW_GET_FUN(__glewXReleaseTexImageATI) + +#define GLXEW_ATI_render_texture GLXEW_GET_VAR(__GLXEW_ATI_render_texture) + +#endif /* GLX_ATI_render_texture */ + +/* --------------------------- GLX_EXT_buffer_age -------------------------- */ + +#ifndef GLX_EXT_buffer_age +#define GLX_EXT_buffer_age 1 + +#define GLX_BACK_BUFFER_AGE_EXT 0x20F4 + +#define GLXEW_EXT_buffer_age GLXEW_GET_VAR(__GLXEW_EXT_buffer_age) + +#endif /* GLX_EXT_buffer_age */ + +/* ------------------- GLX_EXT_create_context_es2_profile ------------------ */ + +#ifndef GLX_EXT_create_context_es2_profile +#define GLX_EXT_create_context_es2_profile 1 + +#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004 + +#define GLXEW_EXT_create_context_es2_profile GLXEW_GET_VAR(__GLXEW_EXT_create_context_es2_profile) + +#endif /* GLX_EXT_create_context_es2_profile */ + +/* ------------------- GLX_EXT_create_context_es_profile ------------------- */ + +#ifndef GLX_EXT_create_context_es_profile +#define GLX_EXT_create_context_es_profile 1 + +#define GLX_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004 + +#define GLXEW_EXT_create_context_es_profile GLXEW_GET_VAR(__GLXEW_EXT_create_context_es_profile) + +#endif /* GLX_EXT_create_context_es_profile */ + +/* --------------------- GLX_EXT_fbconfig_packed_float --------------------- */ + +#ifndef GLX_EXT_fbconfig_packed_float +#define GLX_EXT_fbconfig_packed_float 1 + +#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008 +#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1 + +#define GLXEW_EXT_fbconfig_packed_float GLXEW_GET_VAR(__GLXEW_EXT_fbconfig_packed_float) + +#endif /* GLX_EXT_fbconfig_packed_float */ + +/* ------------------------ GLX_EXT_framebuffer_sRGB ----------------------- */ + +#ifndef GLX_EXT_framebuffer_sRGB +#define GLX_EXT_framebuffer_sRGB 1 + +#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2 + +#define GLXEW_EXT_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_EXT_framebuffer_sRGB) + +#endif /* GLX_EXT_framebuffer_sRGB */ + +/* ------------------------- GLX_EXT_import_context ------------------------ */ + +#ifndef GLX_EXT_import_context +#define GLX_EXT_import_context 1 + +#define GLX_SHARE_CONTEXT_EXT 0x800A +#define GLX_VISUAL_ID_EXT 0x800B +#define GLX_SCREEN_EXT 0x800C + +typedef XID GLXContextID; + +typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display* dpy, GLXContext context); +typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context); +typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display* dpy, GLXContextID contextID); +typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display* dpy, GLXContext context, int attribute,int *value); + +#define glXFreeContextEXT GLXEW_GET_FUN(__glewXFreeContextEXT) +#define glXGetContextIDEXT GLXEW_GET_FUN(__glewXGetContextIDEXT) +#define glXImportContextEXT GLXEW_GET_FUN(__glewXImportContextEXT) +#define glXQueryContextInfoEXT GLXEW_GET_FUN(__glewXQueryContextInfoEXT) + +#define GLXEW_EXT_import_context GLXEW_GET_VAR(__GLXEW_EXT_import_context) + +#endif /* GLX_EXT_import_context */ + +/* -------------------------- GLX_EXT_scene_marker ------------------------- */ + +#ifndef GLX_EXT_scene_marker +#define GLX_EXT_scene_marker 1 + +#define GLXEW_EXT_scene_marker GLXEW_GET_VAR(__GLXEW_EXT_scene_marker) + +#endif /* GLX_EXT_scene_marker */ + +/* -------------------------- GLX_EXT_stereo_tree -------------------------- */ + +#ifndef GLX_EXT_stereo_tree +#define GLX_EXT_stereo_tree 1 + +#define GLX_STEREO_NOTIFY_EXT 0x00000000 +#define GLX_STEREO_NOTIFY_MASK_EXT 0x00000001 +#define GLX_STEREO_TREE_EXT 0x20F5 + +#define GLXEW_EXT_stereo_tree GLXEW_GET_VAR(__GLXEW_EXT_stereo_tree) + +#endif /* GLX_EXT_stereo_tree */ + +/* -------------------------- GLX_EXT_swap_control ------------------------- */ + +#ifndef GLX_EXT_swap_control +#define GLX_EXT_swap_control 1 + +#define GLX_SWAP_INTERVAL_EXT 0x20F1 +#define GLX_MAX_SWAP_INTERVAL_EXT 0x20F2 + +typedef void ( * PFNGLXSWAPINTERVALEXTPROC) (Display* dpy, GLXDrawable drawable, int interval); + +#define glXSwapIntervalEXT GLXEW_GET_FUN(__glewXSwapIntervalEXT) + +#define GLXEW_EXT_swap_control GLXEW_GET_VAR(__GLXEW_EXT_swap_control) + +#endif /* GLX_EXT_swap_control */ + +/* ----------------------- GLX_EXT_swap_control_tear ----------------------- */ + +#ifndef GLX_EXT_swap_control_tear +#define GLX_EXT_swap_control_tear 1 + +#define GLX_LATE_SWAPS_TEAR_EXT 0x20F3 + +#define GLXEW_EXT_swap_control_tear GLXEW_GET_VAR(__GLXEW_EXT_swap_control_tear) + +#endif /* GLX_EXT_swap_control_tear */ + +/* ---------------------- GLX_EXT_texture_from_pixmap ---------------------- */ + +#ifndef GLX_EXT_texture_from_pixmap +#define GLX_EXT_texture_from_pixmap 1 + +#define GLX_TEXTURE_1D_BIT_EXT 0x00000001 +#define GLX_TEXTURE_2D_BIT_EXT 0x00000002 +#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004 +#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0 +#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1 +#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2 +#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3 +#define GLX_Y_INVERTED_EXT 0x20D4 +#define GLX_TEXTURE_FORMAT_EXT 0x20D5 +#define GLX_TEXTURE_TARGET_EXT 0x20D6 +#define GLX_MIPMAP_TEXTURE_EXT 0x20D7 +#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8 +#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9 +#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA +#define GLX_TEXTURE_1D_EXT 0x20DB +#define GLX_TEXTURE_2D_EXT 0x20DC +#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD +#define GLX_FRONT_LEFT_EXT 0x20DE +#define GLX_FRONT_RIGHT_EXT 0x20DF +#define GLX_BACK_LEFT_EXT 0x20E0 +#define GLX_BACK_RIGHT_EXT 0x20E1 +#define GLX_AUX0_EXT 0x20E2 +#define GLX_AUX1_EXT 0x20E3 +#define GLX_AUX2_EXT 0x20E4 +#define GLX_AUX3_EXT 0x20E5 +#define GLX_AUX4_EXT 0x20E6 +#define GLX_AUX5_EXT 0x20E7 +#define GLX_AUX6_EXT 0x20E8 +#define GLX_AUX7_EXT 0x20E9 +#define GLX_AUX8_EXT 0x20EA +#define GLX_AUX9_EXT 0x20EB + +typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer, const int *attrib_list); +typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer); + +#define glXBindTexImageEXT GLXEW_GET_FUN(__glewXBindTexImageEXT) +#define glXReleaseTexImageEXT GLXEW_GET_FUN(__glewXReleaseTexImageEXT) + +#define GLXEW_EXT_texture_from_pixmap GLXEW_GET_VAR(__GLXEW_EXT_texture_from_pixmap) + +#endif /* GLX_EXT_texture_from_pixmap */ + +/* -------------------------- GLX_EXT_visual_info -------------------------- */ + +#ifndef GLX_EXT_visual_info +#define GLX_EXT_visual_info 1 + +#define GLX_X_VISUAL_TYPE_EXT 0x22 +#define GLX_TRANSPARENT_TYPE_EXT 0x23 +#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24 +#define GLX_TRANSPARENT_RED_VALUE_EXT 0x25 +#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26 +#define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27 +#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28 +#define GLX_NONE_EXT 0x8000 +#define GLX_TRUE_COLOR_EXT 0x8002 +#define GLX_DIRECT_COLOR_EXT 0x8003 +#define GLX_PSEUDO_COLOR_EXT 0x8004 +#define GLX_STATIC_COLOR_EXT 0x8005 +#define GLX_GRAY_SCALE_EXT 0x8006 +#define GLX_STATIC_GRAY_EXT 0x8007 +#define GLX_TRANSPARENT_RGB_EXT 0x8008 +#define GLX_TRANSPARENT_INDEX_EXT 0x8009 + +#define GLXEW_EXT_visual_info GLXEW_GET_VAR(__GLXEW_EXT_visual_info) + +#endif /* GLX_EXT_visual_info */ + +/* ------------------------- GLX_EXT_visual_rating ------------------------- */ + +#ifndef GLX_EXT_visual_rating +#define GLX_EXT_visual_rating 1 + +#define GLX_VISUAL_CAVEAT_EXT 0x20 +#define GLX_SLOW_VISUAL_EXT 0x8001 +#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D + +#define GLXEW_EXT_visual_rating GLXEW_GET_VAR(__GLXEW_EXT_visual_rating) + +#endif /* GLX_EXT_visual_rating */ + +/* -------------------------- GLX_INTEL_swap_event ------------------------- */ + +#ifndef GLX_INTEL_swap_event +#define GLX_INTEL_swap_event 1 + +#define GLX_EXCHANGE_COMPLETE_INTEL 0x8180 +#define GLX_COPY_COMPLETE_INTEL 0x8181 +#define GLX_FLIP_COMPLETE_INTEL 0x8182 +#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x04000000 + +#define GLXEW_INTEL_swap_event GLXEW_GET_VAR(__GLXEW_INTEL_swap_event) + +#endif /* GLX_INTEL_swap_event */ + +/* -------------------------- GLX_MESA_agp_offset -------------------------- */ + +#ifndef GLX_MESA_agp_offset +#define GLX_MESA_agp_offset 1 + +typedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void* pointer); + +#define glXGetAGPOffsetMESA GLXEW_GET_FUN(__glewXGetAGPOffsetMESA) + +#define GLXEW_MESA_agp_offset GLXEW_GET_VAR(__GLXEW_MESA_agp_offset) + +#endif /* GLX_MESA_agp_offset */ + +/* ------------------------ GLX_MESA_copy_sub_buffer ----------------------- */ + +#ifndef GLX_MESA_copy_sub_buffer +#define GLX_MESA_copy_sub_buffer 1 + +typedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display* dpy, GLXDrawable drawable, int x, int y, int width, int height); + +#define glXCopySubBufferMESA GLXEW_GET_FUN(__glewXCopySubBufferMESA) + +#define GLXEW_MESA_copy_sub_buffer GLXEW_GET_VAR(__GLXEW_MESA_copy_sub_buffer) + +#endif /* GLX_MESA_copy_sub_buffer */ + +/* ------------------------ GLX_MESA_pixmap_colormap ----------------------- */ + +#ifndef GLX_MESA_pixmap_colormap +#define GLX_MESA_pixmap_colormap 1 + +typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap); + +#define glXCreateGLXPixmapMESA GLXEW_GET_FUN(__glewXCreateGLXPixmapMESA) + +#define GLXEW_MESA_pixmap_colormap GLXEW_GET_VAR(__GLXEW_MESA_pixmap_colormap) + +#endif /* GLX_MESA_pixmap_colormap */ + +/* ------------------------ GLX_MESA_query_renderer ------------------------ */ + +#ifndef GLX_MESA_query_renderer +#define GLX_MESA_query_renderer 1 + +#define GLX_RENDERER_VENDOR_ID_MESA 0x8183 +#define GLX_RENDERER_DEVICE_ID_MESA 0x8184 +#define GLX_RENDERER_VERSION_MESA 0x8185 +#define GLX_RENDERER_ACCELERATED_MESA 0x8186 +#define GLX_RENDERER_VIDEO_MEMORY_MESA 0x8187 +#define GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA 0x8188 +#define GLX_RENDERER_PREFERRED_PROFILE_MESA 0x8189 +#define GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA 0x818A +#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B +#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C +#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D +#define GLX_RENDERER_ID_MESA 0x818E + +typedef Bool ( * PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC) (int attribute, unsigned int* value); +typedef const char* ( * PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC) (int attribute); +typedef Bool ( * PFNGLXQUERYRENDERERINTEGERMESAPROC) (Display* dpy, int screen, int renderer, int attribute, unsigned int *value); +typedef const char* ( * PFNGLXQUERYRENDERERSTRINGMESAPROC) (Display *dpy, int screen, int renderer, int attribute); + +#define glXQueryCurrentRendererIntegerMESA GLXEW_GET_FUN(__glewXQueryCurrentRendererIntegerMESA) +#define glXQueryCurrentRendererStringMESA GLXEW_GET_FUN(__glewXQueryCurrentRendererStringMESA) +#define glXQueryRendererIntegerMESA GLXEW_GET_FUN(__glewXQueryRendererIntegerMESA) +#define glXQueryRendererStringMESA GLXEW_GET_FUN(__glewXQueryRendererStringMESA) + +#define GLXEW_MESA_query_renderer GLXEW_GET_VAR(__GLXEW_MESA_query_renderer) + +#endif /* GLX_MESA_query_renderer */ + +/* ------------------------ GLX_MESA_release_buffers ----------------------- */ + +#ifndef GLX_MESA_release_buffers +#define GLX_MESA_release_buffers 1 + +typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display* dpy, GLXDrawable d); + +#define glXReleaseBuffersMESA GLXEW_GET_FUN(__glewXReleaseBuffersMESA) + +#define GLXEW_MESA_release_buffers GLXEW_GET_VAR(__GLXEW_MESA_release_buffers) + +#endif /* GLX_MESA_release_buffers */ + +/* ------------------------- GLX_MESA_set_3dfx_mode ------------------------ */ + +#ifndef GLX_MESA_set_3dfx_mode +#define GLX_MESA_set_3dfx_mode 1 + +#define GLX_3DFX_WINDOW_MODE_MESA 0x1 +#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2 + +typedef GLboolean ( * PFNGLXSET3DFXMODEMESAPROC) (GLint mode); + +#define glXSet3DfxModeMESA GLXEW_GET_FUN(__glewXSet3DfxModeMESA) + +#define GLXEW_MESA_set_3dfx_mode GLXEW_GET_VAR(__GLXEW_MESA_set_3dfx_mode) + +#endif /* GLX_MESA_set_3dfx_mode */ + +/* ------------------------- GLX_MESA_swap_control ------------------------- */ + +#ifndef GLX_MESA_swap_control +#define GLX_MESA_swap_control 1 + +typedef int ( * PFNGLXGETSWAPINTERVALMESAPROC) (void); +typedef int ( * PFNGLXSWAPINTERVALMESAPROC) (unsigned int interval); + +#define glXGetSwapIntervalMESA GLXEW_GET_FUN(__glewXGetSwapIntervalMESA) +#define glXSwapIntervalMESA GLXEW_GET_FUN(__glewXSwapIntervalMESA) + +#define GLXEW_MESA_swap_control GLXEW_GET_VAR(__GLXEW_MESA_swap_control) + +#endif /* GLX_MESA_swap_control */ + +/* --------------------------- GLX_NV_copy_buffer -------------------------- */ + +#ifndef GLX_NV_copy_buffer +#define GLX_NV_copy_buffer 1 + +typedef void ( * PFNGLXCOPYBUFFERSUBDATANVPROC) (Display* dpy, GLXContext readCtx, GLXContext writeCtx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void ( * PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC) (Display* dpy, GLXContext readCtx, GLXContext writeCtx, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); + +#define glXCopyBufferSubDataNV GLXEW_GET_FUN(__glewXCopyBufferSubDataNV) +#define glXNamedCopyBufferSubDataNV GLXEW_GET_FUN(__glewXNamedCopyBufferSubDataNV) + +#define GLXEW_NV_copy_buffer GLXEW_GET_VAR(__GLXEW_NV_copy_buffer) + +#endif /* GLX_NV_copy_buffer */ + +/* --------------------------- GLX_NV_copy_image --------------------------- */ + +#ifndef GLX_NV_copy_image +#define GLX_NV_copy_image 1 + +typedef void ( * PFNGLXCOPYIMAGESUBDATANVPROC) (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); + +#define glXCopyImageSubDataNV GLXEW_GET_FUN(__glewXCopyImageSubDataNV) + +#define GLXEW_NV_copy_image GLXEW_GET_VAR(__GLXEW_NV_copy_image) + +#endif /* GLX_NV_copy_image */ + +/* ------------------------ GLX_NV_delay_before_swap ----------------------- */ + +#ifndef GLX_NV_delay_before_swap +#define GLX_NV_delay_before_swap 1 + +typedef Bool ( * PFNGLXDELAYBEFORESWAPNVPROC) (Display* dpy, GLXDrawable drawable, GLfloat seconds); + +#define glXDelayBeforeSwapNV GLXEW_GET_FUN(__glewXDelayBeforeSwapNV) + +#define GLXEW_NV_delay_before_swap GLXEW_GET_VAR(__GLXEW_NV_delay_before_swap) + +#endif /* GLX_NV_delay_before_swap */ + +/* -------------------------- GLX_NV_float_buffer -------------------------- */ + +#ifndef GLX_NV_float_buffer +#define GLX_NV_float_buffer 1 + +#define GLX_FLOAT_COMPONENTS_NV 0x20B0 + +#define GLXEW_NV_float_buffer GLXEW_GET_VAR(__GLXEW_NV_float_buffer) + +#endif /* GLX_NV_float_buffer */ + +/* ---------------------- GLX_NV_multisample_coverage ---------------------- */ + +#ifndef GLX_NV_multisample_coverage +#define GLX_NV_multisample_coverage 1 + +#define GLX_COLOR_SAMPLES_NV 0x20B3 +#define GLX_COVERAGE_SAMPLES_NV 100001 + +#define GLXEW_NV_multisample_coverage GLXEW_GET_VAR(__GLXEW_NV_multisample_coverage) + +#endif /* GLX_NV_multisample_coverage */ + +/* -------------------------- GLX_NV_present_video ------------------------- */ + +#ifndef GLX_NV_present_video +#define GLX_NV_present_video 1 + +#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0 + +typedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display* dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list); +typedef unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements); + +#define glXBindVideoDeviceNV GLXEW_GET_FUN(__glewXBindVideoDeviceNV) +#define glXEnumerateVideoDevicesNV GLXEW_GET_FUN(__glewXEnumerateVideoDevicesNV) + +#define GLXEW_NV_present_video GLXEW_GET_VAR(__GLXEW_NV_present_video) + +#endif /* GLX_NV_present_video */ + +/* --------------------------- GLX_NV_swap_group --------------------------- */ + +#ifndef GLX_NV_swap_group +#define GLX_NV_swap_group 1 + +typedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display* dpy, GLuint group, GLuint barrier); +typedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint group); +typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display* dpy, int screen, GLuint *count); +typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display* dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers); +typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier); +typedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display* dpy, int screen); + +#define glXBindSwapBarrierNV GLXEW_GET_FUN(__glewXBindSwapBarrierNV) +#define glXJoinSwapGroupNV GLXEW_GET_FUN(__glewXJoinSwapGroupNV) +#define glXQueryFrameCountNV GLXEW_GET_FUN(__glewXQueryFrameCountNV) +#define glXQueryMaxSwapGroupsNV GLXEW_GET_FUN(__glewXQueryMaxSwapGroupsNV) +#define glXQuerySwapGroupNV GLXEW_GET_FUN(__glewXQuerySwapGroupNV) +#define glXResetFrameCountNV GLXEW_GET_FUN(__glewXResetFrameCountNV) + +#define GLXEW_NV_swap_group GLXEW_GET_VAR(__GLXEW_NV_swap_group) + +#endif /* GLX_NV_swap_group */ + +/* ----------------------- GLX_NV_vertex_array_range ----------------------- */ + +#ifndef GLX_NV_vertex_array_range +#define GLX_NV_vertex_array_range 1 + +typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority); +typedef void ( * PFNGLXFREEMEMORYNVPROC) (void *pointer); + +#define glXAllocateMemoryNV GLXEW_GET_FUN(__glewXAllocateMemoryNV) +#define glXFreeMemoryNV GLXEW_GET_FUN(__glewXFreeMemoryNV) + +#define GLXEW_NV_vertex_array_range GLXEW_GET_VAR(__GLXEW_NV_vertex_array_range) + +#endif /* GLX_NV_vertex_array_range */ + +/* -------------------------- GLX_NV_video_capture ------------------------- */ + +#ifndef GLX_NV_video_capture +#define GLX_NV_video_capture 1 + +#define GLX_DEVICE_ID_NV 0x20CD +#define GLX_UNIQUE_ID_NV 0x20CE +#define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF + +typedef XID GLXVideoCaptureDeviceNV; + +typedef int ( * PFNGLXBINDVIDEOCAPTUREDEVICENVPROC) (Display* dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device); +typedef GLXVideoCaptureDeviceNV * ( * PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) (Display* dpy, int screen, int *nelements); +typedef void ( * PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoCaptureDeviceNV device); +typedef int ( * PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value); +typedef void ( * PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) (Display* dpy, GLXVideoCaptureDeviceNV device); + +#define glXBindVideoCaptureDeviceNV GLXEW_GET_FUN(__glewXBindVideoCaptureDeviceNV) +#define glXEnumerateVideoCaptureDevicesNV GLXEW_GET_FUN(__glewXEnumerateVideoCaptureDevicesNV) +#define glXLockVideoCaptureDeviceNV GLXEW_GET_FUN(__glewXLockVideoCaptureDeviceNV) +#define glXQueryVideoCaptureDeviceNV GLXEW_GET_FUN(__glewXQueryVideoCaptureDeviceNV) +#define glXReleaseVideoCaptureDeviceNV GLXEW_GET_FUN(__glewXReleaseVideoCaptureDeviceNV) + +#define GLXEW_NV_video_capture GLXEW_GET_VAR(__GLXEW_NV_video_capture) + +#endif /* GLX_NV_video_capture */ + +/* ---------------------------- GLX_NV_video_out --------------------------- */ + +#ifndef GLX_NV_video_out +#define GLX_NV_video_out 1 + +#define GLX_VIDEO_OUT_COLOR_NV 0x20C3 +#define GLX_VIDEO_OUT_ALPHA_NV 0x20C4 +#define GLX_VIDEO_OUT_DEPTH_NV 0x20C5 +#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 +#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 +#define GLX_VIDEO_OUT_FRAME_NV 0x20C8 +#define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9 +#define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA +#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB +#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC + +typedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display* dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer); +typedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display* dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice); +typedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); +typedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice); +typedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display* dpy, GLXPbuffer pbuf); +typedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display* dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock); + +#define glXBindVideoImageNV GLXEW_GET_FUN(__glewXBindVideoImageNV) +#define glXGetVideoDeviceNV GLXEW_GET_FUN(__glewXGetVideoDeviceNV) +#define glXGetVideoInfoNV GLXEW_GET_FUN(__glewXGetVideoInfoNV) +#define glXReleaseVideoDeviceNV GLXEW_GET_FUN(__glewXReleaseVideoDeviceNV) +#define glXReleaseVideoImageNV GLXEW_GET_FUN(__glewXReleaseVideoImageNV) +#define glXSendPbufferToVideoNV GLXEW_GET_FUN(__glewXSendPbufferToVideoNV) + +#define GLXEW_NV_video_out GLXEW_GET_VAR(__GLXEW_NV_video_out) + +#endif /* GLX_NV_video_out */ + +/* -------------------------- GLX_OML_swap_method -------------------------- */ + +#ifndef GLX_OML_swap_method +#define GLX_OML_swap_method 1 + +#define GLX_SWAP_METHOD_OML 0x8060 +#define GLX_SWAP_EXCHANGE_OML 0x8061 +#define GLX_SWAP_COPY_OML 0x8062 +#define GLX_SWAP_UNDEFINED_OML 0x8063 + +#define GLXEW_OML_swap_method GLXEW_GET_VAR(__GLXEW_OML_swap_method) + +#endif /* GLX_OML_swap_method */ + +/* -------------------------- GLX_OML_sync_control ------------------------- */ + +#ifndef GLX_OML_sync_control +#define GLX_OML_sync_control 1 + +typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display* dpy, GLXDrawable drawable, int32_t* numerator, int32_t* denominator); +typedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t* ust, int64_t* msc, int64_t* sbc); +typedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder); +typedef Bool ( * PFNGLXWAITFORMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t* ust, int64_t* msc, int64_t* sbc); +typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_sbc, int64_t* ust, int64_t* msc, int64_t* sbc); + +#define glXGetMscRateOML GLXEW_GET_FUN(__glewXGetMscRateOML) +#define glXGetSyncValuesOML GLXEW_GET_FUN(__glewXGetSyncValuesOML) +#define glXSwapBuffersMscOML GLXEW_GET_FUN(__glewXSwapBuffersMscOML) +#define glXWaitForMscOML GLXEW_GET_FUN(__glewXWaitForMscOML) +#define glXWaitForSbcOML GLXEW_GET_FUN(__glewXWaitForSbcOML) + +#define GLXEW_OML_sync_control GLXEW_GET_VAR(__GLXEW_OML_sync_control) + +#endif /* GLX_OML_sync_control */ + +/* ------------------------ GLX_SGIS_blended_overlay ----------------------- */ + +#ifndef GLX_SGIS_blended_overlay +#define GLX_SGIS_blended_overlay 1 + +#define GLX_BLENDED_RGBA_SGIS 0x8025 + +#define GLXEW_SGIS_blended_overlay GLXEW_GET_VAR(__GLXEW_SGIS_blended_overlay) + +#endif /* GLX_SGIS_blended_overlay */ + +/* -------------------------- GLX_SGIS_color_range ------------------------- */ + +#ifndef GLX_SGIS_color_range +#define GLX_SGIS_color_range 1 + +#define GLXEW_SGIS_color_range GLXEW_GET_VAR(__GLXEW_SGIS_color_range) + +#endif /* GLX_SGIS_color_range */ + +/* -------------------------- GLX_SGIS_multisample ------------------------- */ + +#ifndef GLX_SGIS_multisample +#define GLX_SGIS_multisample 1 + +#define GLX_SAMPLE_BUFFERS_SGIS 100000 +#define GLX_SAMPLES_SGIS 100001 + +#define GLXEW_SGIS_multisample GLXEW_GET_VAR(__GLXEW_SGIS_multisample) + +#endif /* GLX_SGIS_multisample */ + +/* ---------------------- GLX_SGIS_shared_multisample ---------------------- */ + +#ifndef GLX_SGIS_shared_multisample +#define GLX_SGIS_shared_multisample 1 + +#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026 +#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027 + +#define GLXEW_SGIS_shared_multisample GLXEW_GET_VAR(__GLXEW_SGIS_shared_multisample) + +#endif /* GLX_SGIS_shared_multisample */ + +/* --------------------------- GLX_SGIX_fbconfig --------------------------- */ + +#ifndef GLX_SGIX_fbconfig +#define GLX_SGIX_fbconfig 1 + +#define GLX_RGBA_BIT_SGIX 0x00000001 +#define GLX_WINDOW_BIT_SGIX 0x00000001 +#define GLX_COLOR_INDEX_BIT_SGIX 0x00000002 +#define GLX_PIXMAP_BIT_SGIX 0x00000002 +#define GLX_SCREEN_EXT 0x800C +#define GLX_DRAWABLE_TYPE_SGIX 0x8010 +#define GLX_RENDER_TYPE_SGIX 0x8011 +#define GLX_X_RENDERABLE_SGIX 0x8012 +#define GLX_FBCONFIG_ID_SGIX 0x8013 +#define GLX_RGBA_TYPE_SGIX 0x8014 +#define GLX_COLOR_INDEX_TYPE_SGIX 0x8015 + +typedef XID GLXFBConfigIDSGIX; +typedef struct __GLXFBConfigRec *GLXFBConfigSGIX; + +typedef GLXFBConfigSGIX* ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements); +typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); +typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, Pixmap pixmap); +typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int attribute, int *value); +typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display* dpy, XVisualInfo *vis); +typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfig config); + +#define glXChooseFBConfigSGIX GLXEW_GET_FUN(__glewXChooseFBConfigSGIX) +#define glXCreateContextWithConfigSGIX GLXEW_GET_FUN(__glewXCreateContextWithConfigSGIX) +#define glXCreateGLXPixmapWithConfigSGIX GLXEW_GET_FUN(__glewXCreateGLXPixmapWithConfigSGIX) +#define glXGetFBConfigAttribSGIX GLXEW_GET_FUN(__glewXGetFBConfigAttribSGIX) +#define glXGetFBConfigFromVisualSGIX GLXEW_GET_FUN(__glewXGetFBConfigFromVisualSGIX) +#define glXGetVisualFromFBConfigSGIX GLXEW_GET_FUN(__glewXGetVisualFromFBConfigSGIX) + +#define GLXEW_SGIX_fbconfig GLXEW_GET_VAR(__GLXEW_SGIX_fbconfig) + +#endif /* GLX_SGIX_fbconfig */ + +/* --------------------------- GLX_SGIX_hyperpipe -------------------------- */ + +#ifndef GLX_SGIX_hyperpipe +#define GLX_SGIX_hyperpipe 1 + +#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001 +#define GLX_PIPE_RECT_SGIX 0x00000001 +#define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002 +#define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002 +#define GLX_HYPERPIPE_STEREO_SGIX 0x00000003 +#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004 +#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80 +#define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91 +#define GLX_BAD_HYPERPIPE_SGIX 92 +#define GLX_HYPERPIPE_ID_SGIX 0x8030 + +typedef struct { + char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; + int networkId; +} GLXHyperpipeNetworkSGIX; +typedef struct { + char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; + int XOrigin; + int YOrigin; + int maxHeight; + int maxWidth; +} GLXPipeRectLimits; +typedef struct { + char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; + int channel; + unsigned int participationType; + int timeSlice; +} GLXHyperpipeConfigSGIX; +typedef struct { + char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; + int srcXOrigin; + int srcYOrigin; + int srcWidth; + int srcHeight; + int destXOrigin; + int destYOrigin; + int destWidth; + int destHeight; +} GLXPipeRect; + +typedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId); +typedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId); +typedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList); +typedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId); +typedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList); +typedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList); +typedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes); +typedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes); + +#define glXBindHyperpipeSGIX GLXEW_GET_FUN(__glewXBindHyperpipeSGIX) +#define glXDestroyHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXDestroyHyperpipeConfigSGIX) +#define glXHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXHyperpipeAttribSGIX) +#define glXHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXHyperpipeConfigSGIX) +#define glXQueryHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeAttribSGIX) +#define glXQueryHyperpipeBestAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeBestAttribSGIX) +#define glXQueryHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeConfigSGIX) +#define glXQueryHyperpipeNetworkSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeNetworkSGIX) + +#define GLXEW_SGIX_hyperpipe GLXEW_GET_VAR(__GLXEW_SGIX_hyperpipe) + +#endif /* GLX_SGIX_hyperpipe */ + +/* ---------------------------- GLX_SGIX_pbuffer --------------------------- */ + +#ifndef GLX_SGIX_pbuffer +#define GLX_SGIX_pbuffer 1 + +#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001 +#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002 +#define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004 +#define GLX_PBUFFER_BIT_SGIX 0x00000004 +#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008 +#define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010 +#define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020 +#define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040 +#define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080 +#define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100 +#define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016 +#define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017 +#define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018 +#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019 +#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A +#define GLX_PRESERVED_CONTENTS_SGIX 0x801B +#define GLX_LARGEST_PBUFFER_SGIX 0x801C +#define GLX_WIDTH_SGIX 0x801D +#define GLX_HEIGHT_SGIX 0x801E +#define GLX_EVENT_MASK_SGIX 0x801F +#define GLX_DAMAGED_SGIX 0x8020 +#define GLX_SAVED_SGIX 0x8021 +#define GLX_WINDOW_SGIX 0x8022 +#define GLX_PBUFFER_SGIX 0x8023 +#define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000 + +typedef XID GLXPbufferSGIX; +typedef struct { int type; unsigned long serial; Bool send_event; Display *display; GLXDrawable drawable; int event_type; int draw_type; unsigned int mask; int x, y; int width, height; int count; } GLXBufferClobberEventSGIX; + +typedef GLXPbuffer ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display* dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list); +typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf); +typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long *mask); +typedef void ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf, int attribute, unsigned int *value); +typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long mask); + +#define glXCreateGLXPbufferSGIX GLXEW_GET_FUN(__glewXCreateGLXPbufferSGIX) +#define glXDestroyGLXPbufferSGIX GLXEW_GET_FUN(__glewXDestroyGLXPbufferSGIX) +#define glXGetSelectedEventSGIX GLXEW_GET_FUN(__glewXGetSelectedEventSGIX) +#define glXQueryGLXPbufferSGIX GLXEW_GET_FUN(__glewXQueryGLXPbufferSGIX) +#define glXSelectEventSGIX GLXEW_GET_FUN(__glewXSelectEventSGIX) + +#define GLXEW_SGIX_pbuffer GLXEW_GET_VAR(__GLXEW_SGIX_pbuffer) + +#endif /* GLX_SGIX_pbuffer */ + +/* ------------------------- GLX_SGIX_swap_barrier ------------------------- */ + +#ifndef GLX_SGIX_swap_barrier +#define GLX_SGIX_swap_barrier 1 + +typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier); +typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max); + +#define glXBindSwapBarrierSGIX GLXEW_GET_FUN(__glewXBindSwapBarrierSGIX) +#define glXQueryMaxSwapBarriersSGIX GLXEW_GET_FUN(__glewXQueryMaxSwapBarriersSGIX) + +#define GLXEW_SGIX_swap_barrier GLXEW_GET_VAR(__GLXEW_SGIX_swap_barrier) + +#endif /* GLX_SGIX_swap_barrier */ + +/* -------------------------- GLX_SGIX_swap_group -------------------------- */ + +#ifndef GLX_SGIX_swap_group +#define GLX_SGIX_swap_group 1 + +typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member); + +#define glXJoinSwapGroupSGIX GLXEW_GET_FUN(__glewXJoinSwapGroupSGIX) + +#define GLXEW_SGIX_swap_group GLXEW_GET_VAR(__GLXEW_SGIX_swap_group) + +#endif /* GLX_SGIX_swap_group */ + +/* ------------------------- GLX_SGIX_video_resize ------------------------- */ + +#ifndef GLX_SGIX_video_resize +#define GLX_SGIX_video_resize 1 + +#define GLX_SYNC_FRAME_SGIX 0x00000000 +#define GLX_SYNC_SWAP_SGIX 0x00000001 + +typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display* display, int screen, int channel, Window window); +typedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int x, int y, int w, int h); +typedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display* display, int screen, int channel, GLenum synctype); +typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display* display, int screen, int channel, int *x, int *y, int *w, int *h); +typedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int *dx, int *dy, int *dw, int *dh); + +#define glXBindChannelToWindowSGIX GLXEW_GET_FUN(__glewXBindChannelToWindowSGIX) +#define glXChannelRectSGIX GLXEW_GET_FUN(__glewXChannelRectSGIX) +#define glXChannelRectSyncSGIX GLXEW_GET_FUN(__glewXChannelRectSyncSGIX) +#define glXQueryChannelDeltasSGIX GLXEW_GET_FUN(__glewXQueryChannelDeltasSGIX) +#define glXQueryChannelRectSGIX GLXEW_GET_FUN(__glewXQueryChannelRectSGIX) + +#define GLXEW_SGIX_video_resize GLXEW_GET_VAR(__GLXEW_SGIX_video_resize) + +#endif /* GLX_SGIX_video_resize */ + +/* ---------------------- GLX_SGIX_visual_select_group --------------------- */ + +#ifndef GLX_SGIX_visual_select_group +#define GLX_SGIX_visual_select_group 1 + +#define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028 + +#define GLXEW_SGIX_visual_select_group GLXEW_GET_VAR(__GLXEW_SGIX_visual_select_group) + +#endif /* GLX_SGIX_visual_select_group */ + +/* ---------------------------- GLX_SGI_cushion ---------------------------- */ + +#ifndef GLX_SGI_cushion +#define GLX_SGI_cushion 1 + +typedef void ( * PFNGLXCUSHIONSGIPROC) (Display* dpy, Window window, float cushion); + +#define glXCushionSGI GLXEW_GET_FUN(__glewXCushionSGI) + +#define GLXEW_SGI_cushion GLXEW_GET_VAR(__GLXEW_SGI_cushion) + +#endif /* GLX_SGI_cushion */ + +/* ----------------------- GLX_SGI_make_current_read ----------------------- */ + +#ifndef GLX_SGI_make_current_read +#define GLX_SGI_make_current_read 1 + +typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void); +typedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display* dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); + +#define glXGetCurrentReadDrawableSGI GLXEW_GET_FUN(__glewXGetCurrentReadDrawableSGI) +#define glXMakeCurrentReadSGI GLXEW_GET_FUN(__glewXMakeCurrentReadSGI) + +#define GLXEW_SGI_make_current_read GLXEW_GET_VAR(__GLXEW_SGI_make_current_read) + +#endif /* GLX_SGI_make_current_read */ + +/* -------------------------- GLX_SGI_swap_control ------------------------- */ + +#ifndef GLX_SGI_swap_control +#define GLX_SGI_swap_control 1 + +typedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval); + +#define glXSwapIntervalSGI GLXEW_GET_FUN(__glewXSwapIntervalSGI) + +#define GLXEW_SGI_swap_control GLXEW_GET_VAR(__GLXEW_SGI_swap_control) + +#endif /* GLX_SGI_swap_control */ + +/* --------------------------- GLX_SGI_video_sync -------------------------- */ + +#ifndef GLX_SGI_video_sync +#define GLX_SGI_video_sync 1 + +typedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (unsigned int* count); +typedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int* count); + +#define glXGetVideoSyncSGI GLXEW_GET_FUN(__glewXGetVideoSyncSGI) +#define glXWaitVideoSyncSGI GLXEW_GET_FUN(__glewXWaitVideoSyncSGI) + +#define GLXEW_SGI_video_sync GLXEW_GET_VAR(__GLXEW_SGI_video_sync) + +#endif /* GLX_SGI_video_sync */ + +/* --------------------- GLX_SUN_get_transparent_index --------------------- */ + +#ifndef GLX_SUN_get_transparent_index +#define GLX_SUN_get_transparent_index 1 + +typedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display* dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex); + +#define glXGetTransparentIndexSUN GLXEW_GET_FUN(__glewXGetTransparentIndexSUN) + +#define GLXEW_SUN_get_transparent_index GLXEW_GET_VAR(__GLXEW_SUN_get_transparent_index) + +#endif /* GLX_SUN_get_transparent_index */ + +/* -------------------------- GLX_SUN_video_resize ------------------------- */ + +#ifndef GLX_SUN_video_resize +#define GLX_SUN_video_resize 1 + +#define GLX_VIDEO_RESIZE_SUN 0x8171 +#define GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD + +typedef int ( * PFNGLXGETVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float* factor); +typedef int ( * PFNGLXVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float factor); + +#define glXGetVideoResizeSUN GLXEW_GET_FUN(__glewXGetVideoResizeSUN) +#define glXVideoResizeSUN GLXEW_GET_FUN(__glewXVideoResizeSUN) + +#define GLXEW_SUN_video_resize GLXEW_GET_VAR(__GLXEW_SUN_video_resize) + +#endif /* GLX_SUN_video_resize */ + +/* ------------------------------------------------------------------------- */ + +#ifdef GLEW_MX +#define GLXEW_FUN_EXPORT GLEW_FUN_EXPORT +#define GLXEW_VAR_EXPORT +#else +#define GLXEW_FUN_EXPORT GLEW_FUN_EXPORT +#define GLXEW_VAR_EXPORT GLEW_VAR_EXPORT +#endif /* GLEW_MX */ + +GLXEW_FUN_EXPORT PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay; + +GLXEW_FUN_EXPORT PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig; +GLXEW_FUN_EXPORT PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext; +GLXEW_FUN_EXPORT PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer; +GLXEW_FUN_EXPORT PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap; +GLXEW_FUN_EXPORT PFNGLXCREATEWINDOWPROC __glewXCreateWindow; +GLXEW_FUN_EXPORT PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer; +GLXEW_FUN_EXPORT PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap; +GLXEW_FUN_EXPORT PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow; +GLXEW_FUN_EXPORT PFNGLXGETCURRENTREADDRAWABLEPROC __glewXGetCurrentReadDrawable; +GLXEW_FUN_EXPORT PFNGLXGETFBCONFIGATTRIBPROC __glewXGetFBConfigAttrib; +GLXEW_FUN_EXPORT PFNGLXGETFBCONFIGSPROC __glewXGetFBConfigs; +GLXEW_FUN_EXPORT PFNGLXGETSELECTEDEVENTPROC __glewXGetSelectedEvent; +GLXEW_FUN_EXPORT PFNGLXGETVISUALFROMFBCONFIGPROC __glewXGetVisualFromFBConfig; +GLXEW_FUN_EXPORT PFNGLXMAKECONTEXTCURRENTPROC __glewXMakeContextCurrent; +GLXEW_FUN_EXPORT PFNGLXQUERYCONTEXTPROC __glewXQueryContext; +GLXEW_FUN_EXPORT PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable; +GLXEW_FUN_EXPORT PFNGLXSELECTEVENTPROC __glewXSelectEvent; + +GLXEW_FUN_EXPORT PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC __glewXBlitContextFramebufferAMD; +GLXEW_FUN_EXPORT PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC __glewXCreateAssociatedContextAMD; +GLXEW_FUN_EXPORT PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC __glewXCreateAssociatedContextAttribsAMD; +GLXEW_FUN_EXPORT PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC __glewXDeleteAssociatedContextAMD; +GLXEW_FUN_EXPORT PFNGLXGETCONTEXTGPUIDAMDPROC __glewXGetContextGPUIDAMD; +GLXEW_FUN_EXPORT PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC __glewXGetCurrentAssociatedContextAMD; +GLXEW_FUN_EXPORT PFNGLXGETGPUIDSAMDPROC __glewXGetGPUIDsAMD; +GLXEW_FUN_EXPORT PFNGLXGETGPUINFOAMDPROC __glewXGetGPUInfoAMD; +GLXEW_FUN_EXPORT PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC __glewXMakeAssociatedContextCurrentAMD; + +GLXEW_FUN_EXPORT PFNGLXCREATECONTEXTATTRIBSARBPROC __glewXCreateContextAttribsARB; + +GLXEW_FUN_EXPORT PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI; +GLXEW_FUN_EXPORT PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI; +GLXEW_FUN_EXPORT PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI; + +GLXEW_FUN_EXPORT PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT; +GLXEW_FUN_EXPORT PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT; +GLXEW_FUN_EXPORT PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT; +GLXEW_FUN_EXPORT PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT; + +GLXEW_FUN_EXPORT PFNGLXSWAPINTERVALEXTPROC __glewXSwapIntervalEXT; + +GLXEW_FUN_EXPORT PFNGLXBINDTEXIMAGEEXTPROC __glewXBindTexImageEXT; +GLXEW_FUN_EXPORT PFNGLXRELEASETEXIMAGEEXTPROC __glewXReleaseTexImageEXT; + +GLXEW_FUN_EXPORT PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA; + +GLXEW_FUN_EXPORT PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA; + +GLXEW_FUN_EXPORT PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA; + +GLXEW_FUN_EXPORT PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC __glewXQueryCurrentRendererIntegerMESA; +GLXEW_FUN_EXPORT PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC __glewXQueryCurrentRendererStringMESA; +GLXEW_FUN_EXPORT PFNGLXQUERYRENDERERINTEGERMESAPROC __glewXQueryRendererIntegerMESA; +GLXEW_FUN_EXPORT PFNGLXQUERYRENDERERSTRINGMESAPROC __glewXQueryRendererStringMESA; + +GLXEW_FUN_EXPORT PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA; + +GLXEW_FUN_EXPORT PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA; + +GLXEW_FUN_EXPORT PFNGLXGETSWAPINTERVALMESAPROC __glewXGetSwapIntervalMESA; +GLXEW_FUN_EXPORT PFNGLXSWAPINTERVALMESAPROC __glewXSwapIntervalMESA; + +GLXEW_FUN_EXPORT PFNGLXCOPYBUFFERSUBDATANVPROC __glewXCopyBufferSubDataNV; +GLXEW_FUN_EXPORT PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC __glewXNamedCopyBufferSubDataNV; + +GLXEW_FUN_EXPORT PFNGLXCOPYIMAGESUBDATANVPROC __glewXCopyImageSubDataNV; + +GLXEW_FUN_EXPORT PFNGLXDELAYBEFORESWAPNVPROC __glewXDelayBeforeSwapNV; + +GLXEW_FUN_EXPORT PFNGLXBINDVIDEODEVICENVPROC __glewXBindVideoDeviceNV; +GLXEW_FUN_EXPORT PFNGLXENUMERATEVIDEODEVICESNVPROC __glewXEnumerateVideoDevicesNV; + +GLXEW_FUN_EXPORT PFNGLXBINDSWAPBARRIERNVPROC __glewXBindSwapBarrierNV; +GLXEW_FUN_EXPORT PFNGLXJOINSWAPGROUPNVPROC __glewXJoinSwapGroupNV; +GLXEW_FUN_EXPORT PFNGLXQUERYFRAMECOUNTNVPROC __glewXQueryFrameCountNV; +GLXEW_FUN_EXPORT PFNGLXQUERYMAXSWAPGROUPSNVPROC __glewXQueryMaxSwapGroupsNV; +GLXEW_FUN_EXPORT PFNGLXQUERYSWAPGROUPNVPROC __glewXQuerySwapGroupNV; +GLXEW_FUN_EXPORT PFNGLXRESETFRAMECOUNTNVPROC __glewXResetFrameCountNV; + +GLXEW_FUN_EXPORT PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV; +GLXEW_FUN_EXPORT PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV; + +GLXEW_FUN_EXPORT PFNGLXBINDVIDEOCAPTUREDEVICENVPROC __glewXBindVideoCaptureDeviceNV; +GLXEW_FUN_EXPORT PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC __glewXEnumerateVideoCaptureDevicesNV; +GLXEW_FUN_EXPORT PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC __glewXLockVideoCaptureDeviceNV; +GLXEW_FUN_EXPORT PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC __glewXQueryVideoCaptureDeviceNV; +GLXEW_FUN_EXPORT PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC __glewXReleaseVideoCaptureDeviceNV; + +GLXEW_FUN_EXPORT PFNGLXBINDVIDEOIMAGENVPROC __glewXBindVideoImageNV; +GLXEW_FUN_EXPORT PFNGLXGETVIDEODEVICENVPROC __glewXGetVideoDeviceNV; +GLXEW_FUN_EXPORT PFNGLXGETVIDEOINFONVPROC __glewXGetVideoInfoNV; +GLXEW_FUN_EXPORT PFNGLXRELEASEVIDEODEVICENVPROC __glewXReleaseVideoDeviceNV; +GLXEW_FUN_EXPORT PFNGLXRELEASEVIDEOIMAGENVPROC __glewXReleaseVideoImageNV; +GLXEW_FUN_EXPORT PFNGLXSENDPBUFFERTOVIDEONVPROC __glewXSendPbufferToVideoNV; + +GLXEW_FUN_EXPORT PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML; +GLXEW_FUN_EXPORT PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML; +GLXEW_FUN_EXPORT PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML; +GLXEW_FUN_EXPORT PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML; +GLXEW_FUN_EXPORT PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML; + +GLXEW_FUN_EXPORT PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX; +GLXEW_FUN_EXPORT PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX; +GLXEW_FUN_EXPORT PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC __glewXCreateGLXPixmapWithConfigSGIX; +GLXEW_FUN_EXPORT PFNGLXGETFBCONFIGATTRIBSGIXPROC __glewXGetFBConfigAttribSGIX; +GLXEW_FUN_EXPORT PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX; +GLXEW_FUN_EXPORT PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX; + +GLXEW_FUN_EXPORT PFNGLXBINDHYPERPIPESGIXPROC __glewXBindHyperpipeSGIX; +GLXEW_FUN_EXPORT PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC __glewXDestroyHyperpipeConfigSGIX; +GLXEW_FUN_EXPORT PFNGLXHYPERPIPEATTRIBSGIXPROC __glewXHyperpipeAttribSGIX; +GLXEW_FUN_EXPORT PFNGLXHYPERPIPECONFIGSGIXPROC __glewXHyperpipeConfigSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC __glewXQueryHyperpipeAttribSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC __glewXQueryHyperpipeBestAttribSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYHYPERPIPECONFIGSGIXPROC __glewXQueryHyperpipeConfigSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYHYPERPIPENETWORKSGIXPROC __glewXQueryHyperpipeNetworkSGIX; + +GLXEW_FUN_EXPORT PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX; +GLXEW_FUN_EXPORT PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX; +GLXEW_FUN_EXPORT PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYGLXPBUFFERSGIXPROC __glewXQueryGLXPbufferSGIX; +GLXEW_FUN_EXPORT PFNGLXSELECTEVENTSGIXPROC __glewXSelectEventSGIX; + +GLXEW_FUN_EXPORT PFNGLXBINDSWAPBARRIERSGIXPROC __glewXBindSwapBarrierSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC __glewXQueryMaxSwapBarriersSGIX; + +GLXEW_FUN_EXPORT PFNGLXJOINSWAPGROUPSGIXPROC __glewXJoinSwapGroupSGIX; + +GLXEW_FUN_EXPORT PFNGLXBINDCHANNELTOWINDOWSGIXPROC __glewXBindChannelToWindowSGIX; +GLXEW_FUN_EXPORT PFNGLXCHANNELRECTSGIXPROC __glewXChannelRectSGIX; +GLXEW_FUN_EXPORT PFNGLXCHANNELRECTSYNCSGIXPROC __glewXChannelRectSyncSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYCHANNELDELTASSGIXPROC __glewXQueryChannelDeltasSGIX; +GLXEW_FUN_EXPORT PFNGLXQUERYCHANNELRECTSGIXPROC __glewXQueryChannelRectSGIX; + +GLXEW_FUN_EXPORT PFNGLXCUSHIONSGIPROC __glewXCushionSGI; + +GLXEW_FUN_EXPORT PFNGLXGETCURRENTREADDRAWABLESGIPROC __glewXGetCurrentReadDrawableSGI; +GLXEW_FUN_EXPORT PFNGLXMAKECURRENTREADSGIPROC __glewXMakeCurrentReadSGI; + +GLXEW_FUN_EXPORT PFNGLXSWAPINTERVALSGIPROC __glewXSwapIntervalSGI; + +GLXEW_FUN_EXPORT PFNGLXGETVIDEOSYNCSGIPROC __glewXGetVideoSyncSGI; +GLXEW_FUN_EXPORT PFNGLXWAITVIDEOSYNCSGIPROC __glewXWaitVideoSyncSGI; + +GLXEW_FUN_EXPORT PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN; + +GLXEW_FUN_EXPORT PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN; +GLXEW_FUN_EXPORT PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN; + +#if defined(GLEW_MX) +struct GLXEWContextStruct +{ +#endif /* GLEW_MX */ + +GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_0; +GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_1; +GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_2; +GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_3; +GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_4; +GLXEW_VAR_EXPORT GLboolean __GLXEW_3DFX_multisample; +GLXEW_VAR_EXPORT GLboolean __GLXEW_AMD_gpu_association; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_context_flush_control; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context_profile; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_create_context_robustness; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_fbconfig_float; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_framebuffer_sRGB; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_get_proc_address; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_multisample; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_robustness_application_isolation; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_robustness_share_group_isolation; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ARB_vertex_buffer_object; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ATI_pixel_format_float; +GLXEW_VAR_EXPORT GLboolean __GLXEW_ATI_render_texture; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_buffer_age; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_create_context_es2_profile; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_create_context_es_profile; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_fbconfig_packed_float; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_framebuffer_sRGB; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_import_context; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_scene_marker; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_stereo_tree; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_swap_control; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_swap_control_tear; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_texture_from_pixmap; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_visual_info; +GLXEW_VAR_EXPORT GLboolean __GLXEW_EXT_visual_rating; +GLXEW_VAR_EXPORT GLboolean __GLXEW_INTEL_swap_event; +GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_agp_offset; +GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_copy_sub_buffer; +GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_pixmap_colormap; +GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_query_renderer; +GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_release_buffers; +GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode; +GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_swap_control; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_copy_buffer; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_copy_image; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_delay_before_swap; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_float_buffer; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_multisample_coverage; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_present_video; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_swap_group; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_vertex_array_range; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_video_capture; +GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_video_out; +GLXEW_VAR_EXPORT GLboolean __GLXEW_OML_swap_method; +GLXEW_VAR_EXPORT GLboolean __GLXEW_OML_sync_control; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIS_blended_overlay; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIS_color_range; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIS_multisample; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIS_shared_multisample; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIX_fbconfig; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIX_hyperpipe; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIX_pbuffer; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIX_swap_barrier; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIX_swap_group; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIX_video_resize; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGIX_visual_select_group; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGI_cushion; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGI_make_current_read; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGI_swap_control; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SGI_video_sync; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SUN_get_transparent_index; +GLXEW_VAR_EXPORT GLboolean __GLXEW_SUN_video_resize; + +#ifdef GLEW_MX +}; /* GLXEWContextStruct */ +#endif /* GLEW_MX */ + +/* ------------------------------------------------------------------------ */ + +#ifdef GLEW_MX + +typedef struct GLXEWContextStruct GLXEWContext; +GLEWAPI GLenum GLEWAPIENTRY glxewContextInit (GLXEWContext *ctx); +GLEWAPI GLboolean GLEWAPIENTRY glxewContextIsSupported (const GLXEWContext *ctx, const char *name); + +#define glxewInit() glxewContextInit(glxewGetContext()) +#define glxewIsSupported(x) glxewContextIsSupported(glxewGetContext(), x) + +#define GLXEW_GET_VAR(x) (*(const GLboolean*)&(glxewGetContext()->x)) +#define GLXEW_GET_FUN(x) x + +#else /* GLEW_MX */ + +GLEWAPI GLenum GLEWAPIENTRY glxewInit (); +GLEWAPI GLboolean GLEWAPIENTRY glxewIsSupported (const char *name); + +#define GLXEW_GET_VAR(x) (*(const GLboolean*)&x) +#define GLXEW_GET_FUN(x) x + +#endif /* GLEW_MX */ + +GLEWAPI GLboolean GLEWAPIENTRY glxewGetExtension (const char *name); + +#ifdef __cplusplus +} +#endif + +#endif /* __glxew_h__ */ diff --git a/externals/glew-linux/include/GL/wglew.h b/externals/glew-linux/include/GL/wglew.h new file mode 100644 index 000000000..23e4d3fba --- /dev/null +++ b/externals/glew-linux/include/GL/wglew.h @@ -0,0 +1,1453 @@ +/* +** The OpenGL Extension Wrangler Library +** Copyright (C) 2008-2015, Nigel Stewart +** Copyright (C) 2002-2008, Milan Ikits +** Copyright (C) 2002-2008, Marcelo E. Magallon +** Copyright (C) 2002, Lev Povalahev +** All rights reserved. +** +** Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are met: +** +** * Redistributions of source code must retain the above copyright notice, +** this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright notice, +** this list of conditions and the following disclaimer in the documentation +** and/or other materials provided with the distribution. +** * The name of the author may be used to endorse or promote products +** derived from this software without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +** THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* +** Copyright (c) 2007 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +#ifndef __wglew_h__ +#define __wglew_h__ +#define __WGLEW_H__ + +#ifdef __wglext_h_ +#error wglext.h included before wglew.h +#endif + +#define __wglext_h_ + +#if !defined(WINAPI) +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN 1 +# endif +#include +# undef WIN32_LEAN_AND_MEAN +#endif + +/* + * GLEW_STATIC needs to be set when using the static version. + * GLEW_BUILD is set when building the DLL version. + */ +#ifdef GLEW_STATIC +# define GLEWAPI extern +#else +# ifdef GLEW_BUILD +# define GLEWAPI extern __declspec(dllexport) +# else +# define GLEWAPI extern __declspec(dllimport) +# endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* -------------------------- WGL_3DFX_multisample ------------------------- */ + +#ifndef WGL_3DFX_multisample +#define WGL_3DFX_multisample 1 + +#define WGL_SAMPLE_BUFFERS_3DFX 0x2060 +#define WGL_SAMPLES_3DFX 0x2061 + +#define WGLEW_3DFX_multisample WGLEW_GET_VAR(__WGLEW_3DFX_multisample) + +#endif /* WGL_3DFX_multisample */ + +/* ------------------------- WGL_3DL_stereo_control ------------------------ */ + +#ifndef WGL_3DL_stereo_control +#define WGL_3DL_stereo_control 1 + +#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055 +#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056 +#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057 +#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058 + +typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState); + +#define wglSetStereoEmitterState3DL WGLEW_GET_FUN(__wglewSetStereoEmitterState3DL) + +#define WGLEW_3DL_stereo_control WGLEW_GET_VAR(__WGLEW_3DL_stereo_control) + +#endif /* WGL_3DL_stereo_control */ + +/* ------------------------ WGL_AMD_gpu_association ------------------------ */ + +#ifndef WGL_AMD_gpu_association +#define WGL_AMD_gpu_association 1 + +#define WGL_GPU_VENDOR_AMD 0x1F00 +#define WGL_GPU_RENDERER_STRING_AMD 0x1F01 +#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02 +#define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2 +#define WGL_GPU_RAM_AMD 0x21A3 +#define WGL_GPU_CLOCK_AMD 0x21A4 +#define WGL_GPU_NUM_PIPES_AMD 0x21A5 +#define WGL_GPU_NUM_SIMD_AMD 0x21A6 +#define WGL_GPU_NUM_RB_AMD 0x21A7 +#define WGL_GPU_NUM_SPI_AMD 0x21A8 + +typedef VOID (WINAPI * PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC) (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC) (UINT id); +typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (UINT id, HGLRC hShareContext, const int* attribList); +typedef BOOL (WINAPI * PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) (HGLRC hglrc); +typedef UINT (WINAPI * PFNWGLGETCONTEXTGPUIDAMDPROC) (HGLRC hglrc); +typedef HGLRC (WINAPI * PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void); +typedef UINT (WINAPI * PFNWGLGETGPUIDSAMDPROC) (UINT maxCount, UINT* ids); +typedef INT (WINAPI * PFNWGLGETGPUINFOAMDPROC) (UINT id, INT property, GLenum dataType, UINT size, void* data); +typedef BOOL (WINAPI * PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (HGLRC hglrc); + +#define wglBlitContextFramebufferAMD WGLEW_GET_FUN(__wglewBlitContextFramebufferAMD) +#define wglCreateAssociatedContextAMD WGLEW_GET_FUN(__wglewCreateAssociatedContextAMD) +#define wglCreateAssociatedContextAttribsAMD WGLEW_GET_FUN(__wglewCreateAssociatedContextAttribsAMD) +#define wglDeleteAssociatedContextAMD WGLEW_GET_FUN(__wglewDeleteAssociatedContextAMD) +#define wglGetContextGPUIDAMD WGLEW_GET_FUN(__wglewGetContextGPUIDAMD) +#define wglGetCurrentAssociatedContextAMD WGLEW_GET_FUN(__wglewGetCurrentAssociatedContextAMD) +#define wglGetGPUIDsAMD WGLEW_GET_FUN(__wglewGetGPUIDsAMD) +#define wglGetGPUInfoAMD WGLEW_GET_FUN(__wglewGetGPUInfoAMD) +#define wglMakeAssociatedContextCurrentAMD WGLEW_GET_FUN(__wglewMakeAssociatedContextCurrentAMD) + +#define WGLEW_AMD_gpu_association WGLEW_GET_VAR(__WGLEW_AMD_gpu_association) + +#endif /* WGL_AMD_gpu_association */ + +/* ------------------------- WGL_ARB_buffer_region ------------------------- */ + +#ifndef WGL_ARB_buffer_region +#define WGL_ARB_buffer_region 1 + +#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001 +#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002 +#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004 +#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008 + +typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType); +typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion); +typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc); +typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height); + +#define wglCreateBufferRegionARB WGLEW_GET_FUN(__wglewCreateBufferRegionARB) +#define wglDeleteBufferRegionARB WGLEW_GET_FUN(__wglewDeleteBufferRegionARB) +#define wglRestoreBufferRegionARB WGLEW_GET_FUN(__wglewRestoreBufferRegionARB) +#define wglSaveBufferRegionARB WGLEW_GET_FUN(__wglewSaveBufferRegionARB) + +#define WGLEW_ARB_buffer_region WGLEW_GET_VAR(__WGLEW_ARB_buffer_region) + +#endif /* WGL_ARB_buffer_region */ + +/* --------------------- WGL_ARB_context_flush_control --------------------- */ + +#ifndef WGL_ARB_context_flush_control +#define WGL_ARB_context_flush_control 1 + +#define WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0x0000 +#define WGL_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097 +#define WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098 + +#define WGLEW_ARB_context_flush_control WGLEW_GET_VAR(__WGLEW_ARB_context_flush_control) + +#endif /* WGL_ARB_context_flush_control */ + +/* ------------------------- WGL_ARB_create_context ------------------------ */ + +#ifndef WGL_ARB_create_context +#define WGL_ARB_create_context 1 + +#define WGL_CONTEXT_DEBUG_BIT_ARB 0x0001 +#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002 +#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091 +#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092 +#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093 +#define WGL_CONTEXT_FLAGS_ARB 0x2094 +#define ERROR_INVALID_VERSION_ARB 0x2095 +#define ERROR_INVALID_PROFILE_ARB 0x2096 + +typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int* attribList); + +#define wglCreateContextAttribsARB WGLEW_GET_FUN(__wglewCreateContextAttribsARB) + +#define WGLEW_ARB_create_context WGLEW_GET_VAR(__WGLEW_ARB_create_context) + +#endif /* WGL_ARB_create_context */ + +/* --------------------- WGL_ARB_create_context_profile -------------------- */ + +#ifndef WGL_ARB_create_context_profile +#define WGL_ARB_create_context_profile 1 + +#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001 +#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 +#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126 + +#define WGLEW_ARB_create_context_profile WGLEW_GET_VAR(__WGLEW_ARB_create_context_profile) + +#endif /* WGL_ARB_create_context_profile */ + +/* ------------------- WGL_ARB_create_context_robustness ------------------- */ + +#ifndef WGL_ARB_create_context_robustness +#define WGL_ARB_create_context_robustness 1 + +#define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004 +#define WGL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 +#define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 +#define WGL_NO_RESET_NOTIFICATION_ARB 0x8261 + +#define WGLEW_ARB_create_context_robustness WGLEW_GET_VAR(__WGLEW_ARB_create_context_robustness) + +#endif /* WGL_ARB_create_context_robustness */ + +/* ----------------------- WGL_ARB_extensions_string ----------------------- */ + +#ifndef WGL_ARB_extensions_string +#define WGL_ARB_extensions_string 1 + +typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc); + +#define wglGetExtensionsStringARB WGLEW_GET_FUN(__wglewGetExtensionsStringARB) + +#define WGLEW_ARB_extensions_string WGLEW_GET_VAR(__WGLEW_ARB_extensions_string) + +#endif /* WGL_ARB_extensions_string */ + +/* ------------------------ WGL_ARB_framebuffer_sRGB ----------------------- */ + +#ifndef WGL_ARB_framebuffer_sRGB +#define WGL_ARB_framebuffer_sRGB 1 + +#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9 + +#define WGLEW_ARB_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_ARB_framebuffer_sRGB) + +#endif /* WGL_ARB_framebuffer_sRGB */ + +/* ----------------------- WGL_ARB_make_current_read ----------------------- */ + +#ifndef WGL_ARB_make_current_read +#define WGL_ARB_make_current_read 1 + +#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043 +#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054 + +typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (VOID); +typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); + +#define wglGetCurrentReadDCARB WGLEW_GET_FUN(__wglewGetCurrentReadDCARB) +#define wglMakeContextCurrentARB WGLEW_GET_FUN(__wglewMakeContextCurrentARB) + +#define WGLEW_ARB_make_current_read WGLEW_GET_VAR(__WGLEW_ARB_make_current_read) + +#endif /* WGL_ARB_make_current_read */ + +/* -------------------------- WGL_ARB_multisample -------------------------- */ + +#ifndef WGL_ARB_multisample +#define WGL_ARB_multisample 1 + +#define WGL_SAMPLE_BUFFERS_ARB 0x2041 +#define WGL_SAMPLES_ARB 0x2042 + +#define WGLEW_ARB_multisample WGLEW_GET_VAR(__WGLEW_ARB_multisample) + +#endif /* WGL_ARB_multisample */ + +/* ---------------------------- WGL_ARB_pbuffer ---------------------------- */ + +#ifndef WGL_ARB_pbuffer +#define WGL_ARB_pbuffer 1 + +#define WGL_DRAW_TO_PBUFFER_ARB 0x202D +#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E +#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F +#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030 +#define WGL_PBUFFER_LARGEST_ARB 0x2033 +#define WGL_PBUFFER_WIDTH_ARB 0x2034 +#define WGL_PBUFFER_HEIGHT_ARB 0x2035 +#define WGL_PBUFFER_LOST_ARB 0x2036 + +DECLARE_HANDLE(HPBUFFERARB); + +typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList); +typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer); +typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer); +typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int* piValue); +typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC); + +#define wglCreatePbufferARB WGLEW_GET_FUN(__wglewCreatePbufferARB) +#define wglDestroyPbufferARB WGLEW_GET_FUN(__wglewDestroyPbufferARB) +#define wglGetPbufferDCARB WGLEW_GET_FUN(__wglewGetPbufferDCARB) +#define wglQueryPbufferARB WGLEW_GET_FUN(__wglewQueryPbufferARB) +#define wglReleasePbufferDCARB WGLEW_GET_FUN(__wglewReleasePbufferDCARB) + +#define WGLEW_ARB_pbuffer WGLEW_GET_VAR(__WGLEW_ARB_pbuffer) + +#endif /* WGL_ARB_pbuffer */ + +/* -------------------------- WGL_ARB_pixel_format ------------------------- */ + +#ifndef WGL_ARB_pixel_format +#define WGL_ARB_pixel_format 1 + +#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000 +#define WGL_DRAW_TO_WINDOW_ARB 0x2001 +#define WGL_DRAW_TO_BITMAP_ARB 0x2002 +#define WGL_ACCELERATION_ARB 0x2003 +#define WGL_NEED_PALETTE_ARB 0x2004 +#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005 +#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006 +#define WGL_SWAP_METHOD_ARB 0x2007 +#define WGL_NUMBER_OVERLAYS_ARB 0x2008 +#define WGL_NUMBER_UNDERLAYS_ARB 0x2009 +#define WGL_TRANSPARENT_ARB 0x200A +#define WGL_SHARE_DEPTH_ARB 0x200C +#define WGL_SHARE_STENCIL_ARB 0x200D +#define WGL_SHARE_ACCUM_ARB 0x200E +#define WGL_SUPPORT_GDI_ARB 0x200F +#define WGL_SUPPORT_OPENGL_ARB 0x2010 +#define WGL_DOUBLE_BUFFER_ARB 0x2011 +#define WGL_STEREO_ARB 0x2012 +#define WGL_PIXEL_TYPE_ARB 0x2013 +#define WGL_COLOR_BITS_ARB 0x2014 +#define WGL_RED_BITS_ARB 0x2015 +#define WGL_RED_SHIFT_ARB 0x2016 +#define WGL_GREEN_BITS_ARB 0x2017 +#define WGL_GREEN_SHIFT_ARB 0x2018 +#define WGL_BLUE_BITS_ARB 0x2019 +#define WGL_BLUE_SHIFT_ARB 0x201A +#define WGL_ALPHA_BITS_ARB 0x201B +#define WGL_ALPHA_SHIFT_ARB 0x201C +#define WGL_ACCUM_BITS_ARB 0x201D +#define WGL_ACCUM_RED_BITS_ARB 0x201E +#define WGL_ACCUM_GREEN_BITS_ARB 0x201F +#define WGL_ACCUM_BLUE_BITS_ARB 0x2020 +#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021 +#define WGL_DEPTH_BITS_ARB 0x2022 +#define WGL_STENCIL_BITS_ARB 0x2023 +#define WGL_AUX_BUFFERS_ARB 0x2024 +#define WGL_NO_ACCELERATION_ARB 0x2025 +#define WGL_GENERIC_ACCELERATION_ARB 0x2026 +#define WGL_FULL_ACCELERATION_ARB 0x2027 +#define WGL_SWAP_EXCHANGE_ARB 0x2028 +#define WGL_SWAP_COPY_ARB 0x2029 +#define WGL_SWAP_UNDEFINED_ARB 0x202A +#define WGL_TYPE_RGBA_ARB 0x202B +#define WGL_TYPE_COLORINDEX_ARB 0x202C +#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037 +#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038 +#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039 +#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A +#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B + +typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); +typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, FLOAT *pfValues); +typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, int *piValues); + +#define wglChoosePixelFormatARB WGLEW_GET_FUN(__wglewChoosePixelFormatARB) +#define wglGetPixelFormatAttribfvARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvARB) +#define wglGetPixelFormatAttribivARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribivARB) + +#define WGLEW_ARB_pixel_format WGLEW_GET_VAR(__WGLEW_ARB_pixel_format) + +#endif /* WGL_ARB_pixel_format */ + +/* ----------------------- WGL_ARB_pixel_format_float ---------------------- */ + +#ifndef WGL_ARB_pixel_format_float +#define WGL_ARB_pixel_format_float 1 + +#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0 + +#define WGLEW_ARB_pixel_format_float WGLEW_GET_VAR(__WGLEW_ARB_pixel_format_float) + +#endif /* WGL_ARB_pixel_format_float */ + +/* ------------------------- WGL_ARB_render_texture ------------------------ */ + +#ifndef WGL_ARB_render_texture +#define WGL_ARB_render_texture 1 + +#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070 +#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071 +#define WGL_TEXTURE_FORMAT_ARB 0x2072 +#define WGL_TEXTURE_TARGET_ARB 0x2073 +#define WGL_MIPMAP_TEXTURE_ARB 0x2074 +#define WGL_TEXTURE_RGB_ARB 0x2075 +#define WGL_TEXTURE_RGBA_ARB 0x2076 +#define WGL_NO_TEXTURE_ARB 0x2077 +#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078 +#define WGL_TEXTURE_1D_ARB 0x2079 +#define WGL_TEXTURE_2D_ARB 0x207A +#define WGL_MIPMAP_LEVEL_ARB 0x207B +#define WGL_CUBE_MAP_FACE_ARB 0x207C +#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D +#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E +#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F +#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080 +#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081 +#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082 +#define WGL_FRONT_LEFT_ARB 0x2083 +#define WGL_FRONT_RIGHT_ARB 0x2084 +#define WGL_BACK_LEFT_ARB 0x2085 +#define WGL_BACK_RIGHT_ARB 0x2086 +#define WGL_AUX0_ARB 0x2087 +#define WGL_AUX1_ARB 0x2088 +#define WGL_AUX2_ARB 0x2089 +#define WGL_AUX3_ARB 0x208A +#define WGL_AUX4_ARB 0x208B +#define WGL_AUX5_ARB 0x208C +#define WGL_AUX6_ARB 0x208D +#define WGL_AUX7_ARB 0x208E +#define WGL_AUX8_ARB 0x208F +#define WGL_AUX9_ARB 0x2090 + +typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); +typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); +typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int* piAttribList); + +#define wglBindTexImageARB WGLEW_GET_FUN(__wglewBindTexImageARB) +#define wglReleaseTexImageARB WGLEW_GET_FUN(__wglewReleaseTexImageARB) +#define wglSetPbufferAttribARB WGLEW_GET_FUN(__wglewSetPbufferAttribARB) + +#define WGLEW_ARB_render_texture WGLEW_GET_VAR(__WGLEW_ARB_render_texture) + +#endif /* WGL_ARB_render_texture */ + +/* ---------------- WGL_ARB_robustness_application_isolation --------------- */ + +#ifndef WGL_ARB_robustness_application_isolation +#define WGL_ARB_robustness_application_isolation 1 + +#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008 + +#define WGLEW_ARB_robustness_application_isolation WGLEW_GET_VAR(__WGLEW_ARB_robustness_application_isolation) + +#endif /* WGL_ARB_robustness_application_isolation */ + +/* ---------------- WGL_ARB_robustness_share_group_isolation --------------- */ + +#ifndef WGL_ARB_robustness_share_group_isolation +#define WGL_ARB_robustness_share_group_isolation 1 + +#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008 + +#define WGLEW_ARB_robustness_share_group_isolation WGLEW_GET_VAR(__WGLEW_ARB_robustness_share_group_isolation) + +#endif /* WGL_ARB_robustness_share_group_isolation */ + +/* ----------------------- WGL_ATI_pixel_format_float ---------------------- */ + +#ifndef WGL_ATI_pixel_format_float +#define WGL_ATI_pixel_format_float 1 + +#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0 +#define GL_RGBA_FLOAT_MODE_ATI 0x8820 +#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835 + +#define WGLEW_ATI_pixel_format_float WGLEW_GET_VAR(__WGLEW_ATI_pixel_format_float) + +#endif /* WGL_ATI_pixel_format_float */ + +/* -------------------- WGL_ATI_render_texture_rectangle ------------------- */ + +#ifndef WGL_ATI_render_texture_rectangle +#define WGL_ATI_render_texture_rectangle 1 + +#define WGL_TEXTURE_RECTANGLE_ATI 0x21A5 + +#define WGLEW_ATI_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_ATI_render_texture_rectangle) + +#endif /* WGL_ATI_render_texture_rectangle */ + +/* ------------------- WGL_EXT_create_context_es2_profile ------------------ */ + +#ifndef WGL_EXT_create_context_es2_profile +#define WGL_EXT_create_context_es2_profile 1 + +#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004 + +#define WGLEW_EXT_create_context_es2_profile WGLEW_GET_VAR(__WGLEW_EXT_create_context_es2_profile) + +#endif /* WGL_EXT_create_context_es2_profile */ + +/* ------------------- WGL_EXT_create_context_es_profile ------------------- */ + +#ifndef WGL_EXT_create_context_es_profile +#define WGL_EXT_create_context_es_profile 1 + +#define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004 + +#define WGLEW_EXT_create_context_es_profile WGLEW_GET_VAR(__WGLEW_EXT_create_context_es_profile) + +#endif /* WGL_EXT_create_context_es_profile */ + +/* -------------------------- WGL_EXT_depth_float -------------------------- */ + +#ifndef WGL_EXT_depth_float +#define WGL_EXT_depth_float 1 + +#define WGL_DEPTH_FLOAT_EXT 0x2040 + +#define WGLEW_EXT_depth_float WGLEW_GET_VAR(__WGLEW_EXT_depth_float) + +#endif /* WGL_EXT_depth_float */ + +/* ---------------------- WGL_EXT_display_color_table ---------------------- */ + +#ifndef WGL_EXT_display_color_table +#define WGL_EXT_display_color_table 1 + +typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id); +typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id); +typedef void (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id); +typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (GLushort* table, GLuint length); + +#define wglBindDisplayColorTableEXT WGLEW_GET_FUN(__wglewBindDisplayColorTableEXT) +#define wglCreateDisplayColorTableEXT WGLEW_GET_FUN(__wglewCreateDisplayColorTableEXT) +#define wglDestroyDisplayColorTableEXT WGLEW_GET_FUN(__wglewDestroyDisplayColorTableEXT) +#define wglLoadDisplayColorTableEXT WGLEW_GET_FUN(__wglewLoadDisplayColorTableEXT) + +#define WGLEW_EXT_display_color_table WGLEW_GET_VAR(__WGLEW_EXT_display_color_table) + +#endif /* WGL_EXT_display_color_table */ + +/* ----------------------- WGL_EXT_extensions_string ----------------------- */ + +#ifndef WGL_EXT_extensions_string +#define WGL_EXT_extensions_string 1 + +typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void); + +#define wglGetExtensionsStringEXT WGLEW_GET_FUN(__wglewGetExtensionsStringEXT) + +#define WGLEW_EXT_extensions_string WGLEW_GET_VAR(__WGLEW_EXT_extensions_string) + +#endif /* WGL_EXT_extensions_string */ + +/* ------------------------ WGL_EXT_framebuffer_sRGB ----------------------- */ + +#ifndef WGL_EXT_framebuffer_sRGB +#define WGL_EXT_framebuffer_sRGB 1 + +#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9 + +#define WGLEW_EXT_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_EXT_framebuffer_sRGB) + +#endif /* WGL_EXT_framebuffer_sRGB */ + +/* ----------------------- WGL_EXT_make_current_read ----------------------- */ + +#ifndef WGL_EXT_make_current_read +#define WGL_EXT_make_current_read 1 + +#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043 + +typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (VOID); +typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); + +#define wglGetCurrentReadDCEXT WGLEW_GET_FUN(__wglewGetCurrentReadDCEXT) +#define wglMakeContextCurrentEXT WGLEW_GET_FUN(__wglewMakeContextCurrentEXT) + +#define WGLEW_EXT_make_current_read WGLEW_GET_VAR(__WGLEW_EXT_make_current_read) + +#endif /* WGL_EXT_make_current_read */ + +/* -------------------------- WGL_EXT_multisample -------------------------- */ + +#ifndef WGL_EXT_multisample +#define WGL_EXT_multisample 1 + +#define WGL_SAMPLE_BUFFERS_EXT 0x2041 +#define WGL_SAMPLES_EXT 0x2042 + +#define WGLEW_EXT_multisample WGLEW_GET_VAR(__WGLEW_EXT_multisample) + +#endif /* WGL_EXT_multisample */ + +/* ---------------------------- WGL_EXT_pbuffer ---------------------------- */ + +#ifndef WGL_EXT_pbuffer +#define WGL_EXT_pbuffer 1 + +#define WGL_DRAW_TO_PBUFFER_EXT 0x202D +#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E +#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F +#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030 +#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031 +#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032 +#define WGL_PBUFFER_LARGEST_EXT 0x2033 +#define WGL_PBUFFER_WIDTH_EXT 0x2034 +#define WGL_PBUFFER_HEIGHT_EXT 0x2035 + +DECLARE_HANDLE(HPBUFFEREXT); + +typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList); +typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer); +typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer); +typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int* piValue); +typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC); + +#define wglCreatePbufferEXT WGLEW_GET_FUN(__wglewCreatePbufferEXT) +#define wglDestroyPbufferEXT WGLEW_GET_FUN(__wglewDestroyPbufferEXT) +#define wglGetPbufferDCEXT WGLEW_GET_FUN(__wglewGetPbufferDCEXT) +#define wglQueryPbufferEXT WGLEW_GET_FUN(__wglewQueryPbufferEXT) +#define wglReleasePbufferDCEXT WGLEW_GET_FUN(__wglewReleasePbufferDCEXT) + +#define WGLEW_EXT_pbuffer WGLEW_GET_VAR(__WGLEW_EXT_pbuffer) + +#endif /* WGL_EXT_pbuffer */ + +/* -------------------------- WGL_EXT_pixel_format ------------------------- */ + +#ifndef WGL_EXT_pixel_format +#define WGL_EXT_pixel_format 1 + +#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000 +#define WGL_DRAW_TO_WINDOW_EXT 0x2001 +#define WGL_DRAW_TO_BITMAP_EXT 0x2002 +#define WGL_ACCELERATION_EXT 0x2003 +#define WGL_NEED_PALETTE_EXT 0x2004 +#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005 +#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006 +#define WGL_SWAP_METHOD_EXT 0x2007 +#define WGL_NUMBER_OVERLAYS_EXT 0x2008 +#define WGL_NUMBER_UNDERLAYS_EXT 0x2009 +#define WGL_TRANSPARENT_EXT 0x200A +#define WGL_TRANSPARENT_VALUE_EXT 0x200B +#define WGL_SHARE_DEPTH_EXT 0x200C +#define WGL_SHARE_STENCIL_EXT 0x200D +#define WGL_SHARE_ACCUM_EXT 0x200E +#define WGL_SUPPORT_GDI_EXT 0x200F +#define WGL_SUPPORT_OPENGL_EXT 0x2010 +#define WGL_DOUBLE_BUFFER_EXT 0x2011 +#define WGL_STEREO_EXT 0x2012 +#define WGL_PIXEL_TYPE_EXT 0x2013 +#define WGL_COLOR_BITS_EXT 0x2014 +#define WGL_RED_BITS_EXT 0x2015 +#define WGL_RED_SHIFT_EXT 0x2016 +#define WGL_GREEN_BITS_EXT 0x2017 +#define WGL_GREEN_SHIFT_EXT 0x2018 +#define WGL_BLUE_BITS_EXT 0x2019 +#define WGL_BLUE_SHIFT_EXT 0x201A +#define WGL_ALPHA_BITS_EXT 0x201B +#define WGL_ALPHA_SHIFT_EXT 0x201C +#define WGL_ACCUM_BITS_EXT 0x201D +#define WGL_ACCUM_RED_BITS_EXT 0x201E +#define WGL_ACCUM_GREEN_BITS_EXT 0x201F +#define WGL_ACCUM_BLUE_BITS_EXT 0x2020 +#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021 +#define WGL_DEPTH_BITS_EXT 0x2022 +#define WGL_STENCIL_BITS_EXT 0x2023 +#define WGL_AUX_BUFFERS_EXT 0x2024 +#define WGL_NO_ACCELERATION_EXT 0x2025 +#define WGL_GENERIC_ACCELERATION_EXT 0x2026 +#define WGL_FULL_ACCELERATION_EXT 0x2027 +#define WGL_SWAP_EXCHANGE_EXT 0x2028 +#define WGL_SWAP_COPY_EXT 0x2029 +#define WGL_SWAP_UNDEFINED_EXT 0x202A +#define WGL_TYPE_RGBA_EXT 0x202B +#define WGL_TYPE_COLORINDEX_EXT 0x202C + +typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); +typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, FLOAT *pfValues); +typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, int *piValues); + +#define wglChoosePixelFormatEXT WGLEW_GET_FUN(__wglewChoosePixelFormatEXT) +#define wglGetPixelFormatAttribfvEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvEXT) +#define wglGetPixelFormatAttribivEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribivEXT) + +#define WGLEW_EXT_pixel_format WGLEW_GET_VAR(__WGLEW_EXT_pixel_format) + +#endif /* WGL_EXT_pixel_format */ + +/* ------------------- WGL_EXT_pixel_format_packed_float ------------------- */ + +#ifndef WGL_EXT_pixel_format_packed_float +#define WGL_EXT_pixel_format_packed_float 1 + +#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8 + +#define WGLEW_EXT_pixel_format_packed_float WGLEW_GET_VAR(__WGLEW_EXT_pixel_format_packed_float) + +#endif /* WGL_EXT_pixel_format_packed_float */ + +/* -------------------------- WGL_EXT_swap_control ------------------------- */ + +#ifndef WGL_EXT_swap_control +#define WGL_EXT_swap_control 1 + +typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void); +typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval); + +#define wglGetSwapIntervalEXT WGLEW_GET_FUN(__wglewGetSwapIntervalEXT) +#define wglSwapIntervalEXT WGLEW_GET_FUN(__wglewSwapIntervalEXT) + +#define WGLEW_EXT_swap_control WGLEW_GET_VAR(__WGLEW_EXT_swap_control) + +#endif /* WGL_EXT_swap_control */ + +/* ----------------------- WGL_EXT_swap_control_tear ----------------------- */ + +#ifndef WGL_EXT_swap_control_tear +#define WGL_EXT_swap_control_tear 1 + +#define WGLEW_EXT_swap_control_tear WGLEW_GET_VAR(__WGLEW_EXT_swap_control_tear) + +#endif /* WGL_EXT_swap_control_tear */ + +/* --------------------- WGL_I3D_digital_video_control --------------------- */ + +#ifndef WGL_I3D_digital_video_control +#define WGL_I3D_digital_video_control 1 + +#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050 +#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051 +#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052 +#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053 + +typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue); +typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue); + +#define wglGetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewGetDigitalVideoParametersI3D) +#define wglSetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewSetDigitalVideoParametersI3D) + +#define WGLEW_I3D_digital_video_control WGLEW_GET_VAR(__WGLEW_I3D_digital_video_control) + +#endif /* WGL_I3D_digital_video_control */ + +/* ----------------------------- WGL_I3D_gamma ----------------------------- */ + +#ifndef WGL_I3D_gamma +#define WGL_I3D_gamma 1 + +#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E +#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F + +typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT* puRed, USHORT *puGreen, USHORT *puBlue); +typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue); +typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT* puRed, const USHORT *puGreen, const USHORT *puBlue); +typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue); + +#define wglGetGammaTableI3D WGLEW_GET_FUN(__wglewGetGammaTableI3D) +#define wglGetGammaTableParametersI3D WGLEW_GET_FUN(__wglewGetGammaTableParametersI3D) +#define wglSetGammaTableI3D WGLEW_GET_FUN(__wglewSetGammaTableI3D) +#define wglSetGammaTableParametersI3D WGLEW_GET_FUN(__wglewSetGammaTableParametersI3D) + +#define WGLEW_I3D_gamma WGLEW_GET_VAR(__WGLEW_I3D_gamma) + +#endif /* WGL_I3D_gamma */ + +/* ---------------------------- WGL_I3D_genlock ---------------------------- */ + +#ifndef WGL_I3D_genlock +#define WGL_I3D_genlock 1 + +#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044 +#define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045 +#define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046 +#define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047 +#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048 +#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049 +#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A +#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B +#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C + +typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC); +typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC); +typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate); +typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay); +typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge); +typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource); +typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT* uRate); +typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT* uDelay); +typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT* uEdge); +typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT* uSource); +typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL* pFlag); +typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT* uMaxLineDelay, UINT *uMaxPixelDelay); + +#define wglDisableGenlockI3D WGLEW_GET_FUN(__wglewDisableGenlockI3D) +#define wglEnableGenlockI3D WGLEW_GET_FUN(__wglewEnableGenlockI3D) +#define wglGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGenlockSampleRateI3D) +#define wglGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGenlockSourceDelayI3D) +#define wglGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGenlockSourceEdgeI3D) +#define wglGenlockSourceI3D WGLEW_GET_FUN(__wglewGenlockSourceI3D) +#define wglGetGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGetGenlockSampleRateI3D) +#define wglGetGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGetGenlockSourceDelayI3D) +#define wglGetGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGetGenlockSourceEdgeI3D) +#define wglGetGenlockSourceI3D WGLEW_GET_FUN(__wglewGetGenlockSourceI3D) +#define wglIsEnabledGenlockI3D WGLEW_GET_FUN(__wglewIsEnabledGenlockI3D) +#define wglQueryGenlockMaxSourceDelayI3D WGLEW_GET_FUN(__wglewQueryGenlockMaxSourceDelayI3D) + +#define WGLEW_I3D_genlock WGLEW_GET_VAR(__WGLEW_I3D_genlock) + +#endif /* WGL_I3D_genlock */ + +/* -------------------------- WGL_I3D_image_buffer ------------------------- */ + +#ifndef WGL_I3D_image_buffer +#define WGL_I3D_image_buffer 1 + +#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001 +#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002 + +typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, HANDLE* pEvent, LPVOID *pAddress, DWORD *pSize, UINT count); +typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags); +typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress); +typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, LPVOID* pAddress, UINT count); + +#define wglAssociateImageBufferEventsI3D WGLEW_GET_FUN(__wglewAssociateImageBufferEventsI3D) +#define wglCreateImageBufferI3D WGLEW_GET_FUN(__wglewCreateImageBufferI3D) +#define wglDestroyImageBufferI3D WGLEW_GET_FUN(__wglewDestroyImageBufferI3D) +#define wglReleaseImageBufferEventsI3D WGLEW_GET_FUN(__wglewReleaseImageBufferEventsI3D) + +#define WGLEW_I3D_image_buffer WGLEW_GET_VAR(__WGLEW_I3D_image_buffer) + +#endif /* WGL_I3D_image_buffer */ + +/* ------------------------ WGL_I3D_swap_frame_lock ------------------------ */ + +#ifndef WGL_I3D_swap_frame_lock +#define WGL_I3D_swap_frame_lock 1 + +typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (VOID); +typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (VOID); +typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL* pFlag); +typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL* pFlag); + +#define wglDisableFrameLockI3D WGLEW_GET_FUN(__wglewDisableFrameLockI3D) +#define wglEnableFrameLockI3D WGLEW_GET_FUN(__wglewEnableFrameLockI3D) +#define wglIsEnabledFrameLockI3D WGLEW_GET_FUN(__wglewIsEnabledFrameLockI3D) +#define wglQueryFrameLockMasterI3D WGLEW_GET_FUN(__wglewQueryFrameLockMasterI3D) + +#define WGLEW_I3D_swap_frame_lock WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_lock) + +#endif /* WGL_I3D_swap_frame_lock */ + +/* ------------------------ WGL_I3D_swap_frame_usage ----------------------- */ + +#ifndef WGL_I3D_swap_frame_usage +#define WGL_I3D_swap_frame_usage 1 + +typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void); +typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void); +typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float* pUsage); +typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage); + +#define wglBeginFrameTrackingI3D WGLEW_GET_FUN(__wglewBeginFrameTrackingI3D) +#define wglEndFrameTrackingI3D WGLEW_GET_FUN(__wglewEndFrameTrackingI3D) +#define wglGetFrameUsageI3D WGLEW_GET_FUN(__wglewGetFrameUsageI3D) +#define wglQueryFrameTrackingI3D WGLEW_GET_FUN(__wglewQueryFrameTrackingI3D) + +#define WGLEW_I3D_swap_frame_usage WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_usage) + +#endif /* WGL_I3D_swap_frame_usage */ + +/* --------------------------- WGL_NV_DX_interop --------------------------- */ + +#ifndef WGL_NV_DX_interop +#define WGL_NV_DX_interop 1 + +#define WGL_ACCESS_READ_ONLY_NV 0x0000 +#define WGL_ACCESS_READ_WRITE_NV 0x0001 +#define WGL_ACCESS_WRITE_DISCARD_NV 0x0002 + +typedef BOOL (WINAPI * PFNWGLDXCLOSEDEVICENVPROC) (HANDLE hDevice); +typedef BOOL (WINAPI * PFNWGLDXLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE* hObjects); +typedef BOOL (WINAPI * PFNWGLDXOBJECTACCESSNVPROC) (HANDLE hObject, GLenum access); +typedef HANDLE (WINAPI * PFNWGLDXOPENDEVICENVPROC) (void* dxDevice); +typedef HANDLE (WINAPI * PFNWGLDXREGISTEROBJECTNVPROC) (HANDLE hDevice, void* dxObject, GLuint name, GLenum type, GLenum access); +typedef BOOL (WINAPI * PFNWGLDXSETRESOURCESHAREHANDLENVPROC) (void* dxObject, HANDLE shareHandle); +typedef BOOL (WINAPI * PFNWGLDXUNLOCKOBJECTSNVPROC) (HANDLE hDevice, GLint count, HANDLE* hObjects); +typedef BOOL (WINAPI * PFNWGLDXUNREGISTEROBJECTNVPROC) (HANDLE hDevice, HANDLE hObject); + +#define wglDXCloseDeviceNV WGLEW_GET_FUN(__wglewDXCloseDeviceNV) +#define wglDXLockObjectsNV WGLEW_GET_FUN(__wglewDXLockObjectsNV) +#define wglDXObjectAccessNV WGLEW_GET_FUN(__wglewDXObjectAccessNV) +#define wglDXOpenDeviceNV WGLEW_GET_FUN(__wglewDXOpenDeviceNV) +#define wglDXRegisterObjectNV WGLEW_GET_FUN(__wglewDXRegisterObjectNV) +#define wglDXSetResourceShareHandleNV WGLEW_GET_FUN(__wglewDXSetResourceShareHandleNV) +#define wglDXUnlockObjectsNV WGLEW_GET_FUN(__wglewDXUnlockObjectsNV) +#define wglDXUnregisterObjectNV WGLEW_GET_FUN(__wglewDXUnregisterObjectNV) + +#define WGLEW_NV_DX_interop WGLEW_GET_VAR(__WGLEW_NV_DX_interop) + +#endif /* WGL_NV_DX_interop */ + +/* --------------------------- WGL_NV_DX_interop2 -------------------------- */ + +#ifndef WGL_NV_DX_interop2 +#define WGL_NV_DX_interop2 1 + +#define WGLEW_NV_DX_interop2 WGLEW_GET_VAR(__WGLEW_NV_DX_interop2) + +#endif /* WGL_NV_DX_interop2 */ + +/* --------------------------- WGL_NV_copy_image --------------------------- */ + +#ifndef WGL_NV_copy_image +#define WGL_NV_copy_image 1 + +typedef BOOL (WINAPI * PFNWGLCOPYIMAGESUBDATANVPROC) (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); + +#define wglCopyImageSubDataNV WGLEW_GET_FUN(__wglewCopyImageSubDataNV) + +#define WGLEW_NV_copy_image WGLEW_GET_VAR(__WGLEW_NV_copy_image) + +#endif /* WGL_NV_copy_image */ + +/* ------------------------ WGL_NV_delay_before_swap ----------------------- */ + +#ifndef WGL_NV_delay_before_swap +#define WGL_NV_delay_before_swap 1 + +typedef BOOL (WINAPI * PFNWGLDELAYBEFORESWAPNVPROC) (HDC hDC, GLfloat seconds); + +#define wglDelayBeforeSwapNV WGLEW_GET_FUN(__wglewDelayBeforeSwapNV) + +#define WGLEW_NV_delay_before_swap WGLEW_GET_VAR(__WGLEW_NV_delay_before_swap) + +#endif /* WGL_NV_delay_before_swap */ + +/* -------------------------- WGL_NV_float_buffer -------------------------- */ + +#ifndef WGL_NV_float_buffer +#define WGL_NV_float_buffer 1 + +#define WGL_FLOAT_COMPONENTS_NV 0x20B0 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4 +#define WGL_TEXTURE_FLOAT_R_NV 0x20B5 +#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6 +#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7 +#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8 + +#define WGLEW_NV_float_buffer WGLEW_GET_VAR(__WGLEW_NV_float_buffer) + +#endif /* WGL_NV_float_buffer */ + +/* -------------------------- WGL_NV_gpu_affinity -------------------------- */ + +#ifndef WGL_NV_gpu_affinity +#define WGL_NV_gpu_affinity 1 + +#define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0 +#define WGL_ERROR_MISSING_AFFINITY_MASK_NV 0x20D1 + +DECLARE_HANDLE(HGPUNV); +typedef struct _GPU_DEVICE { + DWORD cb; + CHAR DeviceName[32]; + CHAR DeviceString[128]; + DWORD Flags; + RECT rcVirtualScreen; +} GPU_DEVICE, *PGPU_DEVICE; + +typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList); +typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc); +typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice); +typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu); +typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu); + +#define wglCreateAffinityDCNV WGLEW_GET_FUN(__wglewCreateAffinityDCNV) +#define wglDeleteDCNV WGLEW_GET_FUN(__wglewDeleteDCNV) +#define wglEnumGpuDevicesNV WGLEW_GET_FUN(__wglewEnumGpuDevicesNV) +#define wglEnumGpusFromAffinityDCNV WGLEW_GET_FUN(__wglewEnumGpusFromAffinityDCNV) +#define wglEnumGpusNV WGLEW_GET_FUN(__wglewEnumGpusNV) + +#define WGLEW_NV_gpu_affinity WGLEW_GET_VAR(__WGLEW_NV_gpu_affinity) + +#endif /* WGL_NV_gpu_affinity */ + +/* ---------------------- WGL_NV_multisample_coverage ---------------------- */ + +#ifndef WGL_NV_multisample_coverage +#define WGL_NV_multisample_coverage 1 + +#define WGL_COVERAGE_SAMPLES_NV 0x2042 +#define WGL_COLOR_SAMPLES_NV 0x20B9 + +#define WGLEW_NV_multisample_coverage WGLEW_GET_VAR(__WGLEW_NV_multisample_coverage) + +#endif /* WGL_NV_multisample_coverage */ + +/* -------------------------- WGL_NV_present_video ------------------------- */ + +#ifndef WGL_NV_present_video +#define WGL_NV_present_video 1 + +#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0 + +DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV); + +typedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDc, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int* piAttribList); +typedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDc, HVIDEOOUTPUTDEVICENV* phDeviceList); +typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int* piValue); + +#define wglBindVideoDeviceNV WGLEW_GET_FUN(__wglewBindVideoDeviceNV) +#define wglEnumerateVideoDevicesNV WGLEW_GET_FUN(__wglewEnumerateVideoDevicesNV) +#define wglQueryCurrentContextNV WGLEW_GET_FUN(__wglewQueryCurrentContextNV) + +#define WGLEW_NV_present_video WGLEW_GET_VAR(__WGLEW_NV_present_video) + +#endif /* WGL_NV_present_video */ + +/* ---------------------- WGL_NV_render_depth_texture ---------------------- */ + +#ifndef WGL_NV_render_depth_texture +#define WGL_NV_render_depth_texture 1 + +#define WGL_NO_TEXTURE_ARB 0x2077 +#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4 +#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5 +#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6 +#define WGL_DEPTH_COMPONENT_NV 0x20A7 + +#define WGLEW_NV_render_depth_texture WGLEW_GET_VAR(__WGLEW_NV_render_depth_texture) + +#endif /* WGL_NV_render_depth_texture */ + +/* -------------------- WGL_NV_render_texture_rectangle -------------------- */ + +#ifndef WGL_NV_render_texture_rectangle +#define WGL_NV_render_texture_rectangle 1 + +#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0 +#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1 +#define WGL_TEXTURE_RECTANGLE_NV 0x20A2 + +#define WGLEW_NV_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_NV_render_texture_rectangle) + +#endif /* WGL_NV_render_texture_rectangle */ + +/* --------------------------- WGL_NV_swap_group --------------------------- */ + +#ifndef WGL_NV_swap_group +#define WGL_NV_swap_group 1 + +typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier); +typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group); +typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint* count); +typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint* maxGroups, GLuint *maxBarriers); +typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint* group, GLuint *barrier); +typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC); + +#define wglBindSwapBarrierNV WGLEW_GET_FUN(__wglewBindSwapBarrierNV) +#define wglJoinSwapGroupNV WGLEW_GET_FUN(__wglewJoinSwapGroupNV) +#define wglQueryFrameCountNV WGLEW_GET_FUN(__wglewQueryFrameCountNV) +#define wglQueryMaxSwapGroupsNV WGLEW_GET_FUN(__wglewQueryMaxSwapGroupsNV) +#define wglQuerySwapGroupNV WGLEW_GET_FUN(__wglewQuerySwapGroupNV) +#define wglResetFrameCountNV WGLEW_GET_FUN(__wglewResetFrameCountNV) + +#define WGLEW_NV_swap_group WGLEW_GET_VAR(__WGLEW_NV_swap_group) + +#endif /* WGL_NV_swap_group */ + +/* ----------------------- WGL_NV_vertex_array_range ----------------------- */ + +#ifndef WGL_NV_vertex_array_range +#define WGL_NV_vertex_array_range 1 + +typedef void * (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority); +typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer); + +#define wglAllocateMemoryNV WGLEW_GET_FUN(__wglewAllocateMemoryNV) +#define wglFreeMemoryNV WGLEW_GET_FUN(__wglewFreeMemoryNV) + +#define WGLEW_NV_vertex_array_range WGLEW_GET_VAR(__WGLEW_NV_vertex_array_range) + +#endif /* WGL_NV_vertex_array_range */ + +/* -------------------------- WGL_NV_video_capture ------------------------- */ + +#ifndef WGL_NV_video_capture +#define WGL_NV_video_capture 1 + +#define WGL_UNIQUE_ID_NV 0x20CE +#define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF + +DECLARE_HANDLE(HVIDEOINPUTDEVICENV); + +typedef BOOL (WINAPI * PFNWGLBINDVIDEOCAPTUREDEVICENVPROC) (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice); +typedef UINT (WINAPI * PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC) (HDC hDc, HVIDEOINPUTDEVICENV* phDeviceList); +typedef BOOL (WINAPI * PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice); +typedef BOOL (WINAPI * PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int* piValue); +typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC) (HDC hDc, HVIDEOINPUTDEVICENV hDevice); + +#define wglBindVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewBindVideoCaptureDeviceNV) +#define wglEnumerateVideoCaptureDevicesNV WGLEW_GET_FUN(__wglewEnumerateVideoCaptureDevicesNV) +#define wglLockVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewLockVideoCaptureDeviceNV) +#define wglQueryVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewQueryVideoCaptureDeviceNV) +#define wglReleaseVideoCaptureDeviceNV WGLEW_GET_FUN(__wglewReleaseVideoCaptureDeviceNV) + +#define WGLEW_NV_video_capture WGLEW_GET_VAR(__WGLEW_NV_video_capture) + +#endif /* WGL_NV_video_capture */ + +/* -------------------------- WGL_NV_video_output -------------------------- */ + +#ifndef WGL_NV_video_output +#define WGL_NV_video_output 1 + +#define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0 +#define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1 +#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2 +#define WGL_VIDEO_OUT_COLOR_NV 0x20C3 +#define WGL_VIDEO_OUT_ALPHA_NV 0x20C4 +#define WGL_VIDEO_OUT_DEPTH_NV 0x20C5 +#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6 +#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7 +#define WGL_VIDEO_OUT_FRAME 0x20C8 +#define WGL_VIDEO_OUT_FIELD_1 0x20C9 +#define WGL_VIDEO_OUT_FIELD_2 0x20CA +#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB +#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC + +DECLARE_HANDLE(HPVIDEODEV); + +typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer); +typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV* hVideoDevice); +typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long* pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo); +typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice); +typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer); +typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long* pulCounterPbuffer, BOOL bBlock); + +#define wglBindVideoImageNV WGLEW_GET_FUN(__wglewBindVideoImageNV) +#define wglGetVideoDeviceNV WGLEW_GET_FUN(__wglewGetVideoDeviceNV) +#define wglGetVideoInfoNV WGLEW_GET_FUN(__wglewGetVideoInfoNV) +#define wglReleaseVideoDeviceNV WGLEW_GET_FUN(__wglewReleaseVideoDeviceNV) +#define wglReleaseVideoImageNV WGLEW_GET_FUN(__wglewReleaseVideoImageNV) +#define wglSendPbufferToVideoNV WGLEW_GET_FUN(__wglewSendPbufferToVideoNV) + +#define WGLEW_NV_video_output WGLEW_GET_VAR(__WGLEW_NV_video_output) + +#endif /* WGL_NV_video_output */ + +/* -------------------------- WGL_OML_sync_control ------------------------- */ + +#ifndef WGL_OML_sync_control +#define WGL_OML_sync_control 1 + +typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32* numerator, INT32 *denominator); +typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64* ust, INT64 *msc, INT64 *sbc); +typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder); +typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, INT fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder); +typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64* ust, INT64 *msc, INT64 *sbc); +typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64* ust, INT64 *msc, INT64 *sbc); + +#define wglGetMscRateOML WGLEW_GET_FUN(__wglewGetMscRateOML) +#define wglGetSyncValuesOML WGLEW_GET_FUN(__wglewGetSyncValuesOML) +#define wglSwapBuffersMscOML WGLEW_GET_FUN(__wglewSwapBuffersMscOML) +#define wglSwapLayerBuffersMscOML WGLEW_GET_FUN(__wglewSwapLayerBuffersMscOML) +#define wglWaitForMscOML WGLEW_GET_FUN(__wglewWaitForMscOML) +#define wglWaitForSbcOML WGLEW_GET_FUN(__wglewWaitForSbcOML) + +#define WGLEW_OML_sync_control WGLEW_GET_VAR(__WGLEW_OML_sync_control) + +#endif /* WGL_OML_sync_control */ + +/* ------------------------------------------------------------------------- */ + +#ifdef GLEW_MX +#define WGLEW_FUN_EXPORT +#define WGLEW_VAR_EXPORT +#else +#define WGLEW_FUN_EXPORT GLEW_FUN_EXPORT +#define WGLEW_VAR_EXPORT GLEW_VAR_EXPORT +#endif /* GLEW_MX */ + +#ifdef GLEW_MX +struct WGLEWContextStruct +{ +#endif /* GLEW_MX */ + +WGLEW_FUN_EXPORT PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL; + +WGLEW_FUN_EXPORT PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC __wglewBlitContextFramebufferAMD; +WGLEW_FUN_EXPORT PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC __wglewCreateAssociatedContextAMD; +WGLEW_FUN_EXPORT PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC __wglewCreateAssociatedContextAttribsAMD; +WGLEW_FUN_EXPORT PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC __wglewDeleteAssociatedContextAMD; +WGLEW_FUN_EXPORT PFNWGLGETCONTEXTGPUIDAMDPROC __wglewGetContextGPUIDAMD; +WGLEW_FUN_EXPORT PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC __wglewGetCurrentAssociatedContextAMD; +WGLEW_FUN_EXPORT PFNWGLGETGPUIDSAMDPROC __wglewGetGPUIDsAMD; +WGLEW_FUN_EXPORT PFNWGLGETGPUINFOAMDPROC __wglewGetGPUInfoAMD; +WGLEW_FUN_EXPORT PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC __wglewMakeAssociatedContextCurrentAMD; + +WGLEW_FUN_EXPORT PFNWGLCREATEBUFFERREGIONARBPROC __wglewCreateBufferRegionARB; +WGLEW_FUN_EXPORT PFNWGLDELETEBUFFERREGIONARBPROC __wglewDeleteBufferRegionARB; +WGLEW_FUN_EXPORT PFNWGLRESTOREBUFFERREGIONARBPROC __wglewRestoreBufferRegionARB; +WGLEW_FUN_EXPORT PFNWGLSAVEBUFFERREGIONARBPROC __wglewSaveBufferRegionARB; + +WGLEW_FUN_EXPORT PFNWGLCREATECONTEXTATTRIBSARBPROC __wglewCreateContextAttribsARB; + +WGLEW_FUN_EXPORT PFNWGLGETEXTENSIONSSTRINGARBPROC __wglewGetExtensionsStringARB; + +WGLEW_FUN_EXPORT PFNWGLGETCURRENTREADDCARBPROC __wglewGetCurrentReadDCARB; +WGLEW_FUN_EXPORT PFNWGLMAKECONTEXTCURRENTARBPROC __wglewMakeContextCurrentARB; + +WGLEW_FUN_EXPORT PFNWGLCREATEPBUFFERARBPROC __wglewCreatePbufferARB; +WGLEW_FUN_EXPORT PFNWGLDESTROYPBUFFERARBPROC __wglewDestroyPbufferARB; +WGLEW_FUN_EXPORT PFNWGLGETPBUFFERDCARBPROC __wglewGetPbufferDCARB; +WGLEW_FUN_EXPORT PFNWGLQUERYPBUFFERARBPROC __wglewQueryPbufferARB; +WGLEW_FUN_EXPORT PFNWGLRELEASEPBUFFERDCARBPROC __wglewReleasePbufferDCARB; + +WGLEW_FUN_EXPORT PFNWGLCHOOSEPIXELFORMATARBPROC __wglewChoosePixelFormatARB; +WGLEW_FUN_EXPORT PFNWGLGETPIXELFORMATATTRIBFVARBPROC __wglewGetPixelFormatAttribfvARB; +WGLEW_FUN_EXPORT PFNWGLGETPIXELFORMATATTRIBIVARBPROC __wglewGetPixelFormatAttribivARB; + +WGLEW_FUN_EXPORT PFNWGLBINDTEXIMAGEARBPROC __wglewBindTexImageARB; +WGLEW_FUN_EXPORT PFNWGLRELEASETEXIMAGEARBPROC __wglewReleaseTexImageARB; +WGLEW_FUN_EXPORT PFNWGLSETPBUFFERATTRIBARBPROC __wglewSetPbufferAttribARB; + +WGLEW_FUN_EXPORT PFNWGLBINDDISPLAYCOLORTABLEEXTPROC __wglewBindDisplayColorTableEXT; +WGLEW_FUN_EXPORT PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC __wglewCreateDisplayColorTableEXT; +WGLEW_FUN_EXPORT PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC __wglewDestroyDisplayColorTableEXT; +WGLEW_FUN_EXPORT PFNWGLLOADDISPLAYCOLORTABLEEXTPROC __wglewLoadDisplayColorTableEXT; + +WGLEW_FUN_EXPORT PFNWGLGETEXTENSIONSSTRINGEXTPROC __wglewGetExtensionsStringEXT; + +WGLEW_FUN_EXPORT PFNWGLGETCURRENTREADDCEXTPROC __wglewGetCurrentReadDCEXT; +WGLEW_FUN_EXPORT PFNWGLMAKECONTEXTCURRENTEXTPROC __wglewMakeContextCurrentEXT; + +WGLEW_FUN_EXPORT PFNWGLCREATEPBUFFEREXTPROC __wglewCreatePbufferEXT; +WGLEW_FUN_EXPORT PFNWGLDESTROYPBUFFEREXTPROC __wglewDestroyPbufferEXT; +WGLEW_FUN_EXPORT PFNWGLGETPBUFFERDCEXTPROC __wglewGetPbufferDCEXT; +WGLEW_FUN_EXPORT PFNWGLQUERYPBUFFEREXTPROC __wglewQueryPbufferEXT; +WGLEW_FUN_EXPORT PFNWGLRELEASEPBUFFERDCEXTPROC __wglewReleasePbufferDCEXT; + +WGLEW_FUN_EXPORT PFNWGLCHOOSEPIXELFORMATEXTPROC __wglewChoosePixelFormatEXT; +WGLEW_FUN_EXPORT PFNWGLGETPIXELFORMATATTRIBFVEXTPROC __wglewGetPixelFormatAttribfvEXT; +WGLEW_FUN_EXPORT PFNWGLGETPIXELFORMATATTRIBIVEXTPROC __wglewGetPixelFormatAttribivEXT; + +WGLEW_FUN_EXPORT PFNWGLGETSWAPINTERVALEXTPROC __wglewGetSwapIntervalEXT; +WGLEW_FUN_EXPORT PFNWGLSWAPINTERVALEXTPROC __wglewSwapIntervalEXT; + +WGLEW_FUN_EXPORT PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC __wglewGetDigitalVideoParametersI3D; +WGLEW_FUN_EXPORT PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC __wglewSetDigitalVideoParametersI3D; + +WGLEW_FUN_EXPORT PFNWGLGETGAMMATABLEI3DPROC __wglewGetGammaTableI3D; +WGLEW_FUN_EXPORT PFNWGLGETGAMMATABLEPARAMETERSI3DPROC __wglewGetGammaTableParametersI3D; +WGLEW_FUN_EXPORT PFNWGLSETGAMMATABLEI3DPROC __wglewSetGammaTableI3D; +WGLEW_FUN_EXPORT PFNWGLSETGAMMATABLEPARAMETERSI3DPROC __wglewSetGammaTableParametersI3D; + +WGLEW_FUN_EXPORT PFNWGLDISABLEGENLOCKI3DPROC __wglewDisableGenlockI3D; +WGLEW_FUN_EXPORT PFNWGLENABLEGENLOCKI3DPROC __wglewEnableGenlockI3D; +WGLEW_FUN_EXPORT PFNWGLGENLOCKSAMPLERATEI3DPROC __wglewGenlockSampleRateI3D; +WGLEW_FUN_EXPORT PFNWGLGENLOCKSOURCEDELAYI3DPROC __wglewGenlockSourceDelayI3D; +WGLEW_FUN_EXPORT PFNWGLGENLOCKSOURCEEDGEI3DPROC __wglewGenlockSourceEdgeI3D; +WGLEW_FUN_EXPORT PFNWGLGENLOCKSOURCEI3DPROC __wglewGenlockSourceI3D; +WGLEW_FUN_EXPORT PFNWGLGETGENLOCKSAMPLERATEI3DPROC __wglewGetGenlockSampleRateI3D; +WGLEW_FUN_EXPORT PFNWGLGETGENLOCKSOURCEDELAYI3DPROC __wglewGetGenlockSourceDelayI3D; +WGLEW_FUN_EXPORT PFNWGLGETGENLOCKSOURCEEDGEI3DPROC __wglewGetGenlockSourceEdgeI3D; +WGLEW_FUN_EXPORT PFNWGLGETGENLOCKSOURCEI3DPROC __wglewGetGenlockSourceI3D; +WGLEW_FUN_EXPORT PFNWGLISENABLEDGENLOCKI3DPROC __wglewIsEnabledGenlockI3D; +WGLEW_FUN_EXPORT PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC __wglewQueryGenlockMaxSourceDelayI3D; + +WGLEW_FUN_EXPORT PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC __wglewAssociateImageBufferEventsI3D; +WGLEW_FUN_EXPORT PFNWGLCREATEIMAGEBUFFERI3DPROC __wglewCreateImageBufferI3D; +WGLEW_FUN_EXPORT PFNWGLDESTROYIMAGEBUFFERI3DPROC __wglewDestroyImageBufferI3D; +WGLEW_FUN_EXPORT PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC __wglewReleaseImageBufferEventsI3D; + +WGLEW_FUN_EXPORT PFNWGLDISABLEFRAMELOCKI3DPROC __wglewDisableFrameLockI3D; +WGLEW_FUN_EXPORT PFNWGLENABLEFRAMELOCKI3DPROC __wglewEnableFrameLockI3D; +WGLEW_FUN_EXPORT PFNWGLISENABLEDFRAMELOCKI3DPROC __wglewIsEnabledFrameLockI3D; +WGLEW_FUN_EXPORT PFNWGLQUERYFRAMELOCKMASTERI3DPROC __wglewQueryFrameLockMasterI3D; + +WGLEW_FUN_EXPORT PFNWGLBEGINFRAMETRACKINGI3DPROC __wglewBeginFrameTrackingI3D; +WGLEW_FUN_EXPORT PFNWGLENDFRAMETRACKINGI3DPROC __wglewEndFrameTrackingI3D; +WGLEW_FUN_EXPORT PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D; +WGLEW_FUN_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D; + +WGLEW_FUN_EXPORT PFNWGLDXCLOSEDEVICENVPROC __wglewDXCloseDeviceNV; +WGLEW_FUN_EXPORT PFNWGLDXLOCKOBJECTSNVPROC __wglewDXLockObjectsNV; +WGLEW_FUN_EXPORT PFNWGLDXOBJECTACCESSNVPROC __wglewDXObjectAccessNV; +WGLEW_FUN_EXPORT PFNWGLDXOPENDEVICENVPROC __wglewDXOpenDeviceNV; +WGLEW_FUN_EXPORT PFNWGLDXREGISTEROBJECTNVPROC __wglewDXRegisterObjectNV; +WGLEW_FUN_EXPORT PFNWGLDXSETRESOURCESHAREHANDLENVPROC __wglewDXSetResourceShareHandleNV; +WGLEW_FUN_EXPORT PFNWGLDXUNLOCKOBJECTSNVPROC __wglewDXUnlockObjectsNV; +WGLEW_FUN_EXPORT PFNWGLDXUNREGISTEROBJECTNVPROC __wglewDXUnregisterObjectNV; + +WGLEW_FUN_EXPORT PFNWGLCOPYIMAGESUBDATANVPROC __wglewCopyImageSubDataNV; + +WGLEW_FUN_EXPORT PFNWGLDELAYBEFORESWAPNVPROC __wglewDelayBeforeSwapNV; + +WGLEW_FUN_EXPORT PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV; +WGLEW_FUN_EXPORT PFNWGLDELETEDCNVPROC __wglewDeleteDCNV; +WGLEW_FUN_EXPORT PFNWGLENUMGPUDEVICESNVPROC __wglewEnumGpuDevicesNV; +WGLEW_FUN_EXPORT PFNWGLENUMGPUSFROMAFFINITYDCNVPROC __wglewEnumGpusFromAffinityDCNV; +WGLEW_FUN_EXPORT PFNWGLENUMGPUSNVPROC __wglewEnumGpusNV; + +WGLEW_FUN_EXPORT PFNWGLBINDVIDEODEVICENVPROC __wglewBindVideoDeviceNV; +WGLEW_FUN_EXPORT PFNWGLENUMERATEVIDEODEVICESNVPROC __wglewEnumerateVideoDevicesNV; +WGLEW_FUN_EXPORT PFNWGLQUERYCURRENTCONTEXTNVPROC __wglewQueryCurrentContextNV; + +WGLEW_FUN_EXPORT PFNWGLBINDSWAPBARRIERNVPROC __wglewBindSwapBarrierNV; +WGLEW_FUN_EXPORT PFNWGLJOINSWAPGROUPNVPROC __wglewJoinSwapGroupNV; +WGLEW_FUN_EXPORT PFNWGLQUERYFRAMECOUNTNVPROC __wglewQueryFrameCountNV; +WGLEW_FUN_EXPORT PFNWGLQUERYMAXSWAPGROUPSNVPROC __wglewQueryMaxSwapGroupsNV; +WGLEW_FUN_EXPORT PFNWGLQUERYSWAPGROUPNVPROC __wglewQuerySwapGroupNV; +WGLEW_FUN_EXPORT PFNWGLRESETFRAMECOUNTNVPROC __wglewResetFrameCountNV; + +WGLEW_FUN_EXPORT PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV; +WGLEW_FUN_EXPORT PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV; + +WGLEW_FUN_EXPORT PFNWGLBINDVIDEOCAPTUREDEVICENVPROC __wglewBindVideoCaptureDeviceNV; +WGLEW_FUN_EXPORT PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC __wglewEnumerateVideoCaptureDevicesNV; +WGLEW_FUN_EXPORT PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC __wglewLockVideoCaptureDeviceNV; +WGLEW_FUN_EXPORT PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC __wglewQueryVideoCaptureDeviceNV; +WGLEW_FUN_EXPORT PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC __wglewReleaseVideoCaptureDeviceNV; + +WGLEW_FUN_EXPORT PFNWGLBINDVIDEOIMAGENVPROC __wglewBindVideoImageNV; +WGLEW_FUN_EXPORT PFNWGLGETVIDEODEVICENVPROC __wglewGetVideoDeviceNV; +WGLEW_FUN_EXPORT PFNWGLGETVIDEOINFONVPROC __wglewGetVideoInfoNV; +WGLEW_FUN_EXPORT PFNWGLRELEASEVIDEODEVICENVPROC __wglewReleaseVideoDeviceNV; +WGLEW_FUN_EXPORT PFNWGLRELEASEVIDEOIMAGENVPROC __wglewReleaseVideoImageNV; +WGLEW_FUN_EXPORT PFNWGLSENDPBUFFERTOVIDEONVPROC __wglewSendPbufferToVideoNV; + +WGLEW_FUN_EXPORT PFNWGLGETMSCRATEOMLPROC __wglewGetMscRateOML; +WGLEW_FUN_EXPORT PFNWGLGETSYNCVALUESOMLPROC __wglewGetSyncValuesOML; +WGLEW_FUN_EXPORT PFNWGLSWAPBUFFERSMSCOMLPROC __wglewSwapBuffersMscOML; +WGLEW_FUN_EXPORT PFNWGLSWAPLAYERBUFFERSMSCOMLPROC __wglewSwapLayerBuffersMscOML; +WGLEW_FUN_EXPORT PFNWGLWAITFORMSCOMLPROC __wglewWaitForMscOML; +WGLEW_FUN_EXPORT PFNWGLWAITFORSBCOMLPROC __wglewWaitForSbcOML; +WGLEW_VAR_EXPORT GLboolean __WGLEW_3DFX_multisample; +WGLEW_VAR_EXPORT GLboolean __WGLEW_3DL_stereo_control; +WGLEW_VAR_EXPORT GLboolean __WGLEW_AMD_gpu_association; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_buffer_region; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_context_flush_control; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_profile; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_create_context_robustness; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_extensions_string; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_framebuffer_sRGB; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_make_current_read; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_multisample; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_pbuffer; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_pixel_format; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_pixel_format_float; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_render_texture; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_robustness_application_isolation; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ARB_robustness_share_group_isolation; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ATI_pixel_format_float; +WGLEW_VAR_EXPORT GLboolean __WGLEW_ATI_render_texture_rectangle; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_create_context_es2_profile; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_create_context_es_profile; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_depth_float; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_display_color_table; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_extensions_string; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_framebuffer_sRGB; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_make_current_read; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_multisample; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_pbuffer; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_pixel_format; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_pixel_format_packed_float; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_swap_control; +WGLEW_VAR_EXPORT GLboolean __WGLEW_EXT_swap_control_tear; +WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_digital_video_control; +WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_gamma; +WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_genlock; +WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_image_buffer; +WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_swap_frame_lock; +WGLEW_VAR_EXPORT GLboolean __WGLEW_I3D_swap_frame_usage; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_DX_interop; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_DX_interop2; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_copy_image; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_delay_before_swap; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_float_buffer; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_gpu_affinity; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_multisample_coverage; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_present_video; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_render_depth_texture; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_render_texture_rectangle; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_swap_group; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_vertex_array_range; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_video_capture; +WGLEW_VAR_EXPORT GLboolean __WGLEW_NV_video_output; +WGLEW_VAR_EXPORT GLboolean __WGLEW_OML_sync_control; + +#ifdef GLEW_MX +}; /* WGLEWContextStruct */ +#endif /* GLEW_MX */ + +/* ------------------------------------------------------------------------- */ + +#ifdef GLEW_MX + +typedef struct WGLEWContextStruct WGLEWContext; +GLEWAPI GLenum GLEWAPIENTRY wglewContextInit (WGLEWContext *ctx); +GLEWAPI GLboolean GLEWAPIENTRY wglewContextIsSupported (const WGLEWContext *ctx, const char *name); + +#define wglewInit() wglewContextInit(wglewGetContext()) +#define wglewIsSupported(x) wglewContextIsSupported(wglewGetContext(), x) + +#define WGLEW_GET_VAR(x) (*(const GLboolean*)&(wglewGetContext()->x)) +#define WGLEW_GET_FUN(x) wglewGetContext()->x + +#else /* GLEW_MX */ + +GLEWAPI GLenum GLEWAPIENTRY wglewInit (); +GLEWAPI GLboolean GLEWAPIENTRY wglewIsSupported (const char *name); + +#define WGLEW_GET_VAR(x) (*(const GLboolean*)&x) +#define WGLEW_GET_FUN(x) x + +#endif /* GLEW_MX */ + +GLEWAPI GLboolean GLEWAPIENTRY wglewGetExtension (const char *name); + +#ifdef __cplusplus +} +#endif + +#undef GLEWAPI + +#endif /* __wglew_h__ */ diff --git a/externals/glew-linux/lib/libGLEW.a b/externals/glew-linux/lib/libGLEW.a new file mode 100644 index 000000000..a07ee46b8 Binary files /dev/null and b/externals/glew-linux/lib/libGLEW.a differ diff --git a/externals/glew-linux/lib/libGLEW.so.1.13.0 b/externals/glew-linux/lib/libGLEW.so.1.13.0 new file mode 100644 index 000000000..8e520e263 Binary files /dev/null and b/externals/glew-linux/lib/libGLEW.so.1.13.0 differ diff --git a/externals/glew-linux/lib/libGLEWmx.a b/externals/glew-linux/lib/libGLEWmx.a new file mode 100644 index 000000000..83144f47c Binary files /dev/null and b/externals/glew-linux/lib/libGLEWmx.a differ diff --git a/externals/glew-linux/lib/libGLEWmx.so.1.13.0 b/externals/glew-linux/lib/libGLEWmx.so.1.13.0 new file mode 100644 index 000000000..116c3b672 Binary files /dev/null and b/externals/glew-linux/lib/libGLEWmx.so.1.13.0 differ diff --git a/physx/bin/linux.clang/checked/libPhysXGpu_64.so b/physx/bin/linux.clang/checked/libPhysXGpu_64.so index e54765be9..e918e7a3f 100644 Binary files a/physx/bin/linux.clang/checked/libPhysXGpu_64.so and b/physx/bin/linux.clang/checked/libPhysXGpu_64.so differ diff --git a/physx/bin/linux.clang/debug/libPhysXGpu_64.so b/physx/bin/linux.clang/debug/libPhysXGpu_64.so index e54765be9..e918e7a3f 100644 Binary files a/physx/bin/linux.clang/debug/libPhysXGpu_64.so and b/physx/bin/linux.clang/debug/libPhysXGpu_64.so differ diff --git a/physx/bin/linux.clang/profile/libPhysXGpu_64.so b/physx/bin/linux.clang/profile/libPhysXGpu_64.so index c1ec26403..11a57df66 100644 Binary files a/physx/bin/linux.clang/profile/libPhysXGpu_64.so and b/physx/bin/linux.clang/profile/libPhysXGpu_64.so differ diff --git a/physx/bin/linux.clang/release/libPhysXGpu_64.so b/physx/bin/linux.clang/release/libPhysXGpu_64.so index 8ccae1ac3..38218114b 100644 Binary files a/physx/bin/linux.clang/release/libPhysXGpu_64.so and b/physx/bin/linux.clang/release/libPhysXGpu_64.so differ diff --git a/physx/bin/win.x86_32.vc120.mt/checked/PhysXGpu_32.dll b/physx/bin/win.x86_32.vc120.mt/checked/PhysXGpu_32.dll index aad64d1af..a1be764ef 100644 Binary files a/physx/bin/win.x86_32.vc120.mt/checked/PhysXGpu_32.dll and b/physx/bin/win.x86_32.vc120.mt/checked/PhysXGpu_32.dll differ diff --git a/physx/bin/win.x86_32.vc120.mt/debug/PhysXGpu_32.dll b/physx/bin/win.x86_32.vc120.mt/debug/PhysXGpu_32.dll index aad64d1af..f75d728ea 100644 Binary files a/physx/bin/win.x86_32.vc120.mt/debug/PhysXGpu_32.dll and b/physx/bin/win.x86_32.vc120.mt/debug/PhysXGpu_32.dll differ diff --git a/physx/bin/win.x86_32.vc120.mt/profile/PhysXGpu_32.dll b/physx/bin/win.x86_32.vc120.mt/profile/PhysXGpu_32.dll index 73dd3599a..5b2d5fe12 100644 Binary files a/physx/bin/win.x86_32.vc120.mt/profile/PhysXGpu_32.dll and b/physx/bin/win.x86_32.vc120.mt/profile/PhysXGpu_32.dll differ diff --git a/physx/bin/win.x86_32.vc120.mt/release/PhysXGpu_32.dll b/physx/bin/win.x86_32.vc120.mt/release/PhysXGpu_32.dll index 4d0d98b48..8ec59cf0f 100644 Binary files a/physx/bin/win.x86_32.vc120.mt/release/PhysXGpu_32.dll and b/physx/bin/win.x86_32.vc120.mt/release/PhysXGpu_32.dll differ diff --git a/physx/bin/win.x86_32.vc142.mt/checked/PhysXDevice.dll b/physx/bin/win.x86_32.vc142.mt/checked/PhysXDevice.dll new file mode 100644 index 000000000..1d435bb3d Binary files /dev/null and b/physx/bin/win.x86_32.vc142.mt/checked/PhysXDevice.dll differ diff --git a/physx/bin/win.x86_32.vc142.mt/checked/glut32.dll b/physx/bin/win.x86_32.vc142.mt/checked/glut32.dll new file mode 100644 index 000000000..1b7227e08 Binary files /dev/null and b/physx/bin/win.x86_32.vc142.mt/checked/glut32.dll differ diff --git a/physx/bin/win.x86_32.vc142.mt/debug/PhysXDevice.dll b/physx/bin/win.x86_32.vc142.mt/debug/PhysXDevice.dll new file mode 100644 index 000000000..1d435bb3d Binary files /dev/null and b/physx/bin/win.x86_32.vc142.mt/debug/PhysXDevice.dll differ diff --git a/physx/bin/win.x86_32.vc142.mt/debug/glut32.dll b/physx/bin/win.x86_32.vc142.mt/debug/glut32.dll new file mode 100644 index 000000000..1b7227e08 Binary files /dev/null and b/physx/bin/win.x86_32.vc142.mt/debug/glut32.dll differ diff --git a/physx/bin/win.x86_32.vc142.mt/profile/PhysXDevice.dll b/physx/bin/win.x86_32.vc142.mt/profile/PhysXDevice.dll new file mode 100644 index 000000000..1d435bb3d Binary files /dev/null and b/physx/bin/win.x86_32.vc142.mt/profile/PhysXDevice.dll differ diff --git a/physx/bin/win.x86_32.vc142.mt/profile/glut32.dll b/physx/bin/win.x86_32.vc142.mt/profile/glut32.dll new file mode 100644 index 000000000..1b7227e08 Binary files /dev/null and b/physx/bin/win.x86_32.vc142.mt/profile/glut32.dll differ diff --git a/physx/bin/win.x86_32.vc142.mt/release/PhysXDevice.dll b/physx/bin/win.x86_32.vc142.mt/release/PhysXDevice.dll new file mode 100644 index 000000000..1d435bb3d Binary files /dev/null and b/physx/bin/win.x86_32.vc142.mt/release/PhysXDevice.dll differ diff --git a/physx/bin/win.x86_32.vc142.mt/release/glut32.dll b/physx/bin/win.x86_32.vc142.mt/release/glut32.dll new file mode 100644 index 000000000..1b7227e08 Binary files /dev/null and b/physx/bin/win.x86_32.vc142.mt/release/glut32.dll differ diff --git a/physx/bin/win.x86_64.vc140.mt/checked/PhysXGpu_64.dll b/physx/bin/win.x86_64.vc140.mt/checked/PhysXGpu_64.dll index e264283b9..2812a25f0 100644 Binary files a/physx/bin/win.x86_64.vc140.mt/checked/PhysXGpu_64.dll and b/physx/bin/win.x86_64.vc140.mt/checked/PhysXGpu_64.dll differ diff --git a/physx/bin/win.x86_64.vc140.mt/debug/PhysXGpu_64.dll b/physx/bin/win.x86_64.vc140.mt/debug/PhysXGpu_64.dll index 740f6a64c..2812a25f0 100644 Binary files a/physx/bin/win.x86_64.vc140.mt/debug/PhysXGpu_64.dll and b/physx/bin/win.x86_64.vc140.mt/debug/PhysXGpu_64.dll differ diff --git a/physx/bin/win.x86_64.vc140.mt/profile/PhysXGpu_64.dll b/physx/bin/win.x86_64.vc140.mt/profile/PhysXGpu_64.dll index cad26814b..28a216ab6 100644 Binary files a/physx/bin/win.x86_64.vc140.mt/profile/PhysXGpu_64.dll and b/physx/bin/win.x86_64.vc140.mt/profile/PhysXGpu_64.dll differ diff --git a/physx/bin/win.x86_64.vc140.mt/release/PhysXGpu_64.dll b/physx/bin/win.x86_64.vc140.mt/release/PhysXGpu_64.dll index d962241f8..90da6764e 100644 Binary files a/physx/bin/win.x86_64.vc140.mt/release/PhysXGpu_64.dll and b/physx/bin/win.x86_64.vc140.mt/release/PhysXGpu_64.dll differ diff --git a/physx/bin/win.x86_64.vc142.mt/checked/PhysXDevice64.dll b/physx/bin/win.x86_64.vc142.mt/checked/PhysXDevice64.dll new file mode 100644 index 000000000..036174d56 Binary files /dev/null and b/physx/bin/win.x86_64.vc142.mt/checked/PhysXDevice64.dll differ diff --git a/physx/bin/win.x86_64.vc142.mt/checked/glut32.dll b/physx/bin/win.x86_64.vc142.mt/checked/glut32.dll new file mode 100644 index 000000000..611f42cd9 Binary files /dev/null and b/physx/bin/win.x86_64.vc142.mt/checked/glut32.dll differ diff --git a/physx/bin/win.x86_64.vc142.mt/debug/PhysXDevice64.dll b/physx/bin/win.x86_64.vc142.mt/debug/PhysXDevice64.dll new file mode 100644 index 000000000..036174d56 Binary files /dev/null and b/physx/bin/win.x86_64.vc142.mt/debug/PhysXDevice64.dll differ diff --git a/physx/bin/win.x86_64.vc142.mt/debug/glut32.dll b/physx/bin/win.x86_64.vc142.mt/debug/glut32.dll new file mode 100644 index 000000000..611f42cd9 Binary files /dev/null and b/physx/bin/win.x86_64.vc142.mt/debug/glut32.dll differ diff --git a/physx/bin/win.x86_64.vc142.mt/profile/PhysXDevice64.dll b/physx/bin/win.x86_64.vc142.mt/profile/PhysXDevice64.dll new file mode 100644 index 000000000..036174d56 Binary files /dev/null and b/physx/bin/win.x86_64.vc142.mt/profile/PhysXDevice64.dll differ diff --git a/physx/bin/win.x86_64.vc142.mt/profile/glut32.dll b/physx/bin/win.x86_64.vc142.mt/profile/glut32.dll new file mode 100644 index 000000000..611f42cd9 Binary files /dev/null and b/physx/bin/win.x86_64.vc142.mt/profile/glut32.dll differ diff --git a/physx/bin/win.x86_64.vc142.mt/release/PhysXDevice64.dll b/physx/bin/win.x86_64.vc142.mt/release/PhysXDevice64.dll new file mode 100644 index 000000000..036174d56 Binary files /dev/null and b/physx/bin/win.x86_64.vc142.mt/release/PhysXDevice64.dll differ diff --git a/physx/bin/win.x86_64.vc142.mt/release/glut32.dll b/physx/bin/win.x86_64.vc142.mt/release/glut32.dll new file mode 100644 index 000000000..611f42cd9 Binary files /dev/null and b/physx/bin/win.x86_64.vc142.mt/release/glut32.dll differ diff --git a/physx/buildtools/cmake_generate_projects.py b/physx/buildtools/cmake_generate_projects.py index e2247bb6b..2504de35f 100644 --- a/physx/buildtools/cmake_generate_projects.py +++ b/physx/buildtools/cmake_generate_projects.py @@ -151,6 +151,8 @@ def getPlatformCMakeParams(self): outString = outString + '-G \"Visual Studio 14 2015\"' elif self.compiler == 'vc15': outString = outString + '-G \"Visual Studio 15 2017\"' + elif self.compiler == 'vc16': + outString = outString + '-G \"Visual Studio 16 2019\"' elif self.compiler == 'xcode': outString = outString + '-G Xcode' elif self.targetPlatform == 'android': @@ -221,6 +223,13 @@ def getPlatformCMakeParams(self): outString = outString + ' -DCMAKE_GENERATOR_PLATFORM=Durango' outString = outString + ' -DSUPPRESS_SUFFIX=ON' return outString + elif self.targetPlatform == 'switch32': + outString = outString + ' -DTARGET_BUILD_PLATFORM=switch' + outString = outString + ' -DCMAKE_TOOLCHAIN_FILE=' + \ + os.environ['PM_CMakeModules_PATH'] + \ + '/switch/NX32Toolchain.txt' + outString = outString + ' -DCMAKE_GENERATOR_PLATFORM=NX32' + return outString elif self.targetPlatform == 'switch64': outString = outString + ' -DTARGET_BUILD_PLATFORM=switch' outString = outString + ' -DCMAKE_TOOLCHAIN_FILE=' + \ diff --git a/physx/buildtools/presets/public/android-arm64-v8a.xml b/physx/buildtools/presets/public/android-arm64-v8a.xml new file mode 100644 index 000000000..ef93fcb5e --- /dev/null +++ b/physx/buildtools/presets/public/android-arm64-v8a.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/physx/buildtools/presets/public/android.xml b/physx/buildtools/presets/public/android.xml index 9c685f9b7..bdb60a5ee 100644 --- a/physx/buildtools/presets/public/android.xml +++ b/physx/buildtools/presets/public/android.xml @@ -3,10 +3,11 @@ + - \ No newline at end of file + diff --git a/physx/buildtools/presets/public/ios64.xml b/physx/buildtools/presets/public/ios64.xml index bc25b35e0..87e56efbf 100644 --- a/physx/buildtools/presets/public/ios64.xml +++ b/physx/buildtools/presets/public/ios64.xml @@ -3,10 +3,11 @@ + - \ No newline at end of file + diff --git a/physx/buildtools/presets/public/linux.xml b/physx/buildtools/presets/public/linux.xml index 3b84ef3e2..8c5160c78 100644 --- a/physx/buildtools/presets/public/linux.xml +++ b/physx/buildtools/presets/public/linux.xml @@ -3,7 +3,7 @@ - + diff --git a/physx/buildtools/presets/public/mac64.xml b/physx/buildtools/presets/public/mac64.xml index bfb41155d..4560234c4 100644 --- a/physx/buildtools/presets/public/mac64.xml +++ b/physx/buildtools/presets/public/mac64.xml @@ -3,6 +3,7 @@ + diff --git a/physx/buildtools/presets/public/vc16win32.xml b/physx/buildtools/presets/public/vc16win32.xml new file mode 100644 index 000000000..14d6885b4 --- /dev/null +++ b/physx/buildtools/presets/public/vc16win32.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/physx/buildtools/presets/public/vc16win64.xml b/physx/buildtools/presets/public/vc16win64.xml new file mode 100644 index 000000000..a90829463 --- /dev/null +++ b/physx/buildtools/presets/public/vc16win64.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/physx/compiler/public/CMakeLists.txt b/physx/compiler/public/CMakeLists.txt index f83c7d65a..bd85eeeec 100644 --- a/physx/compiler/public/CMakeLists.txt +++ b/physx/compiler/public/CMakeLists.txt @@ -34,7 +34,7 @@ ENDIF() project(PhysXSDK C CXX) OPTION(PX_BUILDSNIPPETS "Generate the snippets" OFF) -OPTION(PX_BUILDSAMPLES "Generate the samples" OFF) +OPTION(PX_BUILDPUBLICSAMPLES "Generate the samples" OFF) OPTION(PX_CMAKE_SUPPRESS_REGENERATION "Disable zero_check projects" OFF) IF(NOT DEFINED CMAKEMODULES_VERSION) diff --git a/physx/documentation/PhysXAPI/files/GuContactPoint_8h.html b/physx/documentation/PhysXAPI/files/GuContactPoint_8h.html index 9184269f3..7ff6100a3 100644 --- a/physx/documentation/PhysXAPI/files/GuContactPoint_8h.html +++ b/physx/documentation/PhysXAPI/files/GuContactPoint_8h.html @@ -95,15 +95,15 @@
- - - - - - - - - + + + + + + + + +
diff --git a/physx/documentation/PhysXAPI/files/GuContactPoint_8h__dep__incl.map b/physx/documentation/PhysXAPI/files/GuContactPoint_8h__dep__incl.map index a5ed03795..2d51b1372 100644 --- a/physx/documentation/PhysXAPI/files/GuContactPoint_8h__dep__incl.map +++ b/physx/documentation/PhysXAPI/files/GuContactPoint_8h__dep__incl.map @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/physx/documentation/PhysXAPI/files/GuContactPoint_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/GuContactPoint_8h__dep__incl.md5 index faa064d77..d6b7094ed 100644 --- a/physx/documentation/PhysXAPI/files/GuContactPoint_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/GuContactPoint_8h__dep__incl.md5 @@ -1 +1 @@ -d8225e2f0f7d58255748b11834512026 \ No newline at end of file +6b163c9c129acd8399b643f2e4c6888a \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/GuContactPoint_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/GuContactPoint_8h__dep__incl.png index 554f7d384..54cdf0453 100644 Binary files a/physx/documentation/PhysXAPI/files/GuContactPoint_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/GuContactPoint_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxAllocatorCallback_8h.html b/physx/documentation/PhysXAPI/files/PxAllocatorCallback_8h.html index 07cbce5e5..75c9b9aad 100644 --- a/physx/documentation/PhysXAPI/files/PxAllocatorCallback_8h.html +++ b/physx/documentation/PhysXAPI/files/PxAllocatorCallback_8h.html @@ -115,7 +115,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxAllocatorCallback_8h_source.html b/physx/documentation/PhysXAPI/files/PxAllocatorCallback_8h_source.html index 291856eb2..bd6120743 100644 --- a/physx/documentation/PhysXAPI/files/PxAllocatorCallback_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxAllocatorCallback_8h_source.html @@ -96,7 +96,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxArticulationBase_8h.html b/physx/documentation/PhysXAPI/files/PxArticulationBase_8h.html index 44d468b02..b5761ecdb 100644 --- a/physx/documentation/PhysXAPI/files/PxArticulationBase_8h.html +++ b/physx/documentation/PhysXAPI/files/PxArticulationBase_8h.html @@ -97,7 +97,8 @@ - + + diff --git a/physx/documentation/PhysXAPI/files/PxArticulationBase_8h__dep__incl.map b/physx/documentation/PhysXAPI/files/PxArticulationBase_8h__dep__incl.map index a07f04c39..fc1377415 100644 --- a/physx/documentation/PhysXAPI/files/PxArticulationBase_8h__dep__incl.map +++ b/physx/documentation/PhysXAPI/files/PxArticulationBase_8h__dep__incl.map @@ -1,5 +1,6 @@ - + + diff --git a/physx/documentation/PhysXAPI/files/PxArticulationBase_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxArticulationBase_8h__dep__incl.md5 index a05a22609..8bfe09055 100644 --- a/physx/documentation/PhysXAPI/files/PxArticulationBase_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxArticulationBase_8h__dep__incl.md5 @@ -1 +1 @@ -aae129d6f23b5a83a576cad6fb85aa2b \ No newline at end of file +fdd14d422a16e371f4eadf2898d9b0ed \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxArticulationBase_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/PxArticulationBase_8h__dep__incl.png index 05c61a38a..58f43d881 100644 Binary files a/physx/documentation/PhysXAPI/files/PxArticulationBase_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/PxArticulationBase_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxArticulationJointReducedCoordinate_8h_source.html b/physx/documentation/PhysXAPI/files/PxArticulationJointReducedCoordinate_8h_source.html index db9a1eb50..84c60d028 100644 --- a/physx/documentation/PhysXAPI/files/PxArticulationJointReducedCoordinate_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxArticulationJointReducedCoordinate_8h_source.html @@ -90,7 +90,7 @@
PX_INLINE PxArticulationJointReducedCoordinate(PxType concreteType, PxBaseFlags baseFlags)
Definition: PxArticulationJointReducedCoordinate.h:82
virtual const char * getConcreteTypeName() const
Returns string name of dynamic type.
Definition: PxArticulationJointReducedCoordinate.h:76
virtual bool isKindOf(const char *name) const
Returns whether a given type name matches with the type of this instance.
Definition: PxArticulationJointReducedCoordinate.h:85
-
Enum
Definition: PxSolverDefs.h:291
+
Enum
Definition: PxSolverDefs.h:292
float PxReal
Definition: PxSimpleTypes.h:78
virtual bool isKindOf(const char *superClass) const
Returns whether a given type name matches with the type of this instance.
Definition: PxBase.h:178
PX_INLINE PxArticulationJointReducedCoordinate(PxBaseFlags baseFlags)
Definition: PxArticulationJointReducedCoordinate.h:83
@@ -107,7 +107,7 @@
Enum
Definition: PxSolverDefs.h:239
a joint between two links in an articulation.
Definition: PxArticulationJointReducedCoordinate.h:55
-
Definition: PxSolverDefs.h:293
+
Definition: PxSolverDefs.h:294
#define PX_INLINE
Definition: PxPreprocessor.h:331
diff --git a/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h.html b/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h.html index 0085512a1..631cde692 100644 --- a/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h.html +++ b/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h.html @@ -100,7 +100,8 @@
- + +
@@ -110,6 +111,8 @@ Classes struct  PxSpatialForce   +struct  PxSpatialVelocity +  struct  PxArticulationRootLinkData   class  PxArticulationCache @@ -138,10 +141,30 @@   PxReal pad1   +PxVec3 linear +  +PxVec3 angular +  struct PxArticulationRootLinkData PX_ALIGN_SUFFIX  

Variable Documentation

+ +

◆ angular

+ +
+
+ + + + +
PxVec3 angular
+
+

◆ force

@@ -154,6 +177,22 @@

+ + + +

◆ linear

+ +
+
+ + + + +
PxVec3 linear
+
diff --git a/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h.js b/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h.js index 210bc1ca1..823586c28 100644 --- a/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h.js +++ b/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h.js @@ -2,7 +2,9 @@ var PxArticulationReducedCoordinate_8h = [ [ "PxArticulationCacheFlags", "group__physics.html#ga1619e335e650ffbd52cd4961bc0dea9a", null ], [ "PX_ALIGN_SUFFIX", "group__physics.html#ga78dbfa89bc15b58e317e12f676c309f6", null ], + [ "angular", "PxArticulationReducedCoordinate_8h.html#a9603c86a5d2d0bff969100f99e404753", null ], [ "force", "PxArticulationReducedCoordinate_8h.html#a1f5925a4680ca8dff39369ff8d47ab7c", null ], + [ "linear", "PxArticulationReducedCoordinate_8h.html#a840381307a4813334fba199be4bbcbf3", null ], [ "pad0", "PxArticulationReducedCoordinate_8h.html#a38edacc159efc770954897a85a7c8146", null ], [ "pad1", "PxArticulationReducedCoordinate_8h.html#a88c56ce9e0d40d8821c1dc1bd6182ccd", null ], [ "PX_ALIGN_SUFFIX", "group__physics.html#gad00ce21229da4335d2cbdee921317aa6", null ], diff --git a/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h__dep__incl.map b/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h__dep__incl.map index e22763b3e..e2feb75be 100644 --- a/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h__dep__incl.map +++ b/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h__dep__incl.map @@ -1,3 +1,4 @@ - + + diff --git a/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h__dep__incl.md5 index 6f02dec48..4663a85bc 100644 --- a/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h__dep__incl.md5 @@ -1 +1 @@ -3da38490e706492c59f77439ec0e7175 \ No newline at end of file +289a848eaff763090a99cc3315da4c8a \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h__dep__incl.png index 7893423a8..608b81271 100644 Binary files a/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h_source.html b/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h_source.html index 20534c55e..3249eab83 100644 --- a/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxArticulationReducedCoordinate_8h_source.html @@ -86,55 +86,62 @@
PxArticulationReducedCoordinate.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 
31 #ifndef PX_PHYSICS_NX_ARTICULATION_RC
32 #define PX_PHYSICS_NX_ARTICULATION_RC
33 
36 #include "PxArticulationBase.h"
37 #include "foundation/PxVec3.h"
38 #include "foundation/PxTransform.h"
39 #include "solver/PxSolverDefs.h"
40 
41 #if !PX_DOXYGEN
42 namespace physx
43 {
44 #endif
45 
46  PX_ALIGN_PREFIX(16)
48  {
53  }
54  PX_ALIGN_SUFFIX(16);
55 
56  class PxJoint;
57 
59  {
65  };
66 
68  {
69  public:
70  enum Enum
71  {
72  eVELOCITY = (1 << 0),
73  eACCELERATION = (1 << 1),
74  ePOSITION = (1 << 2),
75  eFORCE = (1 << 3),
76  eROOT = (1 << 4),
77  eALL = (eVELOCITY | eACCELERATION | ePOSITION| eROOT)
78  };
80  externalForces (NULL),
81  denseJacobian (NULL),
82  massMatrix (NULL),
83  jointVelocity (NULL),
84  jointAcceleration (NULL),
85  jointPosition (NULL),
86  jointForce (NULL),
87  rootLinkData (NULL),
88  coefficientMatrix (NULL),
89  lambda (NULL),
90  scratchMemory (NULL),
91  scratchAllocator (NULL),
92  version (0)
93  {}
94 
95  PxSpatialForce* externalForces; // N = getNbLinks()
96  PxReal* denseJacobian; // N = 6*getDofs()*NumJoints, NumJoints = getNbLinks() - 1
97  PxReal* massMatrix; // N = getDofs()*getDofs()
98  PxReal* jointVelocity; // N = getDofs()
99  PxReal* jointAcceleration; // N = getDofs()
100  PxReal* jointPosition; // N = getDofs()
101  PxReal* jointForce; // N = getDofs()
103 
104  //application need to allocate those memory and assign them to the cache
107 
108  //These three members won't be set to zero when zeroCache get called
109  void* scratchMemory; //this is used for internal calculation
111  PxU32 version; //cache version. If the articulation configuration change, the cache is invalid
112  };
113 
115  PX_FLAGS_OPERATORS(PxArticulationCache::Enum, PxU8)
116 
117 
128 #if PX_VC
129 #pragma warning(push)
130 #pragma warning(disable : 4435)
131 #endif
134  {
135  public:
136 
137  virtual void release() = 0;
138 
145  virtual void setArticulationFlags(PxArticulationFlags flags) = 0;
146 
154  virtual void setArticulationFlag(PxArticulationFlag::Enum flag, bool value) = 0;
155 
159  virtual PxArticulationFlags getArticulationFlags() const = 0;
160 
164  virtual PxU32 getDofs() const = 0;
165 
171  virtual PxArticulationCache* createCache() const = 0;
172 
178  virtual PxU32 getCacheDataSize() const = 0;
179 
185  virtual void zeroCache(PxArticulationCache& cache) = 0;
186 
196  virtual void applyCache(PxArticulationCache& cache, const PxArticulationCacheFlags flag, bool autowake = true) = 0;
197 
206  virtual void copyInternalStateToCache(PxArticulationCache& cache, const PxArticulationCacheFlags flag) const = 0;
207 
215  virtual void releaseCache(PxArticulationCache& cache) const = 0;
216 
222  virtual void packJointData(const PxReal* maximum, PxReal* reduced) const = 0;
223 
229  virtual void unpackJointData(const PxReal* reduced, PxReal* maximum) const = 0;
230 
234  virtual void commonInit() const = 0;
235 
244  virtual void computeGeneralizedGravityForce(PxArticulationCache& cache) const = 0;
245 
254  virtual void computeCoriolisAndCentrifugalForce(PxArticulationCache& cache) const = 0;
255 
264  virtual void computeGeneralizedExternalForce(PxArticulationCache& cache) const = 0;
265 
274  virtual void computeJointAcceleration(PxArticulationCache& cache) const = 0;
275 
285  virtual void computeJointForce(PxArticulationCache& cache) const = 0;
286 
296  virtual void computeDenseJacobian(PxArticulationCache& cache, PxU32& nRows, PxU32& nCols) const = 0;
297 
298 
304  virtual void computeCoefficientMatrix(PxArticulationCache& cache) const = 0;
305 
314  virtual bool computeLambda(PxArticulationCache& cache, PxArticulationCache& initialState, const PxReal* const jointTorque, const PxU32 maxIter) const = 0;
315 
322  virtual void computeGeneralizedMassMatrix(PxArticulationCache& cache) const = 0;
323 
330  virtual void addLoopJoint(PxJoint* joint) = 0;
331 
338  virtual void removeLoopJoint(PxJoint* joint) = 0;
339 
344  virtual PxU32 getNbLoopJoints() const = 0;
345 
358  virtual PxU32 getLoopJoints(PxJoint** userBuffer, PxU32 bufferSize, PxU32 startIndex = 0) const = 0;
359 
364  virtual PxU32 getCoefficientMatrixSize() const = 0;
365 
373  virtual void teleportRootLink(const PxTransform& pose, bool autowake) = 0;
374 
375  protected:
376  PX_INLINE PxArticulationReducedCoordinate(PxType concreteType, PxBaseFlags baseFlags) : PxArticulationBase(concreteType, baseFlags) {}
379  };
380 
381 #if PX_VC
382 #pragma warning(pop)
383 #endif
384 
385 #if !PX_DOXYGEN
386 } // namespace physx
387 #endif
388 
390 #endif
Definition: GuContactBuffer.h:37
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 
31 #ifndef PX_PHYSICS_NX_ARTICULATION_RC
32 #define PX_PHYSICS_NX_ARTICULATION_RC
33 
36 #include "PxArticulationBase.h"
37 #include "foundation/PxVec3.h"
38 #include "foundation/PxTransform.h"
39 #include "solver/PxSolverDefs.h"
40 
41 #if !PX_DOXYGEN
42 namespace physx
43 {
44 #endif
45 
46  PX_ALIGN_PREFIX(16)
48  {
53  }
54  PX_ALIGN_SUFFIX(16);
55 
56  PX_ALIGN_PREFIX(16)
58  {
63  }
64  PX_ALIGN_SUFFIX(16);
65 
66  class PxJoint;
67 
69  {
75  };
76 
78  {
79  public:
80  enum Enum
81  {
82  eVELOCITY = (1 << 0),
83  eACCELERATION = (1 << 1),
84  ePOSITION = (1 << 2),
85  eFORCE = (1 << 3),
86  eLINKVELOCITY = (1 << 4),
87  eLINKACCELERATION = (1 << 5),
88  eROOT = (1 << 6),
89  eALL = (eVELOCITY | eACCELERATION | ePOSITION| eLINKVELOCITY | eLINKACCELERATION | eROOT )
90  };
92  externalForces (NULL),
93  denseJacobian (NULL),
94  massMatrix (NULL),
95  jointVelocity (NULL),
96  jointAcceleration (NULL),
97  jointPosition (NULL),
98  jointForce (NULL),
99  rootLinkData (NULL),
100  coefficientMatrix (NULL),
101  lambda (NULL),
102  scratchMemory (NULL),
103  scratchAllocator (NULL),
104  version (0)
105  {}
106 
107  PxSpatialForce* externalForces; // N = getNbLinks()
108  PxReal* denseJacobian; // N = 6*getDofs()*NumJoints, NumJoints = getNbLinks() - 1
109  PxReal* massMatrix; // N = getDofs()*getDofs()
110  PxReal* jointVelocity; // N = getDofs()
111  PxReal* jointAcceleration; // N = getDofs()
112  PxReal* jointPosition; // N = getDofs()
113  PxReal* jointForce; // N = getDofs()
114  PxSpatialVelocity* linkVelocity; // N = getNbLinks()
115  PxSpatialVelocity* linkAcceleration; // N = getNbLinks()
117 
118  //application need to allocate those memory and assign them to the cache
121 
122  //These three members won't be set to zero when zeroCache get called
123  void* scratchMemory; //this is used for internal calculation
125  PxU32 version; //cache version. If the articulation configuration change, the cache is invalid
126  };
127 
129  PX_FLAGS_OPERATORS(PxArticulationCache::Enum, PxU8)
130 
131 
142 #if PX_VC
143 #pragma warning(push)
144 #pragma warning(disable : 4435)
145 #endif
146 
148  {
149  public:
150 
151  virtual void release() = 0;
152 
159  virtual void setArticulationFlags(PxArticulationFlags flags) = 0;
160 
168  virtual void setArticulationFlag(PxArticulationFlag::Enum flag, bool value) = 0;
169 
173  virtual PxArticulationFlags getArticulationFlags() const = 0;
174 
178  virtual PxU32 getDofs() const = 0;
179 
185  virtual PxArticulationCache* createCache() const = 0;
186 
192  virtual PxU32 getCacheDataSize() const = 0;
193 
199  virtual void zeroCache(PxArticulationCache& cache) = 0;
200 
210  virtual void applyCache(PxArticulationCache& cache, const PxArticulationCacheFlags flag, bool autowake = true) = 0;
211 
220  virtual void copyInternalStateToCache(PxArticulationCache& cache, const PxArticulationCacheFlags flag) const = 0;
221 
229  virtual void releaseCache(PxArticulationCache& cache) const = 0;
230 
236  virtual void packJointData(const PxReal* maximum, PxReal* reduced) const = 0;
237 
243  virtual void unpackJointData(const PxReal* reduced, PxReal* maximum) const = 0;
244 
248  virtual void commonInit() const = 0;
249 
258  virtual void computeGeneralizedGravityForce(PxArticulationCache& cache) const = 0;
259 
268  virtual void computeCoriolisAndCentrifugalForce(PxArticulationCache& cache) const = 0;
269 
278  virtual void computeGeneralizedExternalForce(PxArticulationCache& cache) const = 0;
279 
288  virtual void computeJointAcceleration(PxArticulationCache& cache) const = 0;
289 
299  virtual void computeJointForce(PxArticulationCache& cache) const = 0;
300 
310  virtual void computeDenseJacobian(PxArticulationCache& cache, PxU32& nRows, PxU32& nCols) const = 0;
311 
312 
318  virtual void computeCoefficientMatrix(PxArticulationCache& cache) const = 0;
319 
328  virtual bool computeLambda(PxArticulationCache& cache, PxArticulationCache& initialState, const PxReal* const jointTorque, const PxU32 maxIter) const = 0;
329 
336  virtual void computeGeneralizedMassMatrix(PxArticulationCache& cache) const = 0;
337 
344  virtual void addLoopJoint(PxJoint* joint) = 0;
345 
352  virtual void removeLoopJoint(PxJoint* joint) = 0;
353 
358  virtual PxU32 getNbLoopJoints() const = 0;
359 
372  virtual PxU32 getLoopJoints(PxJoint** userBuffer, PxU32 bufferSize, PxU32 startIndex = 0) const = 0;
373 
378  virtual PxU32 getCoefficientMatrixSize() const = 0;
379 
387  virtual void teleportRootLink(const PxTransform& pose, bool autowake) = 0;
388 
389 
396  virtual PxSpatialVelocity getLinkVelocity(const PxU32 linkId) = 0;
397 
398 
405  virtual PxSpatialVelocity getLinkAcceleration(const PxU32 linkId) = 0;
406 
407  protected:
408  PX_INLINE PxArticulationReducedCoordinate(PxType concreteType, PxBaseFlags baseFlags) : PxArticulationBase(concreteType, baseFlags) {}
411  };
412 
413 #if PX_VC
414 #pragma warning(pop)
415 #endif
416 
417 #if !PX_DOXYGEN
418 } // namespace physx
419 #endif
420 
422 #endif
Definition: GuContactBuffer.h:37
PxReal pad0
Definition: PxArticulationReducedCoordinate.h:50
-
PxU32 version
Definition: PxArticulationReducedCoordinate.h:111
-
PxFlags< PxArticulationCache::Enum, PxU8 > PxArticulationCacheFlags
Definition: PxArticulationReducedCoordinate.h:114
+
PxU32 version
Definition: PxArticulationReducedCoordinate.h:125
+
PxFlags< PxArticulationCache::Enum, PxU8 > PxArticulationCacheFlags
Definition: PxArticulationReducedCoordinate.h:128
Definition: PxArticulationReducedCoordinate.h:47
PxReal pad1
Definition: PxArticulationReducedCoordinate.h:52
-
PxReal * jointVelocity
Definition: PxArticulationReducedCoordinate.h:98
-
PxVec3 worldLinAccel
Definition: PxArticulationReducedCoordinate.h:63
+
PxReal * jointVelocity
Definition: PxArticulationReducedCoordinate.h:110
+
PxVec3 worldLinAccel
Definition: PxArticulationReducedCoordinate.h:73
float PxReal
Definition: PxSimpleTypes.h:78
-
PX_INLINE PxArticulationReducedCoordinate(PxType concreteType, PxBaseFlags baseFlags)
Definition: PxArticulationReducedCoordinate.h:376
-
PxTransform transform
Definition: PxArticulationReducedCoordinate.h:60
+
PxSpatialVelocity * linkAcceleration
Definition: PxArticulationReducedCoordinate.h:115
+
PX_INLINE PxArticulationReducedCoordinate(PxType concreteType, PxBaseFlags baseFlags)
Definition: PxArticulationReducedCoordinate.h:408
+
PxTransform transform
Definition: PxArticulationReducedCoordinate.h:70
+
PxReal pad0
Definition: PxArticulationReducedCoordinate.h:60
+
PxVec3 angular
Definition: PxArticulationReducedCoordinate.h:61
+
PxVec3 linear
Definition: PxArticulationReducedCoordinate.h:59
+
PxReal pad1
Definition: PxArticulationReducedCoordinate.h:62
PxU16 PxType
Definition: PxBase.h:49
-
PxReal * denseJacobian
Definition: PxArticulationReducedCoordinate.h:96
-
Definition: PxArticulationReducedCoordinate.h:67
-
PxReal * jointAcceleration
Definition: PxArticulationReducedCoordinate.h:99
+
PxReal * denseJacobian
Definition: PxArticulationReducedCoordinate.h:108
+
Definition: PxArticulationReducedCoordinate.h:77
+
PxReal * jointAcceleration
Definition: PxArticulationReducedCoordinate.h:111
a base interface providing common functionality for PhysX joints
Definition: PxJoint.h:101
PxVec3 force
Definition: PxArticulationReducedCoordinate.h:49
-
PxArticulationRootLinkData * rootLinkData
Definition: PxArticulationReducedCoordinate.h:102
-
a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver ...
Definition: PxArticulationReducedCoordinate.h:133
+
PxArticulationRootLinkData * rootLinkData
Definition: PxArticulationReducedCoordinate.h:116
+
a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver ...
Definition: PxArticulationReducedCoordinate.h:147
PxU16 flags
a set of Px1DConstraintFlags
Definition: PxConstraintDesc.h:110
-
virtual ~PxArticulationReducedCoordinate()
Definition: PxArticulationReducedCoordinate.h:378
-
PxReal * lambda
Definition: PxArticulationReducedCoordinate.h:106
+
virtual ~PxArticulationReducedCoordinate()
Definition: PxArticulationReducedCoordinate.h:410
+
PxReal * lambda
Definition: PxArticulationReducedCoordinate.h:120
#define PX_ALIGN_PREFIX(alignment)
Definition: PxPreprocessor.h:404
uint8_t PxU8
Definition: PxSimpleTypes.h:75
-
PxVec3 worldLinVel
Definition: PxArticulationReducedCoordinate.h:61
+
PxVec3 worldLinVel
Definition: PxArticulationReducedCoordinate.h:71
class representing a rigid euclidean transform as a quaternion and a vector
Definition: PxTransform.h:48
-
PxReal * jointPosition
Definition: PxArticulationReducedCoordinate.h:100
-
PxReal * jointForce
Definition: PxArticulationReducedCoordinate.h:101
-
PxVec3 worldAngAccel
Definition: PxArticulationReducedCoordinate.h:64
+
PxReal * jointPosition
Definition: PxArticulationReducedCoordinate.h:112
+
PxReal * jointForce
Definition: PxArticulationReducedCoordinate.h:113
+
PxVec3 worldAngAccel
Definition: PxArticulationReducedCoordinate.h:74
PxVec3 torque
Definition: PxArticulationReducedCoordinate.h:51
-
PxReal * coefficientMatrix
Definition: PxArticulationReducedCoordinate.h:105
+
PxReal * coefficientMatrix
Definition: PxArticulationReducedCoordinate.h:119
-
Enum
Definition: PxArticulationReducedCoordinate.h:70
+
Enum
Definition: PxArticulationReducedCoordinate.h:80
-
void * scratchMemory
Definition: PxArticulationReducedCoordinate.h:109
-
PX_INLINE PxArticulationReducedCoordinate(PxBaseFlags baseFlags)
Definition: PxArticulationReducedCoordinate.h:377
+
void * scratchMemory
Definition: PxArticulationReducedCoordinate.h:123
+
PX_INLINE PxArticulationReducedCoordinate(PxBaseFlags baseFlags)
Definition: PxArticulationReducedCoordinate.h:409
a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver ...
Definition: PxArticulationBase.h:56
Container for bitfield flag variables associated with a specific enum type.
Definition: PxFlags.h:73
-
void * scratchAllocator
Definition: PxArticulationReducedCoordinate.h:110
-
PxSpatialForce * externalForces
Definition: PxArticulationReducedCoordinate.h:95
-
PxArticulationCache()
Definition: PxArticulationReducedCoordinate.h:79
-
Definition: PxArticulationReducedCoordinate.h:58
+
void * scratchAllocator
Definition: PxArticulationReducedCoordinate.h:124
+
PxSpatialForce * externalForces
Definition: PxArticulationReducedCoordinate.h:107
+
PxArticulationCache()
Definition: PxArticulationReducedCoordinate.h:91
+
Definition: PxArticulationReducedCoordinate.h:68
uint32_t PxU32
Definition: Px.h:48
Enum
Definition: PxSolverDefs.h:280
-
PxVec3 worldAngVel
Definition: PxArticulationReducedCoordinate.h:62
-
PxReal * massMatrix
Definition: PxArticulationReducedCoordinate.h:97
+
PxSpatialVelocity * linkVelocity
Definition: PxArticulationReducedCoordinate.h:114
+
PxVec3 worldAngVel
Definition: PxArticulationReducedCoordinate.h:72
+
PxReal * massMatrix
Definition: PxArticulationReducedCoordinate.h:109
#define PX_INLINE
Definition: PxPreprocessor.h:331
+
Definition: PxArticulationReducedCoordinate.h:57
3 Element vector class.
Definition: PxVec3.h:49
struct PxArticulationRootLinkData PX_ALIGN_SUFFIX
diff --git a/physx/documentation/PhysXAPI/files/PxBase_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxBase_8h__dep__incl.md5 index d6802d0ee..8138a65c3 100644 --- a/physx/documentation/PhysXAPI/files/PxBase_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxBase_8h__dep__incl.md5 @@ -1 +1 @@ -db1a616607bc7b2a2408f1dba3eeb18c \ No newline at end of file +6c138d65ac9f867e9a19f1da769b864e \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxBase_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/PxBase_8h__dep__incl.png index 531876a90..55e92a50a 100644 Binary files a/physx/documentation/PhysXAPI/files/PxBase_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/PxBase_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxBitAndData_8h.html b/physx/documentation/PhysXAPI/files/PxBitAndData_8h.html index ca36e4f14..5f33a25bc 100644 --- a/physx/documentation/PhysXAPI/files/PxBitAndData_8h.html +++ b/physx/documentation/PhysXAPI/files/PxBitAndData_8h.html @@ -123,7 +123,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxBitAndData_8h_source.html b/physx/documentation/PhysXAPI/files/PxBitAndData_8h_source.html index e22a08de3..5315b710b 100644 --- a/physx/documentation/PhysXAPI/files/PxBitAndData_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxBitAndData_8h_source.html @@ -108,7 +108,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxBounds3_8h.html b/physx/documentation/PhysXAPI/files/PxBounds3_8h.html index 9e62183e5..a9acf6388 100644 --- a/physx/documentation/PhysXAPI/files/PxBounds3_8h.html +++ b/physx/documentation/PhysXAPI/files/PxBounds3_8h.html @@ -160,7 +160,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxBounds3_8h_source.html b/physx/documentation/PhysXAPI/files/PxBounds3_8h_source.html index ee278f7c3..e5989b19a 100644 --- a/physx/documentation/PhysXAPI/files/PxBounds3_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxBounds3_8h_source.html @@ -147,7 +147,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxCollection_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxCollection_8h__dep__incl.md5 index b152c68a7..28badcf68 100644 --- a/physx/documentation/PhysXAPI/files/PxCollection_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxCollection_8h__dep__incl.md5 @@ -1 +1 @@ -8dbc5334fa30f54db4d87835f0ab2587 \ No newline at end of file +b6661b3f300820ba11da1ec3c162cecb \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxCollection_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/PxCollection_8h__dep__incl.png index bd9e3cf45..1c88eb12e 100644 Binary files a/physx/documentation/PhysXAPI/files/PxCollection_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/PxCollection_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxCollisionDefs_8h_source.html b/physx/documentation/PhysXAPI/files/PxCollisionDefs_8h_source.html index cf579db18..be4879149 100644 --- a/physx/documentation/PhysXAPI/files/PxCollisionDefs_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxCollisionDefs_8h_source.html @@ -86,16 +86,17 @@
PxCollisionDefs.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 
31 #ifndef PX_COLLISION_DEFS_H
32 #define PX_COLLISION_DEFS_H
33 
34 #include "PxPhysXConfig.h"
35 #include "foundation/PxVec3.h"
36 #include "foundation/PxMat33.h"
39 #include "geometry/PxGeometry.h"
40 
41 #if !PX_DOXYGEN
42 namespace physx
43 {
44 #endif
45 
49  struct PxCache
50  {
55 
56  PX_FORCE_INLINE PxCache() : mCachedData(NULL), mCachedSize(0), mPairData(0), mManifoldFlags(0)
57  {
58  }
59  };
60 
61 
66  {
67  public:
75  virtual PxU8* allocateCacheData(const PxU32 byteSize) = 0;
76 
77  virtual ~PxCacheAllocator() {}
78  };
79 
80 #if !PX_DOXYGEN
81 }
82 #endif
83 
84 #endif
85 
Definition: GuContactBuffer.h:37
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 
31 #ifndef PX_COLLISION_DEFS_H
32 #define PX_COLLISION_DEFS_H
33 
34 #include "PxPhysXConfig.h"
35 #include "foundation/PxVec3.h"
36 #include "foundation/PxMat33.h"
39 #include "geometry/PxGeometry.h"
40 
41 #if !PX_DOXYGEN
42 namespace physx
43 {
44 #endif
45 
49  struct PxCache
50  {
55 
56  PX_FORCE_INLINE PxCache() : mCachedData(NULL), mCachedSize(0), mPairData(0), mManifoldFlags(0)
57  {
58  }
59 
60  PX_FORCE_INLINE void reset() { mCachedData = NULL; mCachedSize = 0; mPairData = 0; mManifoldFlags = 0;}
61  };
62 
63 
68  {
69  public:
77  virtual PxU8* allocateCacheData(const PxU32 byteSize) = 0;
78 
79  virtual ~PxCacheAllocator() {}
80  };
81 
82 #if !PX_DOXYGEN
83 }
84 #endif
85 
86 #endif
87 
Definition: GuContactBuffer.h:37
#define PX_FORCE_INLINE
Definition: PxPreprocessor.h:346
PxU8 * mCachedData
Cached data pointer. Allocated via PxCacheAllocator.
Definition: PxCollisionDefs.h:51
-
virtual ~PxCacheAllocator()
Definition: PxCollisionDefs.h:77
+
virtual ~PxCacheAllocator()
Definition: PxCollisionDefs.h:79
-
Definition: PxCollisionDefs.h:65
+
Definition: PxCollisionDefs.h:67
PxU8 mPairData
Pair data information used and cached internally by some contact gen functions to accelerate performa...
Definition: PxCollisionDefs.h:53
PX_FORCE_INLINE PxCache()
Definition: PxCollisionDefs.h:56
uint8_t PxU8
Definition: PxSimpleTypes.h:75
+
PX_FORCE_INLINE void reset()
Definition: PxCollisionDefs.h:60
PxU16 mCachedSize
The total size of the cached data.
Definition: PxCollisionDefs.h:52
PxU8 mManifoldFlags
Manifold flags used to identify the format the cached data is stored in.
Definition: PxCollisionDefs.h:54
A structure to cache contact information produced by LL contact gen functions.
Definition: PxCollisionDefs.h:49
diff --git a/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h.html b/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h.html index 841608dc8..a3872a6ba 100644 --- a/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h.html +++ b/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h.html @@ -100,24 +100,24 @@
- - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +
diff --git a/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h__dep__incl.map b/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h__dep__incl.map index cff8f8742..80d7a5f12 100644 --- a/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h__dep__incl.map +++ b/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h__dep__incl.map @@ -1,20 +1,20 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h__dep__incl.md5 index 11429e33f..bda1f7224 100644 --- a/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h__dep__incl.md5 @@ -1 +1 @@ -3500f627b55387fd0b3f3256a504e467 \ No newline at end of file +a39ab9377a3d112f5aaf7e7a48725727 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h__dep__incl.png index 5dbb32bcd..5869a52b2 100644 Binary files a/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/PxConstraintDesc_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxConstraint_8h_source.html b/physx/documentation/PhysXAPI/files/PxConstraint_8h_source.html index 98a1cf043..e3a08084d 100644 --- a/physx/documentation/PhysXAPI/files/PxConstraint_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxConstraint_8h_source.html @@ -86,7 +86,7 @@
PxConstraint.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_PHYSICS_NX_CONSTRAINT
31 #define PX_PHYSICS_NX_CONSTRAINT
32 
37 #include "PxPhysXConfig.h"
38 #include "PxConstraintDesc.h"
39 #include "common/PxBase.h"
40 
41 #if !PX_DOXYGEN
42 namespace physx
43 {
44 #endif
45 
46 class PxRigidActor;
47 class PxScene;
49 
63 {
64  enum Enum
65  {
66  eBROKEN = 1<<0,
67  ePROJECT_TO_ACTOR0 = 1<<1,
68  ePROJECT_TO_ACTOR1 = 1<<2,
69  ePROJECTION = ePROJECT_TO_ACTOR0 | ePROJECT_TO_ACTOR1,
70  eCOLLISION_ENABLED = 1<<3,
71  eVISUALIZATION = 1<<4,
72  eDRIVE_LIMITS_ARE_FORCES = 1<<5,
73  eIMPROVED_SLERP = 1<<7,
74  eDISABLE_PREPROCESSING = 1<<8,
75  eENABLE_EXTENDED_LIMITS = 1<<9,
76  eGPU_COMPATIBLE = 1<<10
77  };
78 };
79 
86 PX_FLAGS_OPERATORS(PxConstraintFlag::Enum, PxU16)
87 
89 {
90  enum
91  {
92  eMAX_SOLVERPRPEP_DATASIZE=400
93  };
94 
99 };
100 
101 
108 class PxConstraint : public PxBase
109 {
110 public:
111 
119  virtual void release() = 0;
120 
128  virtual PxScene* getScene() const = 0;
129 
138  virtual void getActors(PxRigidActor*& actor0, PxRigidActor*& actor1) const = 0;
139 
148  virtual void setActors(PxRigidActor* actor0, PxRigidActor* actor1) = 0;
149 
153  virtual void markDirty() = 0;
154 
164  virtual void setFlags(PxConstraintFlags flags) = 0;
165 
172  virtual PxConstraintFlags getFlags() const = 0;
173 
182  virtual void setFlag(PxConstraintFlag::Enum flag, bool value) = 0;
183 
190  virtual void getForce(PxVec3& linear, PxVec3& angular) const = 0;
191 
201  virtual bool isValid() const = 0;
202 
211  virtual void setBreakForce(PxReal linear, PxReal angular) = 0;
212 
219  virtual void getBreakForce(PxReal& linear, PxReal& angular) const = 0;
220 
233  virtual void setMinResponseThreshold(PxReal threshold) = 0;
234 
240  virtual PxReal getMinResponseThreshold() const = 0;
241 
252  virtual void* getExternalReference(PxU32& typeID) = 0;
253 
262  virtual void setConstraintFunctions(PxConstraintConnector& connector,
263  const PxConstraintShaderTable& shaders) = 0;
264 
265  virtual const char* getConcreteTypeName() const { return "PxConstraint"; }
266 
267 protected:
268  PX_INLINE PxConstraint(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags) {}
269  PX_INLINE PxConstraint(PxBaseFlags baseFlags) : PxBase(baseFlags) {}
270  virtual ~PxConstraint() {}
271  virtual bool isKindOf(const char* name) const { return !::strcmp("PxConstraint", name) || PxBase::isKindOf(name); }
272 
273 };
274 
275 #if !PX_DOXYGEN
276 } // namespace physx
277 #endif
278 
280 #endif
Definition: GuContactBuffer.h:37
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_PHYSICS_NX_CONSTRAINT
31 #define PX_PHYSICS_NX_CONSTRAINT
32 
37 #include "PxPhysXConfig.h"
38 #include "PxConstraintDesc.h"
39 #include "common/PxBase.h"
40 
41 #if !PX_DOXYGEN
42 namespace physx
43 {
44 #endif
45 
46 class PxRigidActor;
47 class PxScene;
49 
63 {
64  enum Enum
65  {
66  eBROKEN = 1<<0,
67  ePROJECT_TO_ACTOR0 = 1<<1,
68  ePROJECT_TO_ACTOR1 = 1<<2,
69  ePROJECTION = ePROJECT_TO_ACTOR0 | ePROJECT_TO_ACTOR1,
70  eCOLLISION_ENABLED = 1<<3,
71  eVISUALIZATION = 1<<4,
72  eDRIVE_LIMITS_ARE_FORCES = 1<<5,
73  eIMPROVED_SLERP = 1<<7,
74  eDISABLE_PREPROCESSING = 1<<8,
75  eENABLE_EXTENDED_LIMITS = 1<<9,
76  eGPU_COMPATIBLE = 1<<10
77  };
78 };
79 
86 PX_FLAGS_OPERATORS(PxConstraintFlag::Enum, PxU16)
87 
89 {
90  enum
91  {
92  eMAX_SOLVERPRPEP_DATASIZE=400
93  };
94 
99 };
100 
101 
108 class PxConstraint : public PxBase
109 {
110 public:
111 
119  virtual void release() = 0;
120 
128  virtual PxScene* getScene() const = 0;
129 
138  virtual void getActors(PxRigidActor*& actor0, PxRigidActor*& actor1) const = 0;
139 
148  virtual void setActors(PxRigidActor* actor0, PxRigidActor* actor1) = 0;
149 
153  virtual void markDirty() = 0;
154 
164  virtual void setFlags(PxConstraintFlags flags) = 0;
165 
172  virtual PxConstraintFlags getFlags() const = 0;
173 
182  virtual void setFlag(PxConstraintFlag::Enum flag, bool value) = 0;
183 
190  virtual void getForce(PxVec3& linear, PxVec3& angular) const = 0;
191 
201  virtual bool isValid() const = 0;
202 
211  virtual void setBreakForce(PxReal linear, PxReal angular) = 0;
212 
219  virtual void getBreakForce(PxReal& linear, PxReal& angular) const = 0;
220 
233  virtual void setMinResponseThreshold(PxReal threshold) = 0;
234 
240  virtual PxReal getMinResponseThreshold() const = 0;
241 
252  virtual void* getExternalReference(PxU32& typeID) = 0;
253 
262  virtual void setConstraintFunctions(PxConstraintConnector& connector,
263  const PxConstraintShaderTable& shaders) = 0;
264 
265  virtual const char* getConcreteTypeName() const { return "PxConstraint"; }
266 
267 protected:
268  PX_INLINE PxConstraint(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags) {}
269  PX_INLINE PxConstraint(PxBaseFlags baseFlags) : PxBase(baseFlags) {}
270  virtual ~PxConstraint() {}
271  virtual bool isKindOf(const char* name) const { return !::strcmp("PxConstraint", name) || PxBase::isKindOf(name); }
272 
273 };
274 
275 #if !PX_DOXYGEN
276 } // namespace physx
277 #endif
278 
280 #endif
Definition: GuContactBuffer.h:37
A scene is a collection of bodies and constraints which can interact.
Definition: PxScene.h:169
PxConstraintSolverPrep solverPrep
solver constraint generation function
Definition: PxConstraint.h:95
virtual const char * getConcreteTypeName() const
Returns string name of dynamic type.
Definition: PxConstraint.h:265
@@ -104,11 +104,13 @@
PxRigidActor represents a base class shared between dynamic and static rigid bodies in the physics SD...
Definition: PxRigidActor.h:58
PxFlags< PxConstraintFlag::Enum, PxU16 > PxConstraintFlags
constraint flags
Definition: PxConstraint.h:85
virtual ~PxConstraint()
Definition: PxConstraint.h:270
+
PxVec3 angular
Definition: PxArticulationReducedCoordinate.h:134
PxConstraintFlag::Enum flag
gpu constraint
Definition: PxConstraint.h:98
PxU16 flags
a set of Px1DConstraintFlags
Definition: PxConstraintDesc.h:110
A plugin class for implementing constraints.
Definition: PxConstraint.h:108
Enum
Definition: PxConstraint.h:64
void(* PxConstraintProject)(const void *constantBlock, PxTransform &bodyAToWorld, PxTransform &bodyBToWorld, bool projectToA)
Definition: PxConstraintDesc.h:249
+
PxVec3 linear
Definition: PxArticulationReducedCoordinate.h:132
void(* PxConstraintVisualize)(PxConstraintVisualizer &visualizer, const void *constantBlock, const PxTransform &body0Transform, const PxTransform &body1Transform, PxU32 flags)
Definition: PxConstraintDesc.h:325
Definition: PxConstraint.h:88
PxConstraintVisualize visualize
constraint visualization function
Definition: PxConstraint.h:97
diff --git a/physx/documentation/PhysXAPI/files/PxD6Joint_8h_source.html b/physx/documentation/PhysXAPI/files/PxD6Joint_8h_source.html index e0a9bb186..3e2e27c1b 100644 --- a/physx/documentation/PhysXAPI/files/PxD6Joint_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxD6Joint_8h_source.html @@ -86,7 +86,7 @@
PxD6Joint.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_D6JOINT_H
31 #define PX_D6JOINT_H
32 
36 #include "extensions/PxJoint.h"
38 #include "foundation/PxFlags.h"
39 
40 #if !PX_DOXYGEN
41 namespace physx
42 {
43 #endif
44 
45 class PxD6Joint;
46 
58 PxD6Joint* PxD6JointCreate(PxPhysics& physics, PxRigidActor* actor0, const PxTransform& localFrame0, PxRigidActor* actor1, const PxTransform& localFrame1);
59 
65 struct PxD6Axis
66 {
67  enum Enum
68  {
69  eX = 0,
70  eY = 1,
71  eZ = 2,
72  eTWIST = 3,
73  eSWING1 = 4,
74  eSWING2 = 5,
75  eCOUNT = 6
76  };
77 };
78 
79 
85 struct PxD6Motion
86 {
87  enum Enum
88  {
91  eFREE
92  };
93 };
94 
95 
111 struct PxD6Drive
112 {
113  enum Enum
114  {
115  eX = 0,
116  eY = 1,
117  eZ = 2,
118  eSWING = 3,
119  eTWIST = 4,
120  eSLERP = 5,
121  eCOUNT = 6
122  };
123 };
124 
131 {
132  enum Enum
133  {
134  eACCELERATION = 1
135  };
136 };
138 PX_FLAGS_OPERATORS(PxD6JointDriveFlag::Enum, PxU32)
139 
140 
145 class PxD6JointDrive : public PxSpring
146 {
147 //= ATTENTION! =====================================================================================
148 // Changing the data layout of this class breaks the binary serialization format. See comments for
149 // PX_BINARY_SERIAL_VERSION. If a modification is required, please adjust the getBinaryMetaData
150 // function. If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
151 // accordingly.
152 //==================================================================================================
153 
154 public:
157 
161  PxD6JointDrive(): PxSpring(0,0), forceLimit(PX_MAX_F32), flags(0) {}
162 
171  PxD6JointDrive(PxReal driveStiffness, PxReal driveDamping, PxReal driveForceLimit, bool isAcceleration = false)
172  : PxSpring(driveStiffness, driveDamping)
173  , forceLimit(driveForceLimit)
174  , flags(isAcceleration?PxU32(PxD6JointDriveFlag::eACCELERATION) : 0)
175  {}
176 
180  bool isValid() const
181  {
182  return PxIsFinite(stiffness) && stiffness>=0 &&
183  PxIsFinite(damping) && damping >=0 &&
184  PxIsFinite(forceLimit) && forceLimit >=0;
185  }
186 };
187 
188 
224 class PxD6Joint : public PxJoint
225 {
226 public:
227 
241  virtual void setMotion(PxD6Axis::Enum axis, PxD6Motion::Enum type) = 0;
242 
251  virtual PxD6Motion::Enum getMotion(PxD6Axis::Enum axis) const = 0;
252 
256  virtual PxReal getTwistAngle() const = 0;
257 
263  PX_DEPRECATED PX_FORCE_INLINE PxReal getTwist() const { return getTwistAngle(); }
264 
268  virtual PxReal getSwingYAngle() const = 0;
269 
273  virtual PxReal getSwingZAngle() const = 0;
274 
286  virtual void setDistanceLimit(const PxJointLinearLimit& limit) = 0;
287 
295  virtual PxJointLinearLimit getDistanceLimit() const = 0;
296 
300  PX_DEPRECATED PX_FORCE_INLINE void setLinearLimit(const PxJointLinearLimit& limit) { setDistanceLimit(limit); }
301 
305  PX_DEPRECATED PX_FORCE_INLINE PxJointLinearLimit getLinearLimit() const { return getDistanceLimit(); }
306 
322  virtual void setLinearLimit(PxD6Axis::Enum axis, const PxJointLinearLimitPair& limit) = 0;
323 
333  virtual PxJointLinearLimitPair getLinearLimit(PxD6Axis::Enum axis) const = 0;
334 
346  virtual void setTwistLimit(const PxJointAngularLimitPair& limit) = 0;
347 
355  virtual PxJointAngularLimitPair getTwistLimit() const = 0;
356 
368  virtual void setSwingLimit(const PxJointLimitCone& limit) = 0;
369 
377  virtual PxJointLimitCone getSwingLimit() const = 0;
378 
392  virtual void setPyramidSwingLimit(const PxJointLimitPyramid& limit) = 0;
393 
401  virtual PxJointLimitPyramid getPyramidSwingLimit() const = 0;
402 
413  virtual void setDrive(PxD6Drive::Enum index, const PxD6JointDrive& drive) = 0;
414 
422  virtual PxD6JointDrive getDrive(PxD6Drive::Enum index) const = 0;
423 
436  virtual void setDrivePosition(const PxTransform& pose, bool autowake = true) = 0;
437 
443  virtual PxTransform getDrivePosition() const = 0;
444 
456  virtual void setDriveVelocity(const PxVec3& linear, const PxVec3& angular, bool autowake = true) = 0;
457 
466  virtual void getDriveVelocity(PxVec3& linear, PxVec3& angular) const = 0;
467 
486  virtual void setProjectionLinearTolerance(PxReal tolerance) = 0;
487 
495  virtual PxReal getProjectionLinearTolerance() const = 0;
496 
518  virtual void setProjectionAngularTolerance(PxReal tolerance) = 0;
519 
527  virtual PxReal getProjectionAngularTolerance() const = 0;
528 
532  virtual const char* getConcreteTypeName() const { return "PxD6Joint"; }
533 
534 protected:
535 
536  //serialization
537 
541  PX_INLINE PxD6Joint(PxType concreteType, PxBaseFlags baseFlags) : PxJoint(concreteType, baseFlags) {}
542 
546  PX_INLINE PxD6Joint(PxBaseFlags baseFlags) : PxJoint(baseFlags) {}
547 
551  virtual bool isKindOf(const char* name) const { return !::strcmp("PxD6Joint", name) || PxJoint::isKindOf(name); }
552 
553  //~serialization
554 };
555 
556 #if !PX_DOXYGEN
557 } // namespace physx
558 #endif
559 
561 #endif
Definition: GuContactBuffer.h:37
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_D6JOINT_H
31 #define PX_D6JOINT_H
32 
36 #include "extensions/PxJoint.h"
38 #include "foundation/PxFlags.h"
39 
40 #if !PX_DOXYGEN
41 namespace physx
42 {
43 #endif
44 
45 class PxD6Joint;
46 
58 PxD6Joint* PxD6JointCreate(PxPhysics& physics, PxRigidActor* actor0, const PxTransform& localFrame0, PxRigidActor* actor1, const PxTransform& localFrame1);
59 
65 struct PxD6Axis
66 {
67  enum Enum
68  {
69  eX = 0,
70  eY = 1,
71  eZ = 2,
72  eTWIST = 3,
73  eSWING1 = 4,
74  eSWING2 = 5,
75  eCOUNT = 6
76  };
77 };
78 
79 
85 struct PxD6Motion
86 {
87  enum Enum
88  {
91  eFREE
92  };
93 };
94 
95 
111 struct PxD6Drive
112 {
113  enum Enum
114  {
115  eX = 0,
116  eY = 1,
117  eZ = 2,
118  eSWING = 3,
119  eTWIST = 4,
120  eSLERP = 5,
121  eCOUNT = 6
122  };
123 };
124 
131 {
132  enum Enum
133  {
134  eACCELERATION = 1
135  };
136 };
138 PX_FLAGS_OPERATORS(PxD6JointDriveFlag::Enum, PxU32)
139 
140 
145 class PxD6JointDrive : public PxSpring
146 {
147 //= ATTENTION! =====================================================================================
148 // Changing the data layout of this class breaks the binary serialization format. See comments for
149 // PX_BINARY_SERIAL_VERSION. If a modification is required, please adjust the getBinaryMetaData
150 // function. If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
151 // accordingly.
152 //==================================================================================================
153 
154 public:
157 
161  PxD6JointDrive(): PxSpring(0,0), forceLimit(PX_MAX_F32), flags(0) {}
162 
171  PxD6JointDrive(PxReal driveStiffness, PxReal driveDamping, PxReal driveForceLimit, bool isAcceleration = false)
172  : PxSpring(driveStiffness, driveDamping)
173  , forceLimit(driveForceLimit)
174  , flags(isAcceleration?PxU32(PxD6JointDriveFlag::eACCELERATION) : 0)
175  {}
176 
180  bool isValid() const
181  {
182  return PxIsFinite(stiffness) && stiffness>=0 &&
183  PxIsFinite(damping) && damping >=0 &&
184  PxIsFinite(forceLimit) && forceLimit >=0;
185  }
186 };
187 
188 
224 class PxD6Joint : public PxJoint
225 {
226 public:
227 
241  virtual void setMotion(PxD6Axis::Enum axis, PxD6Motion::Enum type) = 0;
242 
251  virtual PxD6Motion::Enum getMotion(PxD6Axis::Enum axis) const = 0;
252 
256  virtual PxReal getTwistAngle() const = 0;
257 
263  PX_DEPRECATED PX_FORCE_INLINE PxReal getTwist() const { return getTwistAngle(); }
264 
268  virtual PxReal getSwingYAngle() const = 0;
269 
273  virtual PxReal getSwingZAngle() const = 0;
274 
286  virtual void setDistanceLimit(const PxJointLinearLimit& limit) = 0;
287 
295  virtual PxJointLinearLimit getDistanceLimit() const = 0;
296 
300  PX_DEPRECATED PX_FORCE_INLINE void setLinearLimit(const PxJointLinearLimit& limit) { setDistanceLimit(limit); }
301 
305  PX_DEPRECATED PX_FORCE_INLINE PxJointLinearLimit getLinearLimit() const { return getDistanceLimit(); }
306 
322  virtual void setLinearLimit(PxD6Axis::Enum axis, const PxJointLinearLimitPair& limit) = 0;
323 
333  virtual PxJointLinearLimitPair getLinearLimit(PxD6Axis::Enum axis) const = 0;
334 
346  virtual void setTwistLimit(const PxJointAngularLimitPair& limit) = 0;
347 
355  virtual PxJointAngularLimitPair getTwistLimit() const = 0;
356 
368  virtual void setSwingLimit(const PxJointLimitCone& limit) = 0;
369 
377  virtual PxJointLimitCone getSwingLimit() const = 0;
378 
392  virtual void setPyramidSwingLimit(const PxJointLimitPyramid& limit) = 0;
393 
401  virtual PxJointLimitPyramid getPyramidSwingLimit() const = 0;
402 
413  virtual void setDrive(PxD6Drive::Enum index, const PxD6JointDrive& drive) = 0;
414 
422  virtual PxD6JointDrive getDrive(PxD6Drive::Enum index) const = 0;
423 
436  virtual void setDrivePosition(const PxTransform& pose, bool autowake = true) = 0;
437 
443  virtual PxTransform getDrivePosition() const = 0;
444 
456  virtual void setDriveVelocity(const PxVec3& linear, const PxVec3& angular, bool autowake = true) = 0;
457 
466  virtual void getDriveVelocity(PxVec3& linear, PxVec3& angular) const = 0;
467 
486  virtual void setProjectionLinearTolerance(PxReal tolerance) = 0;
487 
495  virtual PxReal getProjectionLinearTolerance() const = 0;
496 
518  virtual void setProjectionAngularTolerance(PxReal tolerance) = 0;
519 
527  virtual PxReal getProjectionAngularTolerance() const = 0;
528 
532  virtual const char* getConcreteTypeName() const { return "PxD6Joint"; }
533 
534 protected:
535 
536  //serialization
537 
541  PX_INLINE PxD6Joint(PxType concreteType, PxBaseFlags baseFlags) : PxJoint(concreteType, baseFlags) {}
542 
546  PX_INLINE PxD6Joint(PxBaseFlags baseFlags) : PxJoint(baseFlags) {}
547 
551  virtual bool isKindOf(const char* name) const { return !::strcmp("PxD6Joint", name) || PxJoint::isKindOf(name); }
552 
553  //~serialization
554 };
555 
556 #if !PX_DOXYGEN
557 } // namespace physx
558 #endif
559 
561 #endif
Definition: GuContactBuffer.h:37
PxD6JointDrive(PxReal driveStiffness, PxReal driveDamping, PxReal driveForceLimit, bool isAcceleration=false)
constructor a PxD6JointDrive.
Definition: PxD6Joint.h:171
virtual bool isKindOf(const char *name) const
Returns whether a given type name matches with the type of this instance.
Definition: PxD6Joint.h:551
PX_DEPRECATED PX_FORCE_INLINE void setLinearLimit(const PxJointLinearLimit &limit)
Definition: PxD6Joint.h:300
@@ -107,6 +107,7 @@
PX_DEPRECATED PX_FORCE_INLINE PxJointLinearLimit getLinearLimit() const
Definition: PxD6Joint.h:305
a base interface providing common functionality for PhysX joints
Definition: PxJoint.h:101
#define PX_DEPRECATED
Definition: PxPreprocessor.h:419
+
PxVec3 angular
Definition: PxArticulationReducedCoordinate.h:134
Definition: PxJointLimit.h:295
PxReal forceLimit
the force limit of the drive - may be an impulse or a force depending on PxConstraintFlag::eDRIVE_LIM...
Definition: PxD6Joint.h:155
The DOF is locked, it does not allow relative motion.
Definition: PxD6Joint.h:89
@@ -125,6 +126,7 @@
Used to specify one of the degrees of freedom of a D6 joint.
Definition: PxD6Joint.h:65
virtual const char * getConcreteTypeName() const
Returns string name of PxD6Joint, used for serialization.
Definition: PxD6Joint.h:532
+
PxVec3 linear
Definition: PxArticulationReducedCoordinate.h:132
PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxIsFinite(float f)
returns true if the passed number is a finite floating point number as opposed to INF...
Definition: PxMath.h:292
PX_INLINE PxD6Joint(PxBaseFlags baseFlags)
Deserialization constructor.
Definition: PxD6Joint.h:546
Describes an elliptical conical joint limit. Note that very small or highly elliptical limit cones ma...
Definition: PxJointLimit.h:369
diff --git a/physx/documentation/PhysXAPI/files/PxErrorCallback_8h.html b/physx/documentation/PhysXAPI/files/PxErrorCallback_8h.html index 2333b6dda..4d03158b3 100644 --- a/physx/documentation/PhysXAPI/files/PxErrorCallback_8h.html +++ b/physx/documentation/PhysXAPI/files/PxErrorCallback_8h.html @@ -124,7 +124,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxErrorCallback_8h_source.html b/physx/documentation/PhysXAPI/files/PxErrorCallback_8h_source.html index f56c477ae..26442858a 100644 --- a/physx/documentation/PhysXAPI/files/PxErrorCallback_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxErrorCallback_8h_source.html @@ -97,7 +97,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxErrors_8h.html b/physx/documentation/PhysXAPI/files/PxErrors_8h.html index cc0650468..bd676aa4a 100644 --- a/physx/documentation/PhysXAPI/files/PxErrors_8h.html +++ b/physx/documentation/PhysXAPI/files/PxErrors_8h.html @@ -130,7 +130,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxErrors_8h_source.html b/physx/documentation/PhysXAPI/files/PxErrors_8h_source.html index ea00b3e10..5dc3fc194 100644 --- a/physx/documentation/PhysXAPI/files/PxErrors_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxErrors_8h_source.html @@ -96,7 +96,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxFlags_8h.html b/physx/documentation/PhysXAPI/files/PxFlags_8h.html index 8d6650fed..ffd2408bb 100644 --- a/physx/documentation/PhysXAPI/files/PxFlags_8h.html +++ b/physx/documentation/PhysXAPI/files/PxFlags_8h.html @@ -160,7 +160,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxFlags_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxFlags_8h__dep__incl.md5 index 497e56c7d..6f568296f 100644 --- a/physx/documentation/PhysXAPI/files/PxFlags_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxFlags_8h__dep__incl.md5 @@ -1 +1 @@ -6cc617ebd63492ac2fab44d07fa05954 \ No newline at end of file +59f86c4b39783de29734c0426b452138 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxFlags_8h_source.html b/physx/documentation/PhysXAPI/files/PxFlags_8h_source.html index 2a8d9d430..8137e807a 100644 --- a/physx/documentation/PhysXAPI/files/PxFlags_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxFlags_8h_source.html @@ -116,7 +116,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxFoundationConfig_8h_source.html b/physx/documentation/PhysXAPI/files/PxFoundationConfig_8h_source.html index 165b8c6dc..8f8c475e7 100644 --- a/physx/documentation/PhysXAPI/files/PxFoundationConfig_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxFoundationConfig_8h_source.html @@ -86,7 +86,7 @@
PxFoundationConfig.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_FOUNDATION_PX_FOUNDATION_CONFIG_H
31 #define PX_FOUNDATION_PX_FOUNDATION_CONFIG_H
32 
34 
39 #if defined PX_PHYSX_STATIC_LIB
40  #define PX_FOUNDATION_API
41 #else
42  #if PX_WINDOWS_FAMILY && !defined(__CUDACC__)
43  #if defined PX_PHYSX_FOUNDATION_EXPORTS
44  #define PX_FOUNDATION_API __declspec(dllexport)
45  #else
46  #define PX_FOUNDATION_API __declspec(dllimport)
47  #endif
48  #elif PX_UNIX_FAMILY
49  #define PX_FOUNDATION_API PX_UNIX_EXPORT
50  #else
51  #define PX_FOUNDATION_API
52  #endif
53 #endif
54 
55 
57 #endif // PX_FOUNDATION_PX_ASSERT_H
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_FOUNDATION_PX_FOUNDATION_CONFIG_H
31 #define PX_FOUNDATION_PX_FOUNDATION_CONFIG_H
32 
34 
39 #if defined PX_PHYSX_STATIC_LIB
40  #define PX_FOUNDATION_API
41 #else
42  #if (PX_WINDOWS_FAMILY || PX_XBOXONE || PX_PS4) && !defined(__CUDACC__)
43  #if defined PX_PHYSX_FOUNDATION_EXPORTS
44  #define PX_FOUNDATION_API __declspec(dllexport)
45  #else
46  #define PX_FOUNDATION_API __declspec(dllimport)
47  #endif
48  #elif PX_UNIX_FAMILY
49  #define PX_FOUNDATION_API PX_UNIX_EXPORT
50  #else
51  #define PX_FOUNDATION_API
52  #endif
53 #endif
54 
55 
57 #endif // PX_FOUNDATION_PX_ASSERT_H
diff --git a/physx/documentation/PhysXAPI/files/PxIO_8h.html b/physx/documentation/PhysXAPI/files/PxIO_8h.html index e6537677a..086b7f77e 100644 --- a/physx/documentation/PhysXAPI/files/PxIO_8h.html +++ b/physx/documentation/PhysXAPI/files/PxIO_8h.html @@ -122,7 +122,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxIO_8h_source.html b/physx/documentation/PhysXAPI/files/PxIO_8h_source.html index 3f782865f..f8968a150 100644 --- a/physx/documentation/PhysXAPI/files/PxIO_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxIO_8h_source.html @@ -100,7 +100,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxImmediateMode_8h.html b/physx/documentation/PhysXAPI/files/PxImmediateMode_8h.html index 5927cd4d3..c7b5a4855 100644 --- a/physx/documentation/PhysXAPI/files/PxImmediateMode_8h.html +++ b/physx/documentation/PhysXAPI/files/PxImmediateMode_8h.html @@ -92,6 +92,7 @@

Go to the source code of this file.

@@ -159,6 +160,18 @@ + + + + + + + + + + + + diff --git a/physx/documentation/PhysXAPI/files/PxImmediateMode_8h.js b/physx/documentation/PhysXAPI/files/PxImmediateMode_8h.js index 6ae3c2d2a..64e55a6b1 100644 --- a/physx/documentation/PhysXAPI/files/PxImmediateMode_8h.js +++ b/physx/documentation/PhysXAPI/files/PxImmediateMode_8h.js @@ -1,6 +1,7 @@ var PxImmediateMode_8h = [ [ "PxAddArticulationLink", "group__immediatemode.html#ga8c2749699d2f9e22cfb34ed83a7b80ce", null ], + [ "PxApplyArticulationCache", "group__immediatemode.html#gadcdee80ca02f10c0e31a367c7d30ca91", null ], [ "PxBatchConstraints", "group__immediatemode.html#ga02aa17b8f928f23a16520036c572e862", null ], [ "PxBatchConstraintsTGS", "group__immediatemode.html#ga78e8a4101cc5ede158fd8ae7b9a9d13b", null ], [ "PxComputeUnconstrainedVelocities", "group__immediatemode.html#ga4d9bc901669de439d061962e7ab9509e", null ], @@ -9,6 +10,8 @@ var PxImmediateMode_8h = [ "PxConstructSolverBodiesTGS", "group__immediatemode.html#gaaa4db837c3284147da8c85356d969258", null ], [ "PxConstructStaticSolverBody", "group__immediatemode.html#gab1ff672bf5a0569d6cc5f137142b1c1d", null ], [ "PxConstructStaticSolverBodyTGS", "group__immediatemode.html#ga2dc9fa88d851b81cb15e382060e27ec7", null ], + [ "PxCopyInternalStateToArticulationCache", "group__immediatemode.html#ga5d5ba6074b5169c269d7e4c56ac0467d", null ], + [ "PxCreateArticulationCache", "group__immediatemode.html#gaa29d46bee46ce200c9e8a2a6f353c0a1", null ], [ "PxCreateContactConstraints", "group__immediatemode.html#ga02dd00aca33ee58a65f32472719e9b07", null ], [ "PxCreateContactConstraintsTGS", "group__immediatemode.html#ga81189e2221bba32ed064faf2769d9844", null ], [ "PxCreateFeatherstoneArticulation", "group__immediatemode.html#ga86ececaefac85fdb67e6e46332eedc75", null ], @@ -29,6 +32,7 @@ var PxImmediateMode_8h = [ "PxIntegrateSolverBodiesTGS", "group__immediatemode.html#gabd1a23fee83c2fab66822275bbcf50bb", null ], [ "PxRegisterImmediateArticulations", "group__immediatemode.html#ga6d8ad8d1a6156da1f4473d4ec4922016", null ], [ "PxReleaseArticulation", "group__immediatemode.html#ga5df3edcbf7b639900668b49ff50eda22", null ], + [ "PxReleaseArticulationCache", "group__immediatemode.html#ga5189b5d63b22e3d7e1da1d94aa6854b7", null ], [ "PxSetJointData", "group__immediatemode.html#ga29ab413fa60db236c4d9ef93081f6928", null ], [ "PxSetMutableLinkData", "group__immediatemode.html#ga404f7b347df78a632073246c46c173ec", null ], [ "PxSolveConstraints", "group__immediatemode.html#gae59ded2b77c594a690169036785f2ef5", null ], diff --git a/physx/documentation/PhysXAPI/files/PxImmediateMode_8h_source.html b/physx/documentation/PhysXAPI/files/PxImmediateMode_8h_source.html index f58741ad8..d73be3402 100644 --- a/physx/documentation/PhysXAPI/files/PxImmediateMode_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxImmediateMode_8h_source.html @@ -86,91 +86,97 @@
PxImmediateMode.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_PHYSICS_IMMEDIATE_MODE
31 #define PX_PHYSICS_IMMEDIATE_MODE
32 
35 #include "PxPhysXConfig.h"
36 #include "solver/PxSolverDefs.h"
38 
39 #if !PX_DOXYGEN
40 namespace physx
41 {
42 #endif
43 
44 #if !PX_DOXYGEN
45 namespace immediate
46 {
47 #endif
48 
53  {
54  PX_ALIGN(16, PxVec3 linearVelocity);
66  };
67 
72  {
73  public:
81  virtual bool recordContacts(const Gu::ContactPoint* contactPoints, const PxU32 nbContacts, const PxU32 index) = 0;
82 
83  virtual ~PxContactRecorder(){}
84  };
85 
94  PX_C_EXPORT PX_PHYSX_CORE_API void PxConstructSolverBodies(const PxRigidBodyData* inRigidData, PxSolverBodyData* outSolverBodyData, const PxU32 nbBodies, const PxVec3& gravity, const PxReal dt);
95 
102 
120  PX_C_EXPORT PX_PHYSX_CORE_API PxU32 PxBatchConstraints( const PxSolverConstraintDesc* solverConstraintDescs, const PxU32 nbConstraints, PxSolverBody* solverBodies, const PxU32 nbBodies,
121  PxConstraintBatchHeader* outBatchHeaders, PxSolverConstraintDesc* outOrderedConstraintDescs,
122  Dy::ArticulationV** articulations=NULL, const PxU32 nbArticulations=0);
123 
142  PxConstraintAllocator& allocator, const PxReal invDt, const PxReal bounceThreshold, const PxReal frictionOffsetThreshold, const PxReal correlationDistance);
143 
154  PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraints(PxConstraintBatchHeader* batchHeaders, const PxU32 nbHeaders, PxSolverConstraintPrepDesc* jointDescs, PxConstraintAllocator& allocator, const PxReal dt, const PxReal invDt);
155 
168  PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraintsWithShaders(PxConstraintBatchHeader* batchHeaders, const PxU32 nbBatchHeaders, PxConstraint** constraints, PxSolverConstraintPrepDesc* jointDescs, PxConstraintAllocator& allocator, const PxReal dt, const PxReal invDt);
169 
171  {
173  const void* constantBlock;
174  };
187  PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraintsWithImmediateShaders(PxConstraintBatchHeader* batchHeaders, const PxU32 nbBatchHeaders, PxImmediateConstraint* constraints, PxSolverConstraintPrepDesc* jointDescs, PxConstraintAllocator& allocator, const PxReal dt, const PxReal invDt);
188 
205  PX_C_EXPORT PX_PHYSX_CORE_API void PxSolveConstraints(const PxConstraintBatchHeader* batchHeaders, const PxU32 nbBatchHeaders, const PxSolverConstraintDesc* solverConstraintDescs,
206  const PxSolverBody* solverBodies, PxVec3* linearMotionVelocity, PxVec3* angularMotionVelocity, const PxU32 nbSolverBodies, const PxU32 nbPositionIterations, const PxU32 nbVelocityIterations,
207  const float dt=0.0f, const float invDt=0.0f, const PxU32 nbSolverArticulations=0, Dy::ArticulationV** solverArticulations=NULL);
208 
219  PX_C_EXPORT PX_PHYSX_CORE_API void PxIntegrateSolverBodies(PxSolverBodyData* solverBodyData, PxSolverBody* solverBody, const PxVec3* linearMotionVelocity, const PxVec3* angularMotionState, const PxU32 nbBodiesToIntegrate, const PxReal dt);
220 
241  PX_C_EXPORT PX_PHYSX_CORE_API bool PxGenerateContacts(const PxGeometry* const * geom0, const PxGeometry* const * geom1, const PxTransform* pose0, const PxTransform* pose1, PxCache* contactCache, const PxU32 nbPairs, PxContactRecorder& contactRecorder,
242  const PxReal contactDistance, const PxReal meshContactMargin, const PxReal toleranceLength, PxCacheAllocator& allocator);
243 
251 
253  {
256  };
257 
259  {
268  };
269 
271  {
273  };
274 
276  {
278  float inverseMass;
284  };
285 
286  struct PxLinkData
287  {
291  };
292 
294  {
296 
297  void initData()
298  {
299  inboundJoint.type = PxArticulationJointType::eUNDEFINED; // For root
300  inboundJoint.parentPose = PxTransform(PxIdentity);
301  inboundJoint.childPose = PxTransform(PxIdentity);
302  inboundJoint.frictionCoefficient = 0.05f;
303  inboundJoint.maxJointVelocity = 100.0f;
304 
305  pose = PxTransform(PxIdentity);
306  parent = 0;
307  inverseInertia = PxVec3(1.0f);
308  inverseMass = 1.0f;
309  linearDamping = 0.05f;
310  angularDamping = 0.05f;
311  maxLinearVelocitySq = 100.0f * 100.0f;
312  maxAngularVelocitySq = 50.0f * 50.0f;
313  disableGravity = false;
314 
315  for(PxU32 i=0;i<PxArticulationAxis::eCOUNT;i++)
316  {
317  inboundJoint.motion[i] = PxArticulationMotion::eLOCKED;
318  inboundJoint.limits[i].low = inboundJoint.limits[i].high = 0.0f;
319  inboundJoint.drives[i].stiffness = 0.0f;
320  inboundJoint.drives[i].damping = 0.0f;
321  inboundJoint.drives[i].maxForce = 0.0f;
322  inboundJoint.drives[i].driveType = PxArticulationDriveType::eFORCE;
323  }
324  memset(inboundJoint.targetPos, 0xff, sizeof(PxReal)*PxArticulationAxis::eCOUNT);
325  memset(inboundJoint.targetVel, 0xff, sizeof(PxReal)*PxArticulationAxis::eCOUNT);
326  }
327 
329 
330  // Non-mutable link data
333  };
334 
342  // PT: Design note: I use Dy::ArticulationV* to be consistent with PxSolverDefs.h
344 
351  PX_C_EXPORT PX_PHYSX_CORE_API void PxReleaseArticulation(Dy::ArticulationV* articulation);
352 
361  PX_C_EXPORT PX_PHYSX_CORE_API Dy::ArticulationLinkHandle PxAddArticulationLink(Dy::ArticulationV* articulation, const PxFeatherstoneArticulationLinkData& data, bool isLastLink=false);
362 
369 
376 
387 
397  PX_C_EXPORT PX_PHYSX_CORE_API PxU32 PxGetAllLinkData(const Dy::ArticulationV* articulation, PxLinkData* data);
398 
408 
418 
428 
438 
445  PX_C_EXPORT PX_PHYSX_CORE_API void PxComputeUnconstrainedVelocities(Dy::ArticulationV* articulation, const PxVec3& gravity, const PxReal dt);
446 
452  PX_C_EXPORT PX_PHYSX_CORE_API void PxUpdateArticulationBodies(Dy::ArticulationV* articulation, const PxReal dt);
453 
463  PX_C_EXPORT PX_PHYSX_CORE_API void PxComputeUnconstrainedVelocitiesTGS(Dy::ArticulationV* articulation, const PxVec3& gravity, const PxReal dt, const PxReal totalDt, const PxReal invDt, const PxReal invTotalDt);
464 
470  PX_C_EXPORT PX_PHYSX_CORE_API void PxUpdateArticulationBodiesTGS(Dy::ArticulationV* articulation, const PxReal dt);
471 
472 
483  PX_C_EXPORT PX_PHYSX_CORE_API void PxConstructSolverBodiesTGS(const PxRigidBodyData* inRigidData, PxTGSSolverBodyVel* outSolverBodyVel, PxTGSSolverBodyTxInertia* outSolverBodyTxInertia, PxTGSSolverBodyData* outSolverBodyData, const PxU32 nbBodies, const PxVec3& gravity, const PxReal dt);
484 
492  PX_C_EXPORT PX_PHYSX_CORE_API void PxConstructStaticSolverBodyTGS(const PxTransform& globalPose, PxTGSSolverBodyVel& solverBodyVel, PxTGSSolverBodyTxInertia& solverBodyTxInertia, PxTGSSolverBodyData& solverBodyData);
493 
511  PX_C_EXPORT PX_PHYSX_CORE_API PxU32 PxBatchConstraintsTGS(const PxSolverConstraintDesc* solverConstraintDescs, const PxU32 nbConstraints, PxTGSSolverBodyVel* solverBodies, const PxU32 nbBodies,
512  PxConstraintBatchHeader* outBatchHeaders, PxSolverConstraintDesc* outOrderedConstraintDescs,
513  Dy::ArticulationV** articulations = NULL, const PxU32 nbArticulations = 0);
514 
515 
535  PxConstraintAllocator& allocator, const PxReal invDt, const PxReal invTotalDt, const PxReal bounceThreshold, const PxReal frictionOffsetThreshold, const PxReal correlationDistance);
536 
551  PxTGSSolverConstraintPrepDesc* jointDescs, PxConstraintAllocator& allocator, const PxReal dt, const PxReal totalDt, const PxReal invDt,
552  const PxReal invTotalDt, const PxReal lengthScale);
553 
569  PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraintsWithShadersTGS(PxConstraintBatchHeader* batchHeaders, const PxU32 nbBatchHeaders, PxConstraint** constraints, PxTGSSolverConstraintPrepDesc* jointDescs, PxConstraintAllocator& allocator, const PxReal dt,
570  const PxReal totalDt, const PxReal invDt, const PxReal invTotalDt, const PxReal lengthScale);
571 
589  PxConstraintAllocator& allocator, const PxReal dt, const PxReal totalDt, const PxReal invDt, const PxReal invTotalDt, const PxReal lengthScale);
590 
591 
607  PX_C_EXPORT PX_PHYSX_CORE_API void PxSolveConstraintsTGS(const PxConstraintBatchHeader* batchHeaders, const PxU32 nbBatchHeaders, const PxSolverConstraintDesc* solverConstraintDescs,
608  PxTGSSolverBodyVel* solverBodies, PxTGSSolverBodyTxInertia* txInertias, const PxU32 nbSolverBodies, const PxU32 nbPositionIterations, const PxU32 nbVelocityIterations,
609  const float dt, const float invDt, const PxU32 nbSolverArticulations, Dy::ArticulationV** solverArticulations);
610 
620  PX_C_EXPORT PX_PHYSX_CORE_API void PxIntegrateSolverBodiesTGS(PxTGSSolverBodyVel* solverBody, PxTGSSolverBodyTxInertia* txInertia, PxTransform* poses, const PxU32 nbBodiesToIntegrate, const PxReal dt);
621 
622 
623 #if !PX_DOXYGEN
624 }
625 #endif
626 
627 #if !PX_DOXYGEN
628 }
629 #endif
630 
632 #endif
633 
Definition: GuContactBuffer.h:37
-
const void * constantBlock
Definition: PxImmediateMode.h:173
-
Definition: PxSolverDefs.h:298
-
Definition: PxImmediateMode.h:252
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_PHYSICS_IMMEDIATE_MODE
31 #define PX_PHYSICS_IMMEDIATE_MODE
32 
35 #include "PxPhysXConfig.h"
36 #include "solver/PxSolverDefs.h"
39 
40 #if !PX_DOXYGEN
41 namespace physx
42 {
43 #endif
44 
45 #if !PX_DOXYGEN
46 namespace immediate
47 {
48 #endif
49 
54  {
55  PX_ALIGN(16, PxVec3 linearVelocity);
67  };
68 
73  {
74  public:
82  virtual bool recordContacts(const Gu::ContactPoint* contactPoints, const PxU32 nbContacts, const PxU32 index) = 0;
83 
84  virtual ~PxContactRecorder(){}
85  };
86 
95  PX_C_EXPORT PX_PHYSX_CORE_API void PxConstructSolverBodies(const PxRigidBodyData* inRigidData, PxSolverBodyData* outSolverBodyData, const PxU32 nbBodies, const PxVec3& gravity, const PxReal dt);
96 
103 
121  PX_C_EXPORT PX_PHYSX_CORE_API PxU32 PxBatchConstraints( const PxSolverConstraintDesc* solverConstraintDescs, const PxU32 nbConstraints, PxSolverBody* solverBodies, const PxU32 nbBodies,
122  PxConstraintBatchHeader* outBatchHeaders, PxSolverConstraintDesc* outOrderedConstraintDescs,
123  Dy::ArticulationV** articulations=NULL, const PxU32 nbArticulations=0);
124 
143  PxConstraintAllocator& allocator, const PxReal invDt, const PxReal bounceThreshold, const PxReal frictionOffsetThreshold, const PxReal correlationDistance);
144 
155  PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraints(PxConstraintBatchHeader* batchHeaders, const PxU32 nbHeaders, PxSolverConstraintPrepDesc* jointDescs, PxConstraintAllocator& allocator, const PxReal dt, const PxReal invDt);
156 
169  PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraintsWithShaders(PxConstraintBatchHeader* batchHeaders, const PxU32 nbBatchHeaders, PxConstraint** constraints, PxSolverConstraintPrepDesc* jointDescs, PxConstraintAllocator& allocator, const PxReal dt, const PxReal invDt);
170 
172  {
174  const void* constantBlock;
175  };
188  PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraintsWithImmediateShaders(PxConstraintBatchHeader* batchHeaders, const PxU32 nbBatchHeaders, PxImmediateConstraint* constraints, PxSolverConstraintPrepDesc* jointDescs, PxConstraintAllocator& allocator, const PxReal dt, const PxReal invDt);
189 
206  PX_C_EXPORT PX_PHYSX_CORE_API void PxSolveConstraints(const PxConstraintBatchHeader* batchHeaders, const PxU32 nbBatchHeaders, const PxSolverConstraintDesc* solverConstraintDescs,
207  const PxSolverBody* solverBodies, PxVec3* linearMotionVelocity, PxVec3* angularMotionVelocity, const PxU32 nbSolverBodies, const PxU32 nbPositionIterations, const PxU32 nbVelocityIterations,
208  const float dt=0.0f, const float invDt=0.0f, const PxU32 nbSolverArticulations=0, Dy::ArticulationV** solverArticulations=NULL);
209 
220  PX_C_EXPORT PX_PHYSX_CORE_API void PxIntegrateSolverBodies(PxSolverBodyData* solverBodyData, PxSolverBody* solverBody, const PxVec3* linearMotionVelocity, const PxVec3* angularMotionState, const PxU32 nbBodiesToIntegrate, const PxReal dt);
221 
242  PX_C_EXPORT PX_PHYSX_CORE_API bool PxGenerateContacts(const PxGeometry* const * geom0, const PxGeometry* const * geom1, const PxTransform* pose0, const PxTransform* pose1, PxCache* contactCache, const PxU32 nbPairs, PxContactRecorder& contactRecorder,
243  const PxReal contactDistance, const PxReal meshContactMargin, const PxReal toleranceLength, PxCacheAllocator& allocator);
244 
252 
254  {
257  };
258 
260  {
269  };
270 
272  {
274  };
275 
277  {
279  float inverseMass;
285  };
286 
287  struct PxLinkData
288  {
292  };
293 
295  {
297 
298  void initData()
299  {
300  inboundJoint.type = PxArticulationJointType::eUNDEFINED; // For root
301  inboundJoint.parentPose = PxTransform(PxIdentity);
302  inboundJoint.childPose = PxTransform(PxIdentity);
303  inboundJoint.frictionCoefficient = 0.05f;
304  inboundJoint.maxJointVelocity = 100.0f;
305 
306  pose = PxTransform(PxIdentity);
307  parent = 0;
308  inverseInertia = PxVec3(1.0f);
309  inverseMass = 1.0f;
310  linearDamping = 0.05f;
311  angularDamping = 0.05f;
312  maxLinearVelocitySq = 100.0f * 100.0f;
313  maxAngularVelocitySq = 50.0f * 50.0f;
314  disableGravity = false;
315 
316  for(PxU32 i=0;i<PxArticulationAxis::eCOUNT;i++)
317  {
318  inboundJoint.motion[i] = PxArticulationMotion::eLOCKED;
319  inboundJoint.limits[i].low = inboundJoint.limits[i].high = 0.0f;
320  inboundJoint.drives[i].stiffness = 0.0f;
321  inboundJoint.drives[i].damping = 0.0f;
322  inboundJoint.drives[i].maxForce = 0.0f;
323  inboundJoint.drives[i].driveType = PxArticulationDriveType::eFORCE;
324  }
325  memset(inboundJoint.targetPos, 0xff, sizeof(PxReal)*PxArticulationAxis::eCOUNT);
326  memset(inboundJoint.targetVel, 0xff, sizeof(PxReal)*PxArticulationAxis::eCOUNT);
327  }
328 
330 
331  // Non-mutable link data
334  };
335 
343  // PT: Design note: I use Dy::ArticulationV* to be consistent with PxSolverDefs.h
345 
352  PX_C_EXPORT PX_PHYSX_CORE_API void PxReleaseArticulation(Dy::ArticulationV* articulation);
353 
362 
363 
373 
382  PX_C_EXPORT PX_PHYSX_CORE_API void PxApplyArticulationCache(Dy::ArticulationV* articulation, PxArticulationCache& cache, PxArticulationCacheFlags flag);
383 
392 
401  PX_C_EXPORT PX_PHYSX_CORE_API Dy::ArticulationLinkHandle PxAddArticulationLink(Dy::ArticulationV* articulation, const PxFeatherstoneArticulationLinkData& data, bool isLastLink=false);
402 
409 
416 
427 
437  PX_C_EXPORT PX_PHYSX_CORE_API PxU32 PxGetAllLinkData(const Dy::ArticulationV* articulation, PxLinkData* data);
438 
448 
458 
468 
478 
485  PX_C_EXPORT PX_PHYSX_CORE_API void PxComputeUnconstrainedVelocities(Dy::ArticulationV* articulation, const PxVec3& gravity, const PxReal dt);
486 
492  PX_C_EXPORT PX_PHYSX_CORE_API void PxUpdateArticulationBodies(Dy::ArticulationV* articulation, const PxReal dt);
493 
503  PX_C_EXPORT PX_PHYSX_CORE_API void PxComputeUnconstrainedVelocitiesTGS(Dy::ArticulationV* articulation, const PxVec3& gravity, const PxReal dt, const PxReal totalDt, const PxReal invDt, const PxReal invTotalDt);
504 
510  PX_C_EXPORT PX_PHYSX_CORE_API void PxUpdateArticulationBodiesTGS(Dy::ArticulationV* articulation, const PxReal dt);
511 
512 
523  PX_C_EXPORT PX_PHYSX_CORE_API void PxConstructSolverBodiesTGS(const PxRigidBodyData* inRigidData, PxTGSSolverBodyVel* outSolverBodyVel, PxTGSSolverBodyTxInertia* outSolverBodyTxInertia, PxTGSSolverBodyData* outSolverBodyData, const PxU32 nbBodies, const PxVec3& gravity, const PxReal dt);
524 
532  PX_C_EXPORT PX_PHYSX_CORE_API void PxConstructStaticSolverBodyTGS(const PxTransform& globalPose, PxTGSSolverBodyVel& solverBodyVel, PxTGSSolverBodyTxInertia& solverBodyTxInertia, PxTGSSolverBodyData& solverBodyData);
533 
551  PX_C_EXPORT PX_PHYSX_CORE_API PxU32 PxBatchConstraintsTGS(const PxSolverConstraintDesc* solverConstraintDescs, const PxU32 nbConstraints, PxTGSSolverBodyVel* solverBodies, const PxU32 nbBodies,
552  PxConstraintBatchHeader* outBatchHeaders, PxSolverConstraintDesc* outOrderedConstraintDescs,
553  Dy::ArticulationV** articulations = NULL, const PxU32 nbArticulations = 0);
554 
555 
575  PxConstraintAllocator& allocator, const PxReal invDt, const PxReal invTotalDt, const PxReal bounceThreshold, const PxReal frictionOffsetThreshold, const PxReal correlationDistance);
576 
591  PxTGSSolverConstraintPrepDesc* jointDescs, PxConstraintAllocator& allocator, const PxReal dt, const PxReal totalDt, const PxReal invDt,
592  const PxReal invTotalDt, const PxReal lengthScale);
593 
609  PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraintsWithShadersTGS(PxConstraintBatchHeader* batchHeaders, const PxU32 nbBatchHeaders, PxConstraint** constraints, PxTGSSolverConstraintPrepDesc* jointDescs, PxConstraintAllocator& allocator, const PxReal dt,
610  const PxReal totalDt, const PxReal invDt, const PxReal invTotalDt, const PxReal lengthScale);
611 
629  PxConstraintAllocator& allocator, const PxReal dt, const PxReal totalDt, const PxReal invDt, const PxReal invTotalDt, const PxReal lengthScale);
630 
631 
647  PX_C_EXPORT PX_PHYSX_CORE_API void PxSolveConstraintsTGS(const PxConstraintBatchHeader* batchHeaders, const PxU32 nbBatchHeaders, const PxSolverConstraintDesc* solverConstraintDescs,
648  PxTGSSolverBodyVel* solverBodies, PxTGSSolverBodyTxInertia* txInertias, const PxU32 nbSolverBodies, const PxU32 nbPositionIterations, const PxU32 nbVelocityIterations,
649  const float dt, const float invDt, const PxU32 nbSolverArticulations, Dy::ArticulationV** solverArticulations);
650 
660  PX_C_EXPORT PX_PHYSX_CORE_API void PxIntegrateSolverBodiesTGS(PxTGSSolverBodyVel* solverBody, PxTGSSolverBodyTxInertia* txInertia, PxTransform* poses, const PxU32 nbBodiesToIntegrate, const PxReal dt);
661 
662 
663 #if !PX_DOXYGEN
664 }
665 #endif
666 
667 #if !PX_DOXYGEN
668 }
669 #endif
670 
672 #endif
673 
Definition: GuContactBuffer.h:37
+
const void * constantBlock
Definition: PxImmediateMode.h:174
+
Definition: PxSolverDefs.h:302
+
Definition: PxImmediateMode.h:253
size_t ArticulationLinkHandle
Definition: PxSolverDefs.h:54
-
PxArticulationFlags flags
Definition: PxImmediateMode.h:272
-
Definition: PxSolverDefs.h:398
+
PxArticulationFlags flags
Definition: PxImmediateMode.h:273
+
Definition: PxSolverDefs.h:402
Definition: Px.h:84
PX_C_EXPORT PX_PHYSX_CORE_API void PxUpdateArticulationBodies(Dy::ArticulationV *articulation, const PxReal dt)
Updates bodies for a given articulation.
PX_C_EXPORT PX_PHYSX_CORE_API void PxComputeUnconstrainedVelocitiesTGS(Dy::ArticulationV *articulation, const PxVec3 &gravity, const PxReal dt, const PxReal totalDt, const PxReal invDt, const PxReal invTotalDt)
Computes unconstrained velocities for a given articulation.
-
Callback class to record contact points produced by immediate::PxGenerateContacts.
Definition: PxImmediateMode.h:71
+
Callback class to record contact points produced by immediate::PxGenerateContacts.
Definition: PxImmediateMode.h:72
Definition: PxSolverDefs.h:172
-
PxU32 pad
96 Padding for 16-byte alignment
Definition: PxImmediateMode.h:65
+
PxU32 pad
96 Padding for 16-byte alignment
Definition: PxImmediateMode.h:66
PX_C_EXPORT PX_PHYSX_CORE_API Dy::ArticulationV * PxCreateFeatherstoneArticulation(const PxFeatherstoneArticulationData &data)
Creates an immediate-mode reduced-coordinate articulation.
Definition: PxSolverDefs.h:80
-
virtual ~PxContactRecorder()
Definition: PxImmediateMode.h:83
-
Definition: PxSolverDefs.h:303
-
PxTransform body2World
76 World space transform
Definition: PxImmediateMode.h:60
-
PxConstraintSolverPrep prep
Definition: PxImmediateMode.h:172
-
PxVec3 invInertia
44 Mass-space inverse interia diagonal vector
Definition: PxImmediateMode.h:58
+
virtual ~PxContactRecorder()
Definition: PxImmediateMode.h:84
+
Definition: PxSolverDefs.h:307
+
PxTransform body2World
76 World space transform
Definition: PxImmediateMode.h:61
+
PxConstraintSolverPrep prep
Definition: PxImmediateMode.h:173
+
PxVec3 invInertia
44 Mass-space inverse interia diagonal vector
Definition: PxImmediateMode.h:59
PxU8 nbContacts
Definition: PxContact.h:462
PX_C_EXPORT PX_PHYSX_CORE_API bool PxGetMutableLinkData(const Dy::ArticulationLinkHandle link, PxMutableLinkData &data)
Retrieves mutable link data from a link handle.
-
PxVec3 angularVelocity
Definition: PxImmediateMode.h:290
+
PX_C_EXPORT PX_PHYSX_CORE_API void PxApplyArticulationCache(Dy::ArticulationV *articulation, PxArticulationCache &cache, PxArticulationCacheFlags flag)
Apply the user defined data in the cache to the articulation system.
+
PxVec3 angularVelocity
Definition: PxImmediateMode.h:291
float PxReal
Definition: PxSimpleTypes.h:78
-
Definition: PxSolverDefs.h:338
-
PxVec3 linearVelocity
Definition: PxImmediateMode.h:289
+
Definition: PxSolverDefs.h:342
+
PxVec3 linearVelocity
Definition: PxImmediateMode.h:290
PX_C_EXPORT PX_PHYSX_CORE_API void PxConstructStaticSolverBody(const PxTransform &globalPose, PxSolverBodyData &solverBodyData)
Constructs a PxSolverBodyData structure for a static body at a given pose.
-
Definition: PxSolverDefs.h:332
+
Definition: PxSolverDefs.h:336
#define PX_C_EXPORT
Definition: Pxc.h:54
-
float maxAngularVelocitySq
Definition: PxImmediateMode.h:282
+
float maxAngularVelocitySq
Definition: PxImmediateMode.h:283
PX_C_EXPORT PX_PHYSX_CORE_API Dy::ArticulationLinkHandle PxAddArticulationLink(Dy::ArticulationV *articulation, const PxFeatherstoneArticulationLinkData &data, bool isLastLink=false)
Adds a link to an immediate-mode reduced-coordinate articulation. The articulation becomes the link&#39;s...
-
Definition: PxImmediateMode.h:275
-
PxReal maxAngularVelocitySq
92 Squared maximum angular velocity
Definition: PxImmediateMode.h:64
+
Definition: PxImmediateMode.h:276
+
PxReal maxAngularVelocitySq
92 Squared maximum angular velocity
Definition: PxImmediateMode.h:65
Enum
Definition: PxSolverDefs.h:255
-
PxReal angularDamping
84 Angular damping coefficient
Definition: PxImmediateMode.h:62
+
PxReal angularDamping
84 Angular damping coefficient
Definition: PxImmediateMode.h:63
PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraintsTGS(PxConstraintBatchHeader *batchHeaders, const PxU32 nbHeaders, PxTGSSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, const PxReal dt, const PxReal totalDt, const PxReal invDt, const PxReal invTotalDt, const PxReal lengthScale)
Creates a set of joint constraint blocks. Note that, depending the results of PxBatchConstraints, the batchHeader may refer to up to 4 solverConstraintDescs.
Definition: PxSolverDefs.h:216
PxU32(* PxConstraintSolverPrep)(Px1DConstraint *constraints, PxVec3 &bodyAWorldOffset, PxU32 maxConstraints, PxConstraintInvMassScale &invMassScale, const void *constantBlock, const PxTransform &bodyAToWorld, const PxTransform &bodyBToWorld, bool useExtendedLimits, PxVec3 &cAtW, PxVec3 &cBtW)
Definition: PxConstraintDesc.h:228
PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraintsWithImmediateShaders(PxConstraintBatchHeader *batchHeaders, const PxU32 nbBatchHeaders, PxImmediateConstraint *constraints, PxSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, const PxReal dt, const PxReal invDt)
Creates a set of joint constraint blocks. This function runs joint shaders defined inside PxImmediate...
#define PX_PHYSX_CORE_API
Definition: PxPhysXCommonConfig.h:59
-
PxReal maxLinearVelocitySq
88 Squared maximum linear velocity
Definition: PxImmediateMode.h:63
+
PxReal maxLinearVelocitySq
88 Squared maximum linear velocity
Definition: PxImmediateMode.h:64
PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateContactConstraintsTGS(PxConstraintBatchHeader *batchHeaders, const PxU32 nbHeaders, PxTGSSolverContactDesc *contactDescs, PxConstraintAllocator &allocator, const PxReal invDt, const PxReal invTotalDt, const PxReal bounceThreshold, const PxReal frictionOffsetThreshold, const PxReal correlationDistance)
Creates a set of contact constraint blocks. Note that, depending the results of PxBatchConstraints, each batchHeader may refer to up to 4 solverConstraintDescs. This function will allocate both constraint and friction patch data via the PxConstraintAllocator provided. Constraint data is only valid until PxSolveConstraints has completed. Friction data is to be retained and provided by the application for friction correlation.
-
bool disableGravity
Definition: PxImmediateMode.h:283
+
bool disableGravity
Definition: PxImmediateMode.h:284
+
PX_C_EXPORT PX_PHYSX_CORE_API void PxReleaseArticulationCache(PxArticulationCache &cache)
Release an articulation cache.
PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateContactConstraints(PxConstraintBatchHeader *batchHeaders, const PxU32 nbHeaders, PxSolverContactDesc *contactDescs, PxConstraintAllocator &allocator, const PxReal invDt, const PxReal bounceThreshold, const PxReal frictionOffsetThreshold, const PxReal correlationDistance)
Creates a set of contact constraint blocks. Note that, depending the results of PxBatchConstraints, each batchHeader may refer to up to 4 solverConstraintDescs. This function will allocate both constraint and friction patch data via the PxConstraintAllocator provided. Constraint data is only valid until PxSolveConstraints has completed. Friction data is to be retained and provided by the application for friction correlation.
A geometry object.
Definition: PxGeometry.h:75
PX_C_EXPORT PX_PHYSX_CORE_API void PxReleaseArticulation(Dy::ArticulationV *articulation)
Releases an immediate-mode reduced-coordinate articulation.
-
PxTransform childPose
Definition: PxImmediateMode.h:255
+
PxTransform childPose
Definition: PxImmediateMode.h:256
PX_C_EXPORT PX_PHYSX_CORE_API void PxSolveConstraints(const PxConstraintBatchHeader *batchHeaders, const PxU32 nbBatchHeaders, const PxSolverConstraintDesc *solverConstraintDescs, const PxSolverBody *solverBodies, PxVec3 *linearMotionVelocity, PxVec3 *angularMotionVelocity, const PxU32 nbSolverBodies, const PxU32 nbPositionIterations, const PxU32 nbVelocityIterations, const float dt=0.0f, const float invDt=0.0f, const PxU32 nbSolverArticulations=0, Dy::ArticulationV **solverArticulations=NULL)
Iteratively solves the set of constraints defined by the provided PxConstraintBatchHeader and PxSolve...
+
Definition: PxArticulationReducedCoordinate.h:77
PX_C_EXPORT PX_PHYSX_CORE_API void PxConstructSolverBodies(const PxRigidBodyData *inRigidData, PxSolverBodyData *outSolverBodyData, const PxU32 nbBodies, const PxVec3 &gravity, const PxReal dt)
Constructs a PxSolverBodyData structure based on rigid body properties. Applies gravity, damping and clamps maximum velocity.
-
Definition: PxCollisionDefs.h:65
-
Dy::ArticulationLinkHandle parent
Definition: PxImmediateMode.h:332
-
float linearDamping
Definition: PxImmediateMode.h:279
-
float angularDamping
Definition: PxImmediateMode.h:280
+
Definition: PxCollisionDefs.h:67
+
Dy::ArticulationLinkHandle parent
Definition: PxImmediateMode.h:333
+
float linearDamping
Definition: PxImmediateMode.h:280
+
float angularDamping
Definition: PxImmediateMode.h:281
PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraintsWithShaders(PxConstraintBatchHeader *batchHeaders, const PxU32 nbBatchHeaders, PxConstraint **constraints, PxSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, const PxReal dt, const PxReal invDt)
Creates a set of joint constraint blocks. This function runs joint shaders defined inside PxConstrain...
-
Definition: PxSolverDefs.h:310
-
Definition: PxImmediateMode.h:258
+
Definition: PxSolverDefs.h:314
+
PX_C_EXPORT PX_PHYSX_CORE_API PxArticulationCache * PxCreateArticulationCache(Dy::ArticulationV *articulation)
Creates an articulation cache.
+
Definition: PxImmediateMode.h:259
+
PX_C_EXPORT PX_PHYSX_CORE_API void PxCopyInternalStateToArticulationCache(Dy::ArticulationV *articulation, PxArticulationCache &cache, PxArticulationCacheFlags flag)
Copy the internal data of the articulation to the cache.
PX_C_EXPORT PX_PHYSX_CORE_API void PxUpdateArticulationBodiesTGS(Dy::ArticulationV *articulation, const PxReal dt)
Updates bodies for a given articulation.
-
PxArticulationJointType::Enum type
Definition: PxImmediateMode.h:260
+
PxArticulationJointType::Enum type
Definition: PxImmediateMode.h:261
PX_C_EXPORT PX_PHYSX_CORE_API bool PxGetLinkData(const Dy::ArticulationLinkHandle link, PxLinkData &data)
Retrieves non-mutable link data from a link handle. The data here is computed by the articulation cod...
-
PxTransform pose
Definition: PxImmediateMode.h:288
-
void initData()
Definition: PxImmediateMode.h:297
+ +
PxTransform pose
Definition: PxImmediateMode.h:289
+
void initData()
Definition: PxImmediateMode.h:298
PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraints(PxConstraintBatchHeader *batchHeaders, const PxU32 nbHeaders, PxSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, const PxReal dt, const PxReal invDt)
Creates a set of joint constraint blocks. Note that, depending the results of PxBatchConstraints, the batchHeader may refer to up to 4 solverConstraintDescs.
-
PxReal maxJointVelocity
Definition: PxImmediateMode.h:267
-
PxReal invMass
16 Inverse mass
Definition: PxImmediateMode.h:55
+
PxReal maxJointVelocity
Definition: PxImmediateMode.h:268
+
PxReal invMass
16 Inverse mass
Definition: PxImmediateMode.h:56
PX_C_EXPORT PX_PHYSX_CORE_API bool PxSetMutableLinkData(Dy::ArticulationLinkHandle link, const PxMutableLinkData &data)
Sets mutable link data for given link.
class representing a rigid euclidean transform as a quaternion and a vector
Definition: PxTransform.h:48
A plugin class for implementing constraints.
Definition: PxConstraint.h:108
Definition: PxSolverDefs.h:188
-
PxVec3 angularVelocity
28 Angular velocity
Definition: PxImmediateMode.h:56
-
PxReal linearDamping
80 Linear damping coefficient
Definition: PxImmediateMode.h:61
+
PxVec3 angularVelocity
28 Angular velocity
Definition: PxImmediateMode.h:57
+
PxReal linearDamping
80 Linear damping coefficient
Definition: PxImmediateMode.h:62
PX_C_EXPORT PX_PHYSX_CORE_API void PxConstructStaticSolverBodyTGS(const PxTransform &globalPose, PxTGSSolverBodyVel &solverBodyVel, PxTGSSolverBodyTxInertia &solverBodyTxInertia, PxTGSSolverBodyData &solverBodyData)
Constructs a PxSolverBodyData structure for a static body at a given pose.
PX_C_EXPORT PX_PHYSX_CORE_API PxU32 PxGetLinkIndex(const Dy::ArticulationLinkHandle link)
Retrieves link index from a link handle.
-
Definition: PxImmediateMode.h:170
+
Definition: PxImmediateMode.h:171
PX_C_EXPORT PX_PHYSX_CORE_API PxU32 PxBatchConstraints(const PxSolverConstraintDesc *solverConstraintDescs, const PxU32 nbConstraints, PxSolverBody *solverBodies, const PxU32 nbBodies, PxConstraintBatchHeader *outBatchHeaders, PxSolverConstraintDesc *outOrderedConstraintDescs, Dy::ArticulationV **articulations=NULL, const PxU32 nbArticulations=0)
Groups together sets of independent PxSolverConstraintDesc objects to be solved using SIMD SOA approa...
-
PxReal frictionCoefficient
Definition: PxImmediateMode.h:266
+
PxReal frictionCoefficient
Definition: PxImmediateMode.h:267
Definition: PxSolverDefs.h:63
-
PxTransform pose
Definition: PxImmediateMode.h:331
+
PxTransform pose
Definition: PxImmediateMode.h:332
PX_C_EXPORT PX_PHYSX_CORE_API bool PxGetJointData(const Dy::ArticulationLinkHandle link, PxFeatherstoneArticulationJointData &data)
Retrieves joint data from a link handle.
-
Definition: PxImmediateMode.h:293
+
Definition: PxImmediateMode.h:294
A structure to cache contact information produced by LL contact gen functions.
Definition: PxCollisionDefs.h:49
-
float maxLinearVelocitySq
Definition: PxImmediateMode.h:281
+
float maxLinearVelocitySq
Definition: PxImmediateMode.h:282
PX_C_EXPORT PX_PHYSX_CORE_API void PxIntegrateSolverBodies(PxSolverBodyData *solverBodyData, PxSolverBody *solverBody, const PxVec3 *linearMotionVelocity, const PxVec3 *angularMotionState, const PxU32 nbBodiesToIntegrate, const PxReal dt)
Integrates a rigid body, returning the new velocities and transforms. After this function has been ca...
-
Structure to store rigid body properties.
Definition: PxImmediateMode.h:52
-
float inverseMass
Definition: PxImmediateMode.h:278
+
Structure to store rigid body properties.
Definition: PxImmediateMode.h:53
+
float inverseMass
Definition: PxImmediateMode.h:279
PX_C_EXPORT PX_PHYSX_CORE_API PxU32 PxGetAllLinkData(const Dy::ArticulationV *articulation, PxLinkData *data)
Retrieves non-mutable link data from an articulation handle (all links). The data here is computed by...
Definition: PxSolverDefs.h:257
PX_C_EXPORT PX_PHYSX_CORE_API Dy::ArticulationV * PxGetLinkArticulation(const Dy::ArticulationLinkHandle link)
Retrieves owner/parent articulation handle from a link handle.
@@ -180,31 +186,31 @@
Enum
Definition: PxSolverDefs.h:268
PX_C_EXPORT PX_PHYSX_CORE_API PxU32 PxBatchConstraintsTGS(const PxSolverConstraintDesc *solverConstraintDescs, const PxU32 nbConstraints, PxTGSSolverBodyVel *solverBodies, const PxU32 nbBodies, PxConstraintBatchHeader *outBatchHeaders, PxSolverConstraintDesc *outOrderedConstraintDescs, Dy::ArticulationV **articulations=NULL, const PxU32 nbArticulations=0)
Groups together sets of independent PxSolverConstraintDesc objects to be solved using SIMD SOA approa...
PX_C_EXPORT PX_PHYSX_CORE_API bool PxGenerateContacts(const PxGeometry *const *geom0, const PxGeometry *const *geom1, const PxTransform *pose0, const PxTransform *pose1, PxCache *contactCache, const PxU32 nbPairs, PxContactRecorder &contactRecorder, const PxReal contactDistance, const PxReal meshContactMargin, const PxReal toleranceLength, PxCacheAllocator &allocator)
Performs contact generation for a given pair of geometries at the specified poses. Produced contacts are stored in the provided Gu::ContactBuffer. Information is cached in PxCache structure to accelerate future contact generation between pairs. This cache data is valid only as long as the memory provided by PxCacheAllocator has not been released/re-used. Recommendation is to retain that data for a single simulation frame, discarding cached data after 2 frames. If the cached memory has been released/re-used prior to the corresponding pair having contact generation performed again, it is the application&#39;s responsibility to reset the PxCache.
-
Definition: PxImmediateMode.h:286
+
Definition: PxImmediateMode.h:287
PX_C_EXPORT PX_PHYSX_CORE_API bool PxSetJointData(Dy::ArticulationLinkHandle link, const PxFeatherstoneArticulationJointData &data)
Sets joint data for given link.
Definition: PxSolverDefs.h:111
PX_C_EXPORT PX_PHYSX_CORE_API void PxIntegrateSolverBodiesTGS(PxTGSSolverBodyVel *solverBody, PxTGSSolverBodyTxInertia *txInertia, PxTransform *poses, const PxU32 nbBodiesToIntegrate, const PxReal dt)
Integrates a rigid body, returning the new velocities and transforms. After this function has been ca...
-
PxFeatherstoneArticulationLinkData()
Definition: PxImmediateMode.h:295
+
PxFeatherstoneArticulationLinkData()
Definition: PxImmediateMode.h:296
PX_C_EXPORT PX_PHYSX_CORE_API void PxComputeUnconstrainedVelocities(Dy::ArticulationV *articulation, const PxVec3 &gravity, const PxReal dt)
Computes unconstrained velocities for a given articulation.
-
PxReal maxDepenetrationVelocity
32 Maximum de-penetration velocity
Definition: PxImmediateMode.h:57
+
PxReal maxDepenetrationVelocity
32 Maximum de-penetration velocity
Definition: PxImmediateMode.h:58
uint32_t PxU32
Definition: Px.h:48
PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraintsWithImmediateShadersTGS(PxConstraintBatchHeader *batchHeaders, const PxU32 nbBatchHeaders, PxImmediateConstraint *constraints, PxTGSSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, const PxReal dt, const PxReal totalDt, const PxReal invDt, const PxReal invTotalDt, const PxReal lengthScale)
Creates a set of joint constraint blocks. This function runs joint shaders defined inside PxImmediate...
-
Definition: PxSolverDefs.h:379
+
Definition: PxSolverDefs.h:383
PX_C_EXPORT PX_PHYSX_CORE_API void PxRegisterImmediateArticulations()
Register articulation-related solver functions. This is equivalent to PxRegisterArticulationsReducedC...
-
PxTransform parentPose
Definition: PxImmediateMode.h:254
+
PxTransform parentPose
Definition: PxImmediateMode.h:255
Definition: PxSolverDefs.h:274
-
Definition: PxSolverDefs.h:293
+
Definition: PxSolverDefs.h:294
PX_C_EXPORT PX_PHYSX_CORE_API void PxSolveConstraintsTGS(const PxConstraintBatchHeader *batchHeaders, const PxU32 nbBatchHeaders, const PxSolverConstraintDesc *solverConstraintDescs, PxTGSSolverBodyVel *solverBodies, PxTGSSolverBodyTxInertia *txInertias, const PxU32 nbSolverBodies, const PxU32 nbPositionIterations, const PxU32 nbVelocityIterations, const float dt, const float invDt, const PxU32 nbSolverArticulations, Dy::ArticulationV **solverArticulations)
Iteratively solves the set of constraints defined by the provided PxConstraintBatchHeader and PxSolve...
-
PxFeatherstoneArticulationJointData inboundJoint
Definition: PxImmediateMode.h:328
+
PxFeatherstoneArticulationJointData inboundJoint
Definition: PxImmediateMode.h:329
PX_C_EXPORT PX_PHYSX_CORE_API void PxConstructSolverBodiesTGS(const PxRigidBodyData *inRigidData, PxTGSSolverBodyVel *outSolverBodyVel, PxTGSSolverBodyTxInertia *outSolverBodyTxInertia, PxTGSSolverBodyData *outSolverBodyData, const PxU32 nbBodies, const PxVec3 &gravity, const PxReal dt)
Constructs a PxSolverBodyData structure based on rigid body properties. Applies gravity, damping and clamps maximum velocity.
-
PxVec3 inverseInertia
Definition: PxImmediateMode.h:277
+
PxVec3 inverseInertia
Definition: PxImmediateMode.h:278
PX_C_EXPORT PX_PHYSX_CORE_API bool PxCreateJointConstraintsWithShadersTGS(PxConstraintBatchHeader *batchHeaders, const PxU32 nbBatchHeaders, PxConstraint **constraints, PxTGSSolverConstraintPrepDesc *jointDescs, PxConstraintAllocator &allocator, const PxReal dt, const PxReal totalDt, const PxReal invDt, const PxReal invTotalDt, const PxReal lengthScale)
Creates a set of joint constraint blocks. This function runs joint shaders defined inside PxConstrain...
3 Element vector class.
Definition: PxVec3.h:49
-
Definition: PxImmediateMode.h:270
+
Definition: PxImmediateMode.h:271
Definition: PxSolverDefs.h:104
-
PxReal maxContactImpulse
48 Maximum permissable contact impulse
Definition: PxImmediateMode.h:59
+
PxReal maxContactImpulse
48 Maximum permissable contact impulse
Definition: PxImmediateMode.h:60
diff --git a/physx/documentation/PhysXAPI/files/PxIntrinsics_8h.html b/physx/documentation/PhysXAPI/files/PxIntrinsics_8h.html index 6c366b6ad..63697e6d2 100644 --- a/physx/documentation/PhysXAPI/files/PxIntrinsics_8h.html +++ b/physx/documentation/PhysXAPI/files/PxIntrinsics_8h.html @@ -151,7 +151,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxIntrinsics_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxIntrinsics_8h__dep__incl.md5 index abb508711..60f8ec41a 100644 --- a/physx/documentation/PhysXAPI/files/PxIntrinsics_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxIntrinsics_8h__dep__incl.md5 @@ -1 +1 @@ -09a77c853268adc04f858549279f670e \ No newline at end of file +026f35e24b32a411d4358f39727323eb \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxIntrinsics_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/PxIntrinsics_8h__dep__incl.png index e110c4773..b3fb731ce 100644 Binary files a/physx/documentation/PhysXAPI/files/PxIntrinsics_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/PxIntrinsics_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxIntrinsics_8h_source.html b/physx/documentation/PhysXAPI/files/PxIntrinsics_8h_source.html index cbe57fb57..3d479ad80 100644 --- a/physx/documentation/PhysXAPI/files/PxIntrinsics_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxIntrinsics_8h_source.html @@ -95,7 +95,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxMat33_8h.html b/physx/documentation/PhysXAPI/files/PxMat33_8h.html index 120c2126d..bf27c1b09 100644 --- a/physx/documentation/PhysXAPI/files/PxMat33_8h.html +++ b/physx/documentation/PhysXAPI/files/PxMat33_8h.html @@ -95,55 +95,55 @@
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -161,7 +161,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxMat33_8h__dep__incl.map b/physx/documentation/PhysXAPI/files/PxMat33_8h__dep__incl.map index f89ae8f77..12febbf5f 100644 --- a/physx/documentation/PhysXAPI/files/PxMat33_8h__dep__incl.map +++ b/physx/documentation/PhysXAPI/files/PxMat33_8h__dep__incl.map @@ -1,51 +1,51 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/physx/documentation/PhysXAPI/files/PxMat33_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxMat33_8h__dep__incl.md5 index 4f94653c9..fbc54dfe6 100644 --- a/physx/documentation/PhysXAPI/files/PxMat33_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxMat33_8h__dep__incl.md5 @@ -1 +1 @@ -86fd8bc1544100e8e527cb486efdf630 \ No newline at end of file +bbe580e272ea1aed8df28feb807c5b6f \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxMat33_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/PxMat33_8h__dep__incl.png index 93a568307..153c805eb 100644 Binary files a/physx/documentation/PhysXAPI/files/PxMat33_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/PxMat33_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxMat33_8h_source.html b/physx/documentation/PhysXAPI/files/PxMat33_8h_source.html index 9a1aa1cd7..1a6dca1c5 100644 --- a/physx/documentation/PhysXAPI/files/PxMat33_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxMat33_8h_source.html @@ -149,7 +149,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxMat44_8h.html b/physx/documentation/PhysXAPI/files/PxMat44_8h.html index d8f35aee4..70223c9de 100644 --- a/physx/documentation/PhysXAPI/files/PxMat44_8h.html +++ b/physx/documentation/PhysXAPI/files/PxMat44_8h.html @@ -115,7 +115,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxMat44_8h_source.html b/physx/documentation/PhysXAPI/files/PxMat44_8h_source.html index 0c489cc8d..37c7b7c85 100644 --- a/physx/documentation/PhysXAPI/files/PxMat44_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxMat44_8h_source.html @@ -169,7 +169,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxMath_8h.html b/physx/documentation/PhysXAPI/files/PxMath_8h.html index 00686b98c..9ebc9c044 100644 --- a/physx/documentation/PhysXAPI/files/PxMath_8h.html +++ b/physx/documentation/PhysXAPI/files/PxMath_8h.html @@ -99,55 +99,55 @@
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -282,7 +282,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxMath_8h__dep__incl.map b/physx/documentation/PhysXAPI/files/PxMath_8h__dep__incl.map index 5e337e120..cba044a9d 100644 --- a/physx/documentation/PhysXAPI/files/PxMath_8h__dep__incl.map +++ b/physx/documentation/PhysXAPI/files/PxMath_8h__dep__incl.map @@ -1,51 +1,51 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/physx/documentation/PhysXAPI/files/PxMath_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxMath_8h__dep__incl.md5 index 89661405c..93ce25cf6 100644 --- a/physx/documentation/PhysXAPI/files/PxMath_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxMath_8h__dep__incl.md5 @@ -1 +1 @@ -8bd5cb4f05ec68c8bcab0eabf31089ec \ No newline at end of file +72e171e8f846d60e11fbde2edfa707b2 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxMath_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/PxMath_8h__dep__incl.png index 4dc22274c..57cc9f82f 100644 Binary files a/physx/documentation/PhysXAPI/files/PxMath_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/PxMath_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxMath_8h_source.html b/physx/documentation/PhysXAPI/files/PxMath_8h_source.html index 478ce8462..ce193dc72 100644 --- a/physx/documentation/PhysXAPI/files/PxMath_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxMath_8h_source.html @@ -140,7 +140,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxMemory_8h.html b/physx/documentation/PhysXAPI/files/PxMemory_8h.html index 4c15832d6..3025a3822 100644 --- a/physx/documentation/PhysXAPI/files/PxMemory_8h.html +++ b/physx/documentation/PhysXAPI/files/PxMemory_8h.html @@ -170,7 +170,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxMemory_8h_source.html b/physx/documentation/PhysXAPI/files/PxMemory_8h_source.html index 0fdc4f09b..ab47a4cdf 100644 --- a/physx/documentation/PhysXAPI/files/PxMemory_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxMemory_8h_source.html @@ -107,7 +107,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxPhysXCommonConfig_8h_source.html b/physx/documentation/PhysXAPI/files/PxPhysXCommonConfig_8h_source.html index 9ad60081d..753397b36 100644 --- a/physx/documentation/PhysXAPI/files/PxPhysXCommonConfig_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxPhysXCommonConfig_8h_source.html @@ -86,7 +86,7 @@
PxPhysXCommonConfig.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 
31 #ifndef PX_PHYSICS_COMMON_NX
32 #define PX_PHYSICS_COMMON_NX
33 
37 #include "foundation/Px.h"
38 
39 /*Disable support for VS2017 prior version 15.5.1 for windows platform, because of a compiler bug:
40 https://developercommunity.visualstudio.com/content/problem/66047/possible-compiler-bug.html
41 */
42 #if (PX_VC == 15) && PX_WINDOWS && (_MSC_FULL_VER < 191225830)
43 #error Visual studio 2017 prior to 15.5.1 is not supported because of a compiler bug.
44 #endif
45 
46 // define API function declaration (public API only needed because of extensions)
47 #if defined PX_PHYSX_STATIC_LIB
48  #define PX_PHYSX_CORE_API
49 #else
50  #if PX_WINDOWS_FAMILY
51  #if defined PX_PHYSX_CORE_EXPORTS
52  #define PX_PHYSX_CORE_API __declspec(dllexport)
53  #else
54  #define PX_PHYSX_CORE_API __declspec(dllimport)
55  #endif
56  #elif PX_UNIX_FAMILY
57  #define PX_PHYSX_CORE_API PX_UNIX_EXPORT
58  #else
59  #define PX_PHYSX_CORE_API
60  #endif
61 #endif
62 
63 #if PX_SUPPORT_GPU_PHYSX
64 // define API function declaration
65 #if defined PX_PHYSX_GPU_STATIC
66  #define PX_PHYSX_GPU_API
67 #else
68  #if PX_WINDOWS
69  #if defined PX_PHYSX_GPU_EXPORTS
70  #define PX_PHYSX_GPU_API __declspec(dllexport)
71  #else
72  #define PX_PHYSX_GPU_API __declspec(dllimport)
73  #endif
74  #elif PX_UNIX_FAMILY
75  #define PX_PHYSX_GPU_API PX_UNIX_EXPORT
76  #else
77  #define PX_PHYSX_GPU_API
78  #endif
79 #endif
80 
81 #else // PX_SUPPORT_GPU_PHYSX
82 #define PX_PHYSX_GPU_API
83 #endif // PX_SUPPORT_GPU_PHYSX
84 
85 #if defined PX_PHYSX_STATIC_LIB
86  #define PX_PHYSX_COMMON_API
87 #else
88  #if PX_WINDOWS_FAMILY && !defined(__CUDACC__)
89  #if defined PX_PHYSX_COMMON_EXPORTS
90  #define PX_PHYSX_COMMON_API __declspec(dllexport)
91  #else
92  #define PX_PHYSX_COMMON_API __declspec(dllimport)
93  #endif
94  #elif PX_UNIX_FAMILY
95  #define PX_PHYSX_COMMON_API PX_UNIX_EXPORT
96  #else
97  #define PX_PHYSX_COMMON_API
98  #endif
99 #endif
100 
101 // Changing these parameters requires recompilation of the SDK
102 
103 #if !PX_DOXYGEN
104 namespace physx
105 {
106 #endif
107  class PxCollection;
108  class PxBase;
109 
110  class PxHeightField;
111  class PxHeightFieldDesc;
112 
113  class PxTriangleMesh;
115 
116  typedef PxU32 PxTriangleID;
118 
119 #if !PX_DOXYGEN
120 } // namespace physx
121 #endif
122 
124 #endif
Definition: GuContactBuffer.h:37
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 
31 #ifndef PX_PHYSICS_COMMON_NX
32 #define PX_PHYSICS_COMMON_NX
33 
37 #include "foundation/Px.h"
38 
39 /*Disable support for VS2017 prior version 15.5.1 for windows platform, because of a compiler bug:
40 https://developercommunity.visualstudio.com/content/problem/66047/possible-compiler-bug.html
41 */
42 #if (PX_VC == 15) && PX_WINDOWS && (_MSC_FULL_VER < 191225830)
43 #error Visual studio 2017 prior to 15.5.1 is not supported because of a compiler bug.
44 #endif
45 
46 // define API function declaration (public API only needed because of extensions)
47 #if defined PX_PHYSX_STATIC_LIB
48  #define PX_PHYSX_CORE_API
49 #else
50  #if (PX_WINDOWS_FAMILY || PX_XBOXONE || PX_PS4)
51  #if defined PX_PHYSX_CORE_EXPORTS
52  #define PX_PHYSX_CORE_API __declspec(dllexport)
53  #else
54  #define PX_PHYSX_CORE_API __declspec(dllimport)
55  #endif
56  #elif PX_UNIX_FAMILY
57  #define PX_PHYSX_CORE_API PX_UNIX_EXPORT
58  #else
59  #define PX_PHYSX_CORE_API
60  #endif
61 #endif
62 
63 #if PX_SUPPORT_GPU_PHYSX
64 // define API function declaration
65 #if defined PX_PHYSX_GPU_STATIC
66  #define PX_PHYSX_GPU_API
67 #else
68  #if PX_WINDOWS
69  #if defined PX_PHYSX_GPU_EXPORTS
70  #define PX_PHYSX_GPU_API __declspec(dllexport)
71  #else
72  #define PX_PHYSX_GPU_API __declspec(dllimport)
73  #endif
74  #elif PX_UNIX_FAMILY
75  #define PX_PHYSX_GPU_API PX_UNIX_EXPORT
76  #else
77  #define PX_PHYSX_GPU_API
78  #endif
79 #endif
80 
81 #else // PX_SUPPORT_GPU_PHYSX
82 #define PX_PHYSX_GPU_API
83 #endif // PX_SUPPORT_GPU_PHYSX
84 
85 #if defined PX_PHYSX_STATIC_LIB
86  #define PX_PHYSX_COMMON_API
87 #else
88  #if (PX_WINDOWS_FAMILY || PX_XBOXONE || PX_PS4) && !defined(__CUDACC__)
89  #if defined PX_PHYSX_COMMON_EXPORTS
90  #define PX_PHYSX_COMMON_API __declspec(dllexport)
91  #else
92  #define PX_PHYSX_COMMON_API __declspec(dllimport)
93  #endif
94  #elif PX_UNIX_FAMILY
95  #define PX_PHYSX_COMMON_API PX_UNIX_EXPORT
96  #else
97  #define PX_PHYSX_COMMON_API
98  #endif
99 #endif
100 
101 // Changing these parameters requires recompilation of the SDK
102 
103 #if !PX_DOXYGEN
104 namespace physx
105 {
106 #endif
107  class PxCollection;
108  class PxBase;
109 
110  class PxHeightField;
111  class PxHeightFieldDesc;
112 
113  class PxTriangleMesh;
115 
116  typedef PxU32 PxTriangleID;
118 
119 #if !PX_DOXYGEN
120 } // namespace physx
121 #endif
122 
124 #endif
Definition: GuContactBuffer.h:37
Descriptor class for PxHeightField.
Definition: PxHeightFieldDesc.h:54
A triangle mesh, also called a &#39;polygon soup&#39;.
Definition: PxTriangleMesh.h:126
diff --git a/physx/documentation/PhysXAPI/files/PxPhysXConfig_8h_source.html b/physx/documentation/PhysXAPI/files/PxPhysXConfig_8h_source.html index 3e8a4f2ad..8dd760659 100644 --- a/physx/documentation/PhysXAPI/files/PxPhysXConfig_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxPhysXConfig_8h_source.html @@ -96,7 +96,7 @@
Abstract class for collision shapes.
Definition: PxShape.h:142
PxRigidActor represents a base class shared between dynamic and static rigid bodies in the physics SD...
Definition: PxRigidActor.h:58
-
a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver ...
Definition: PxArticulationReducedCoordinate.h:133
+
a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver ...
Definition: PxArticulationReducedCoordinate.h:147
Definition: PxArticulationJoint.h:69
A plugin class for implementing constraints.
Definition: PxConstraint.h:108
Class to define the scale at which simulation runs. Most simulation tolerances are calculated in term...
Definition: PxTolerancesScale.h:56
diff --git a/physx/documentation/PhysXAPI/files/PxPhysicsVersion_8h.html b/physx/documentation/PhysXAPI/files/PxPhysicsVersion_8h.html index acc03f38a..e689d8ddf 100644 --- a/physx/documentation/PhysXAPI/files/PxPhysicsVersion_8h.html +++ b/physx/documentation/PhysXAPI/files/PxPhysicsVersion_8h.html @@ -105,7 +105,7 @@
- + diff --git a/physx/documentation/PhysXAPI/files/PxPhysicsVersion_8h_source.html b/physx/documentation/PhysXAPI/files/PxPhysicsVersion_8h_source.html index a2c2d9a73..dea7f1165 100644 --- a/physx/documentation/PhysXAPI/files/PxPhysicsVersion_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxPhysicsVersion_8h_source.html @@ -86,7 +86,7 @@
PxPhysicsVersion.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_PHYSICS_VERSION_NUMBER_H
31 #define PX_PHYSICS_VERSION_NUMBER_H
32 
33 /*
34 VersionNumbers: The combination of these
35 numbers uniquely identifies the API, and should
36 be incremented when the SDK API changes. This may
37 include changes to file formats.
38 
39 This header is included in the main SDK header files
40 so that the entire SDK and everything that builds on it
41 is completely rebuilt when this file changes. Thus,
42 this file is not to include a frequently changing
43 build number. See BuildNumber.h for that.
44 
45 Each of these three values should stay below 255 because
46 sometimes they are stored in a byte.
47 */
52 #define PX_PHYSICS_VERSION_MAJOR 4
53 #define PX_PHYSICS_VERSION_MINOR 1
54 #define PX_PHYSICS_VERSION_BUGFIX 0
55 
60 #define PX_PHYSICS_VERSION ((PX_PHYSICS_VERSION_MAJOR<<24) + (PX_PHYSICS_VERSION_MINOR<<16) + (PX_PHYSICS_VERSION_BUGFIX<<8) + 0)
61 
62 
63 #endif // PX_PHYSICS_VERSION_NUMBER_H
64 
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_PHYSICS_VERSION_NUMBER_H
31 #define PX_PHYSICS_VERSION_NUMBER_H
32 
33 /*
34 VersionNumbers: The combination of these
35 numbers uniquely identifies the API, and should
36 be incremented when the SDK API changes. This may
37 include changes to file formats.
38 
39 This header is included in the main SDK header files
40 so that the entire SDK and everything that builds on it
41 is completely rebuilt when this file changes. Thus,
42 this file is not to include a frequently changing
43 build number. See BuildNumber.h for that.
44 
45 Each of these three values should stay below 255 because
46 sometimes they are stored in a byte.
47 */
52 #define PX_PHYSICS_VERSION_MAJOR 4
53 #define PX_PHYSICS_VERSION_MINOR 1
54 #define PX_PHYSICS_VERSION_BUGFIX 1
55 
60 #define PX_PHYSICS_VERSION ((PX_PHYSICS_VERSION_MAJOR<<24) + (PX_PHYSICS_VERSION_MINOR<<16) + (PX_PHYSICS_VERSION_BUGFIX<<8) + 0)
61 
62 
63 #endif // PX_PHYSICS_VERSION_NUMBER_H
64 
diff --git a/physx/documentation/PhysXAPI/files/PxPhysics_8h_source.html b/physx/documentation/PhysXAPI/files/PxPhysics_8h_source.html index 23df0e5a5..2da141ce1 100644 --- a/physx/documentation/PhysXAPI/files/PxPhysics_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxPhysics_8h_source.html @@ -113,7 +113,7 @@
PX_C_EXPORT PX_PHYSX_CORE_API void PX_CALL_CONV PxRegisterArticulations(physx::PxPhysics &physics)
Enables the usage of the articulations feature. This function is called automatically inside PxCreate...
A height field class.
Definition: PxHeightField.h:85
PxU8 geometry[sizeof(PxGeometry)]
Definition: PxGeometryHelpers.h:215
-
a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver ...
Definition: PxArticulationReducedCoordinate.h:133
+
a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver ...
Definition: PxArticulationReducedCoordinate.h:147
PxReal staticFriction
static friction coefficient
Definition: PxContact.h:460
PxPvd is the top-level class for the PVD framework, and the main customer interface for PVD configura...
Definition: PxPvd.h:114
class representing a rigid euclidean transform as a quaternion and a vector
Definition: PxTransform.h:48
diff --git a/physx/documentation/PhysXAPI/files/PxPlane_8h.html b/physx/documentation/PhysXAPI/files/PxPlane_8h.html index b467d0f55..8bd753bd1 100644 --- a/physx/documentation/PhysXAPI/files/PxPlane_8h.html +++ b/physx/documentation/PhysXAPI/files/PxPlane_8h.html @@ -95,55 +95,55 @@
- - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -161,7 +161,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxPlane_8h__dep__incl.map b/physx/documentation/PhysXAPI/files/PxPlane_8h__dep__incl.map index b0287c4fc..888239957 100644 --- a/physx/documentation/PhysXAPI/files/PxPlane_8h__dep__incl.map +++ b/physx/documentation/PhysXAPI/files/PxPlane_8h__dep__incl.map @@ -1,51 +1,51 @@ - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/physx/documentation/PhysXAPI/files/PxPlane_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxPlane_8h__dep__incl.md5 index c74ba1080..4c0b6d08d 100644 --- a/physx/documentation/PhysXAPI/files/PxPlane_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxPlane_8h__dep__incl.md5 @@ -1 +1 @@ -f2f096b9fa5628ed7874de80a9322171 \ No newline at end of file +e1e223db86c9cec5fce6b2301eeb93e7 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxPlane_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/PxPlane_8h__dep__incl.png index 761cdd4ce..0c0ca2626 100644 Binary files a/physx/documentation/PhysXAPI/files/PxPlane_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/PxPlane_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxPlane_8h_source.html b/physx/documentation/PhysXAPI/files/PxPlane_8h_source.html index d6d40ec0f..e9b640dae 100644 --- a/physx/documentation/PhysXAPI/files/PxPlane_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxPlane_8h_source.html @@ -115,7 +115,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxPreprocessor_8h.html b/physx/documentation/PhysXAPI/files/PxPreprocessor_8h.html index 612beddc1..6cf32b406 100644 --- a/physx/documentation/PhysXAPI/files/PxPreprocessor_8h.html +++ b/physx/documentation/PhysXAPI/files/PxPreprocessor_8h.html @@ -313,7 +313,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxPreprocessor_8h_source.html b/physx/documentation/PhysXAPI/files/PxPreprocessor_8h_source.html index fdc0cb992..b9b86f1fe 100644 --- a/physx/documentation/PhysXAPI/files/PxPreprocessor_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxPreprocessor_8h_source.html @@ -86,7 +86,7 @@
PxPreprocessor.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PXFOUNDATION_PXPREPROCESSOR_H
31 #define PXFOUNDATION_PXPREPROCESSOR_H
32 
33 #include <stddef.h>
34 #if !defined(PX_GENERATE_META_DATA)
35 #include <ciso646>
36 #endif
37 
41 #define PX_STRINGIZE_HELPER(X) #X
42 #define PX_STRINGIZE(X) PX_STRINGIZE_HELPER(X)
43 
44 #define PX_CONCAT_HELPER(X, Y) X##Y
45 #define PX_CONCAT(X, Y) PX_CONCAT_HELPER(X, Y)
46 
47 /*
48 The following preprocessor identifiers specify compiler, OS, and architecture.
49 All definitions have a value of 1 or 0, use '#if' instead of '#ifdef'.
50 */
51 
55 #if defined(_MSC_VER)
56 #if _MSC_VER >= 1910
57 #define PX_VC 15
58 #elif _MSC_VER >= 1900
59 #define PX_VC 14
60 #elif _MSC_VER >= 1800
61 #define PX_VC 12
62 #elif _MSC_VER >= 1700
63 #define PX_VC 11
64 #elif _MSC_VER >= 1600
65 #define PX_VC 10
66 #elif _MSC_VER >= 1500
67 #define PX_VC 9
68 #else
69 #error "Unknown VC version"
70 #endif
71 #elif defined(__clang__)
72 #define PX_CLANG 1
73  #if defined (__clang_major__)
74  #define PX_CLANG_MAJOR __clang_major__
75  #elif defined (_clang_major)
76  #define PX_CLANG_MAJOR _clang_major
77  #else
78  #define PX_CLANG_MAJOR 0
79  #endif
80 #elif defined(__GNUC__) // note: __clang__ implies __GNUC__
81 #define PX_GCC 1
82 #else
83 #error "Unknown compiler"
84 #endif
85 
89 #if defined(_XBOX_ONE)
90 #define PX_XBOXONE 1
91 #elif defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_APP
92 #define PX_UWP 1
93 #elif defined(_WIN64) // note: _XBOX_ONE implies _WIN64
94 #define PX_WIN64 1
95 #elif defined(_WIN32) // note: _M_PPC implies _WIN32
96 #define PX_WIN32 1
97 #elif defined(__ANDROID__)
98 #define PX_ANDROID 1
99 #elif defined(__linux__) || defined (__EMSCRIPTEN__) // note: __ANDROID__ implies __linux__
100 #define PX_LINUX 1
101 #elif defined(__APPLE__) && (defined(__arm__) || defined(__arm64__))
102 #define PX_IOS 1
103 #elif defined(__APPLE__)
104 #define PX_OSX 1
105 #elif defined(__ORBIS__)
106 #define PX_PS4 1
107 #elif defined(__NX__)
108 #define PX_SWITCH 1
109 #else
110 #error "Unknown operating system"
111 #endif
112 
116 #if defined(__x86_64__) || defined(_M_X64) // ps4 compiler defines _M_X64 without value
117 #define PX_X64 1
118 #elif defined(__i386__) || defined(_M_IX86) || defined (__EMSCRIPTEN__)
119 #define PX_X86 1
120 #elif defined(__arm64__) || defined(__aarch64__) || defined(_M_ARM64)
121 #define PX_A64 1
122 #elif defined(__arm__) || defined(_M_ARM)
123 #define PX_ARM 1
124 #elif defined(__ppc__) || defined(_M_PPC) || defined(__CELLOS_LV2__)
125 #define PX_PPC 1
126 #else
127 #error "Unknown architecture"
128 #endif
129 
133 #if !defined(PX_SIMD_DISABLED)
134 #if defined(__i386__) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64) || (defined (__EMSCRIPTEN__) && defined(__SSE2__))
135 #define PX_SSE2 1
136 #endif
137 #if defined(_M_ARM) || defined(__ARM_NEON__) || defined(__ARM_NEON)
138 #define PX_NEON 1
139 #endif
140 #if defined(_M_PPC) || defined(__CELLOS_LV2__)
141 #define PX_VMX 1
142 #endif
143 #endif
144 
148 #ifndef PX_VC
149 #define PX_VC 0
150 #endif
151 #ifndef PX_CLANG
152 #define PX_CLANG 0
153 #endif
154 #ifndef PX_GCC
155 #define PX_GCC 0
156 #endif
157 #ifndef PX_XBOXONE
158 #define PX_XBOXONE 0
159 #endif
160 #ifndef PX_WIN64
161 #define PX_WIN64 0
162 #endif
163 #ifndef PX_WIN32
164 #define PX_WIN32 0
165 #endif
166 #ifndef PX_ANDROID
167 #define PX_ANDROID 0
168 #endif
169 #ifndef PX_LINUX
170 #define PX_LINUX 0
171 #endif
172 #ifndef PX_IOS
173 #define PX_IOS 0
174 #endif
175 #ifndef PX_OSX
176 #define PX_OSX 0
177 #endif
178 #ifndef PX_PS4
179 #define PX_PS4 0
180 #endif
181 #ifndef PX_SWITCH
182 #define PX_SWITCH 0
183 #endif
184 #ifndef PX_UWP
185 #define PX_UWP 0
186 #endif
187 #ifndef PX_X64
188 #define PX_X64 0
189 #endif
190 #ifndef PX_X86
191 #define PX_X86 0
192 #endif
193 #ifndef PX_A64
194 #define PX_A64 0
195 #endif
196 #ifndef PX_ARM
197 #define PX_ARM 0
198 #endif
199 #ifndef PX_PPC
200 #define PX_PPC 0
201 #endif
202 #ifndef PX_SSE2
203 #define PX_SSE2 0
204 #endif
205 #ifndef PX_NEON
206 #define PX_NEON 0
207 #endif
208 #ifndef PX_VMX
209 #define PX_VMX 0
210 #endif
211 
212 /*
213 define anything not defined through the command line to 0
214 */
215 #ifndef PX_DEBUG
216 #define PX_DEBUG 0
217 #endif
218 #ifndef PX_CHECKED
219 #define PX_CHECKED 0
220 #endif
221 #ifndef PX_PROFILE
222 #define PX_PROFILE 0
223 #endif
224 #ifndef PX_DEBUG_CRT
225 #define PX_DEBUG_CRT 0
226 #endif
227 #ifndef PX_NVTX
228 #define PX_NVTX 0
229 #endif
230 #ifndef PX_DOXYGEN
231 #define PX_DOXYGEN 0
232 #endif
233 
237 // compiler
238 #define PX_GCC_FAMILY (PX_CLANG || PX_GCC)
239 // os
240 #define PX_WINDOWS_FAMILY (PX_WIN32 || PX_WIN64 || PX_UWP)
241 #define PX_MICROSOFT_FAMILY (PX_XBOXONE || PX_WINDOWS_FAMILY)
242 #define PX_LINUX_FAMILY (PX_LINUX || PX_ANDROID)
243 #define PX_APPLE_FAMILY (PX_IOS || PX_OSX) // equivalent to #if __APPLE__
244 #define PX_UNIX_FAMILY (PX_LINUX_FAMILY || PX_APPLE_FAMILY) // shortcut for unix/posix platforms
245 #if defined(__EMSCRIPTEN__)
246 #define PX_EMSCRIPTEN 1
247 #else
248 #define PX_EMSCRIPTEN 0
249 #endif
250 // architecture
251 #define PX_INTEL_FAMILY (PX_X64 || PX_X86)
252 #define PX_ARM_FAMILY (PX_ARM || PX_A64)
253 #define PX_P64_FAMILY (PX_X64 || PX_A64) // shortcut for 64-bit architectures
254 
258 #if defined(_LIBCPP_VERSION) || PX_WIN64 || PX_WIN32 || PX_PS4 || PX_XBOXONE || PX_UWP || PX_EMSCRIPTEN
259 #define PX_LIBCPP 1
260 #else
261 #define PX_LIBCPP 0
262 #endif
263 
264 // legacy define for PhysX
265 #define PX_WINDOWS (PX_WINDOWS_FAMILY && !PX_ARM_FAMILY)
266 
270 #ifndef PX_ENABLE_ASSERTS
271 #if PX_DEBUG && !defined(__CUDACC__)
272 #define PX_ENABLE_ASSERTS 1
273 #else
274 #define PX_ENABLE_ASSERTS 0
275 #endif
276 #endif
277 
281 #ifndef PX_C_EXPORT
282 #if PX_WINDOWS_FAMILY || PX_LINUX
283 #define PX_C_EXPORT extern "C"
284 #else
285 #define PX_C_EXPORT
286 #endif
287 #endif
288 
289 #if PX_UNIX_FAMILY&& __GNUC__ >= 4
290 #define PX_UNIX_EXPORT __attribute__((visibility("default")))
291 #else
292 #define PX_UNIX_EXPORT
293 #endif
294 
295 #if PX_WINDOWS_FAMILY
296 #define PX_DLL_EXPORT __declspec(dllexport)
297 #define PX_DLL_IMPORT __declspec(dllimport)
298 #else
299 #define PX_DLL_EXPORT PX_UNIX_EXPORT
300 #define PX_DLL_IMPORT
301 #endif
302 
306 #ifndef PX_CALL_CONV
307 #if PX_MICROSOFT_FAMILY
308 #define PX_CALL_CONV __cdecl
309 #else
310 #define PX_CALL_CONV
311 #endif
312 #endif
313 
317 #if PX_VC
318 #define PX_PUSH_PACK_DEFAULT __pragma(pack(push, 8))
319 #define PX_POP_PACK __pragma(pack(pop))
320 #elif PX_GCC_FAMILY
321 #define PX_PUSH_PACK_DEFAULT _Pragma("pack(push, 8)")
322 #define PX_POP_PACK _Pragma("pack(pop)")
323 #else
324 #define PX_PUSH_PACK_DEFAULT
325 #define PX_POP_PACK
326 #endif
327 
331 #define PX_INLINE inline
332 #if PX_MICROSOFT_FAMILY
333 #pragma inline_depth(255)
334 #endif
335 
339 #if PX_VC
340 #define PX_FORCE_INLINE __forceinline
341 #elif PX_LINUX // Workaround; Fedora Core 3 do not agree with force inline and PxcPool
342 #define PX_FORCE_INLINE inline
343 #elif PX_GCC_FAMILY
344 #define PX_FORCE_INLINE inline __attribute__((always_inline))
345 #else
346 #define PX_FORCE_INLINE inline
347 #endif
348 
352 #if PX_MICROSOFT_FAMILY
353 #define PX_NOINLINE __declspec(noinline)
354 #elif PX_GCC_FAMILY
355 #define PX_NOINLINE __attribute__((noinline))
356 #else
357 #define PX_NOINLINE
358 #endif
359 
363 #if defined(__CUDACC__)
364 #define PX_RESTRICT __restrict__
365 #else
366 #define PX_RESTRICT __restrict
367 #endif
368 
372 #if PX_MICROSOFT_FAMILY
373 #define PX_NOALIAS __declspec(noalias)
374 #else
375 #define PX_NOALIAS
376 #endif
377 
389 #ifndef PX_ALIGN
390 #if PX_MICROSOFT_FAMILY
391 #define PX_ALIGN(alignment, decl) __declspec(align(alignment)) decl
392 #define PX_ALIGN_PREFIX(alignment) __declspec(align(alignment))
393 #define PX_ALIGN_SUFFIX(alignment)
394 #elif PX_GCC_FAMILY
395 #define PX_ALIGN(alignment, decl) decl __attribute__((aligned(alignment)))
396 #define PX_ALIGN_PREFIX(alignment)
397 #define PX_ALIGN_SUFFIX(alignment) __attribute__((aligned(alignment)))
398 #elif defined __CUDACC__
399 #define PX_ALIGN(alignment, decl) __align__(alignment) decl
400 #define PX_ALIGN_PREFIX(alignment)
401 #define PX_ALIGN_SUFFIX(alignment) __align__(alignment))
402 #else
403 #define PX_ALIGN(alignment, decl)
404 #define PX_ALIGN_PREFIX(alignment)
405 #define PX_ALIGN_SUFFIX(alignment)
406 #endif
407 #endif
408 
419 #define PX_DEPRECATED
420 
425 // static assert
426 #if(defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))) || (PX_PS4) || (PX_APPLE_FAMILY) || (PX_SWITCH) || (PX_CLANG && PX_ARM)
427 #define PX_COMPILE_TIME_ASSERT(exp) typedef char PX_CONCAT(PxCompileTimeAssert_Dummy, __COUNTER__)[(exp) ? 1 : -1] __attribute__((unused))
428 #else
429 #define PX_COMPILE_TIME_ASSERT(exp) typedef char PxCompileTimeAssert_Dummy[(exp) ? 1 : -1]
430 #endif
431 
432 #if PX_GCC_FAMILY
433 #define PX_OFFSET_OF(X, Y) __builtin_offsetof(X, Y)
434 #else
435 #define PX_OFFSET_OF(X, Y) offsetof(X, Y)
436 #endif
437 
438 #define PX_OFFSETOF_BASE 0x100 // casting the null ptr takes a special-case code path, which we don't want
439 #define PX_OFFSET_OF_RT(Class, Member) \
440  (reinterpret_cast<size_t>(&reinterpret_cast<Class*>(PX_OFFSETOF_BASE)->Member) - size_t(PX_OFFSETOF_BASE))
441 
442 // check that exactly one of NDEBUG and _DEBUG is defined
443 #if !defined(NDEBUG) ^ defined(_DEBUG)
444 #error Exactly one of NDEBUG and _DEBUG needs to be defined!
445 #endif
446 
447 // make sure PX_CHECKED is defined in all _DEBUG configurations as well
448 #if !PX_CHECKED && PX_DEBUG
449 #error PX_CHECKED must be defined when PX_DEBUG is defined
450 #endif
451 
452 #ifdef __CUDACC__
453 #define PX_CUDA_CALLABLE __host__ __device__
454 #else
455 #define PX_CUDA_CALLABLE
456 #endif
457 
458 // avoid unreferenced parameter warning
459 // preferred solution: omit the parameter's name from the declaration
460 template <class T>
462 {
463 }
464 
465 // Ensure that the application hasn't tweaked the pack value to less than 8, which would break
466 // matching between the API headers and the binaries
467 // This assert works on win32/win64, but may need further specialization on other platforms.
468 // Some GCC compilers need the compiler flag -malign-double to be set.
469 // Apparently the apple-clang-llvm compiler doesn't support malign-double.
470 #if PX_PS4 || PX_APPLE_FAMILY || (PX_CLANG && !PX_ARM)
471 struct PxPackValidation
472 {
473  char _;
474  long a;
475 };
476 #elif PX_ANDROID || (PX_CLANG && PX_ARM)
477 struct PxPackValidation
478 {
479  char _;
480  double a;
481 };
482 #else
484 {
485  char _;
486  long long a;
487 };
488 #endif
489 // clang (as of version 3.9) cannot align doubles on 8 byte boundary when compiling for Intel 32 bit target
490 #if !PX_APPLE_FAMILY && !PX_EMSCRIPTEN && !(PX_CLANG && PX_X86)
492 #endif
493 
494 // use in a cpp file to suppress LNK4221
495 #if PX_VC
496 #define PX_DUMMY_SYMBOL \
497  namespace \
498  { \
499  char PxDummySymbol; \
500  }
501 #else
502 #define PX_DUMMY_SYMBOL
503 #endif
504 
505 #if PX_GCC_FAMILY
506 #define PX_WEAK_SYMBOL __attribute__((weak)) // this is to support SIMD constant merging in template specialization
507 #else
508 #define PX_WEAK_SYMBOL
509 #endif
510 
511 // Macro for avoiding default assignment and copy, because doing this by inheritance can increase class size on some
512 // platforms.
513 #define PX_NOCOPY(Class) \
514  \
515 protected: \
516  Class(const Class&); \
517  Class& operator=(const Class&);
518 
519 #ifndef DISABLE_CUDA_PHYSX
520 //CUDA is currently supported only on windows
521 #define PX_SUPPORT_GPU_PHYSX ((PX_WINDOWS_FAMILY) || (PX_LINUX && PX_X64))
522 #else
523 #define PX_SUPPORT_GPU_PHYSX 0
524 #endif
525 
526 #define PX_SUPPORT_COMPUTE_PHYSX 0
527 
528 #ifndef PX_SUPPORT_EXTERN_TEMPLATE
529 #define PX_SUPPORT_EXTERN_TEMPLATE ((!PX_ANDROID) && (PX_VC != 11))
530 #else
531 #define PX_SUPPORT_EXTERN_TEMPLATE 0
532 #endif
533 
535 #endif // #ifndef PXFOUNDATION_PXPREPROCESSOR_H
Definition: PxPreprocessor.h:483
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PXFOUNDATION_PXPREPROCESSOR_H
31 #define PXFOUNDATION_PXPREPROCESSOR_H
32 
33 #include <stddef.h>
34 #if !defined(PX_GENERATE_META_DATA)
35 #include <ciso646>
36 #endif
37 
41 #define PX_STRINGIZE_HELPER(X) #X
42 #define PX_STRINGIZE(X) PX_STRINGIZE_HELPER(X)
43 
44 #define PX_CONCAT_HELPER(X, Y) X##Y
45 #define PX_CONCAT(X, Y) PX_CONCAT_HELPER(X, Y)
46 
47 /*
48 The following preprocessor identifiers specify compiler, OS, and architecture.
49 All definitions have a value of 1 or 0, use '#if' instead of '#ifdef'.
50 */
51 
55 #if defined(_MSC_VER)
56 #if _MSC_VER >= 1910
57 #define PX_VC 15
58 #elif _MSC_VER >= 1900
59 #define PX_VC 14
60 #elif _MSC_VER >= 1800
61 #define PX_VC 12
62 #elif _MSC_VER >= 1700
63 #define PX_VC 11
64 #elif _MSC_VER >= 1600
65 #define PX_VC 10
66 #elif _MSC_VER >= 1500
67 #define PX_VC 9
68 #else
69 #error "Unknown VC version"
70 #endif
71 #elif defined(__clang__)
72 #define PX_CLANG 1
73  #if defined (__clang_major__)
74  #define PX_CLANG_MAJOR __clang_major__
75  #elif defined (_clang_major)
76  #define PX_CLANG_MAJOR _clang_major
77  #else
78  #define PX_CLANG_MAJOR 0
79  #endif
80 #elif defined(__GNUC__) // note: __clang__ implies __GNUC__
81 #define PX_GCC 1
82 #else
83 #error "Unknown compiler"
84 #endif
85 
89 #if defined(_XBOX_ONE)
90 #define PX_XBOXONE 1
91 #elif defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_APP
92 #define PX_UWP 1
93 #elif defined(_WIN64) // note: _XBOX_ONE implies _WIN64
94 #define PX_WIN64 1
95 #elif defined(_WIN32) // note: _M_PPC implies _WIN32
96 #define PX_WIN32 1
97 #elif defined(__ANDROID__)
98 #define PX_ANDROID 1
99 #elif defined(__linux__) || defined (__EMSCRIPTEN__) // note: __ANDROID__ implies __linux__
100 #define PX_LINUX 1
101 #elif defined(__APPLE__) && (defined(__arm__) || defined(__arm64__))
102 #define PX_IOS 1
103 #elif defined(__APPLE__)
104 #define PX_OSX 1
105 #elif defined(__ORBIS__)
106 #define PX_PS4 1
107 #elif defined(__NX__)
108 #define PX_SWITCH 1
109 #else
110 #error "Unknown operating system"
111 #endif
112 
116 #if defined(__x86_64__) || defined(_M_X64) // ps4 compiler defines _M_X64 without value
117 #define PX_X64 1
118 #elif defined(__i386__) || defined(_M_IX86) || defined (__EMSCRIPTEN__)
119 #define PX_X86 1
120 #elif defined(__arm64__) || defined(__aarch64__) || defined(_M_ARM64)
121 #define PX_A64 1
122 #elif defined(__arm__) || defined(_M_ARM)
123 #define PX_ARM 1
124 #elif defined(__ppc__) || defined(_M_PPC) || defined(__CELLOS_LV2__)
125 #define PX_PPC 1
126 #else
127 #error "Unknown architecture"
128 #endif
129 
133 #if !defined(PX_SIMD_DISABLED)
134 #if defined(__i386__) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64) || (defined (__EMSCRIPTEN__) && defined(__SSE2__))
135 #define PX_SSE2 1
136 #endif
137 #if defined(_M_ARM) || defined(__ARM_NEON__) || defined(__ARM_NEON)
138 #define PX_NEON 1
139 #endif
140 #if defined(_M_PPC) || defined(__CELLOS_LV2__)
141 #define PX_VMX 1
142 #endif
143 #endif
144 
148 #ifndef PX_VC
149 #define PX_VC 0
150 #endif
151 #ifndef PX_CLANG
152 #define PX_CLANG 0
153 #endif
154 #ifndef PX_GCC
155 #define PX_GCC 0
156 #endif
157 #ifndef PX_XBOXONE
158 #define PX_XBOXONE 0
159 #endif
160 #ifndef PX_WIN64
161 #define PX_WIN64 0
162 #endif
163 #ifndef PX_WIN32
164 #define PX_WIN32 0
165 #endif
166 #ifndef PX_ANDROID
167 #define PX_ANDROID 0
168 #endif
169 #ifndef PX_LINUX
170 #define PX_LINUX 0
171 #endif
172 #ifndef PX_IOS
173 #define PX_IOS 0
174 #endif
175 #ifndef PX_OSX
176 #define PX_OSX 0
177 #endif
178 #ifndef PX_PS4
179 #define PX_PS4 0
180 #endif
181 #ifndef PX_SWITCH
182 #define PX_SWITCH 0
183 #endif
184 #ifndef PX_UWP
185 #define PX_UWP 0
186 #endif
187 #ifndef PX_X64
188 #define PX_X64 0
189 #endif
190 #ifndef PX_X86
191 #define PX_X86 0
192 #endif
193 #ifndef PX_A64
194 #define PX_A64 0
195 #endif
196 #ifndef PX_ARM
197 #define PX_ARM 0
198 #endif
199 #ifndef PX_PPC
200 #define PX_PPC 0
201 #endif
202 #ifndef PX_SSE2
203 #define PX_SSE2 0
204 #endif
205 #ifndef PX_NEON
206 #define PX_NEON 0
207 #endif
208 #ifndef PX_VMX
209 #define PX_VMX 0
210 #endif
211 
212 /*
213 define anything not defined through the command line to 0
214 */
215 #ifndef PX_DEBUG
216 #define PX_DEBUG 0
217 #endif
218 #ifndef PX_CHECKED
219 #define PX_CHECKED 0
220 #endif
221 #ifndef PX_PROFILE
222 #define PX_PROFILE 0
223 #endif
224 #ifndef PX_DEBUG_CRT
225 #define PX_DEBUG_CRT 0
226 #endif
227 #ifndef PX_NVTX
228 #define PX_NVTX 0
229 #endif
230 #ifndef PX_DOXYGEN
231 #define PX_DOXYGEN 0
232 #endif
233 
237 // compiler
238 #define PX_GCC_FAMILY (PX_CLANG || PX_GCC)
239 // os
240 #define PX_WINDOWS_FAMILY (PX_WIN32 || PX_WIN64 || PX_UWP)
241 #define PX_MICROSOFT_FAMILY (PX_XBOXONE || PX_WINDOWS_FAMILY)
242 #define PX_LINUX_FAMILY (PX_LINUX || PX_ANDROID)
243 #define PX_APPLE_FAMILY (PX_IOS || PX_OSX) // equivalent to #if __APPLE__
244 #define PX_UNIX_FAMILY (PX_LINUX_FAMILY || PX_APPLE_FAMILY) // shortcut for unix/posix platforms
245 #if defined(__EMSCRIPTEN__)
246 #define PX_EMSCRIPTEN 1
247 #else
248 #define PX_EMSCRIPTEN 0
249 #endif
250 // architecture
251 #define PX_INTEL_FAMILY (PX_X64 || PX_X86)
252 #define PX_ARM_FAMILY (PX_ARM || PX_A64)
253 #define PX_P64_FAMILY (PX_X64 || PX_A64) // shortcut for 64-bit architectures
254 
258 #if defined(_LIBCPP_VERSION) || PX_WIN64 || PX_WIN32 || PX_PS4 || PX_XBOXONE || PX_UWP || PX_EMSCRIPTEN
259 #define PX_LIBCPP 1
260 #else
261 #define PX_LIBCPP 0
262 #endif
263 
264 // legacy define for PhysX
265 #define PX_WINDOWS (PX_WINDOWS_FAMILY && !PX_ARM_FAMILY)
266 
270 #ifndef PX_ENABLE_ASSERTS
271 #if PX_DEBUG && !defined(__CUDACC__)
272 #define PX_ENABLE_ASSERTS 1
273 #else
274 #define PX_ENABLE_ASSERTS 0
275 #endif
276 #endif
277 
281 #ifndef PX_C_EXPORT
282 #if PX_WINDOWS_FAMILY || PX_LINUX
283 #define PX_C_EXPORT extern "C"
284 #else
285 #define PX_C_EXPORT
286 #endif
287 #endif
288 
289 #if PX_UNIX_FAMILY&& __GNUC__ >= 4
290 #define PX_UNIX_EXPORT __attribute__((visibility("default")))
291 #else
292 #define PX_UNIX_EXPORT
293 #endif
294 
295 #if (PX_WINDOWS_FAMILY || PX_XBOXONE || PX_PS4)
296 #define PX_DLL_EXPORT __declspec(dllexport)
297 #define PX_DLL_IMPORT __declspec(dllimport)
298 #else
299 #define PX_DLL_EXPORT PX_UNIX_EXPORT
300 #define PX_DLL_IMPORT
301 #endif
302 
306 #ifndef PX_CALL_CONV
307 #if PX_MICROSOFT_FAMILY
308 #define PX_CALL_CONV __cdecl
309 #else
310 #define PX_CALL_CONV
311 #endif
312 #endif
313 
317 #if PX_VC
318 #define PX_PUSH_PACK_DEFAULT __pragma(pack(push, 8))
319 #define PX_POP_PACK __pragma(pack(pop))
320 #elif PX_GCC_FAMILY
321 #define PX_PUSH_PACK_DEFAULT _Pragma("pack(push, 8)")
322 #define PX_POP_PACK _Pragma("pack(pop)")
323 #else
324 #define PX_PUSH_PACK_DEFAULT
325 #define PX_POP_PACK
326 #endif
327 
331 #define PX_INLINE inline
332 #if PX_MICROSOFT_FAMILY
333 #pragma inline_depth(255)
334 #endif
335 
339 #if PX_VC
340 #define PX_FORCE_INLINE __forceinline
341 #elif PX_LINUX // Workaround; Fedora Core 3 do not agree with force inline and PxcPool
342 #define PX_FORCE_INLINE inline
343 #elif PX_GCC_FAMILY
344 #define PX_FORCE_INLINE inline __attribute__((always_inline))
345 #else
346 #define PX_FORCE_INLINE inline
347 #endif
348 
352 #if PX_MICROSOFT_FAMILY
353 #define PX_NOINLINE __declspec(noinline)
354 #elif PX_GCC_FAMILY
355 #define PX_NOINLINE __attribute__((noinline))
356 #else
357 #define PX_NOINLINE
358 #endif
359 
363 #if defined(__CUDACC__)
364 #define PX_RESTRICT __restrict__
365 #else
366 #define PX_RESTRICT __restrict
367 #endif
368 
372 #if PX_MICROSOFT_FAMILY
373 #define PX_NOALIAS __declspec(noalias)
374 #else
375 #define PX_NOALIAS
376 #endif
377 
389 #ifndef PX_ALIGN
390 #if PX_MICROSOFT_FAMILY
391 #define PX_ALIGN(alignment, decl) __declspec(align(alignment)) decl
392 #define PX_ALIGN_PREFIX(alignment) __declspec(align(alignment))
393 #define PX_ALIGN_SUFFIX(alignment)
394 #elif PX_GCC_FAMILY
395 #define PX_ALIGN(alignment, decl) decl __attribute__((aligned(alignment)))
396 #define PX_ALIGN_PREFIX(alignment)
397 #define PX_ALIGN_SUFFIX(alignment) __attribute__((aligned(alignment)))
398 #elif defined __CUDACC__
399 #define PX_ALIGN(alignment, decl) __align__(alignment) decl
400 #define PX_ALIGN_PREFIX(alignment)
401 #define PX_ALIGN_SUFFIX(alignment) __align__(alignment))
402 #else
403 #define PX_ALIGN(alignment, decl)
404 #define PX_ALIGN_PREFIX(alignment)
405 #define PX_ALIGN_SUFFIX(alignment)
406 #endif
407 #endif
408 
419 #define PX_DEPRECATED
420 
425 // static assert
426 #if(defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))) || (PX_PS4) || (PX_APPLE_FAMILY) || (PX_SWITCH) || (PX_CLANG && PX_ARM)
427 #define PX_COMPILE_TIME_ASSERT(exp) typedef char PX_CONCAT(PxCompileTimeAssert_Dummy, __COUNTER__)[(exp) ? 1 : -1] __attribute__((unused))
428 #else
429 #define PX_COMPILE_TIME_ASSERT(exp) typedef char PxCompileTimeAssert_Dummy[(exp) ? 1 : -1]
430 #endif
431 
432 #if PX_GCC_FAMILY
433 #define PX_OFFSET_OF(X, Y) __builtin_offsetof(X, Y)
434 #else
435 #define PX_OFFSET_OF(X, Y) offsetof(X, Y)
436 #endif
437 
438 #define PX_OFFSETOF_BASE 0x100 // casting the null ptr takes a special-case code path, which we don't want
439 #define PX_OFFSET_OF_RT(Class, Member) \
440  (reinterpret_cast<size_t>(&reinterpret_cast<Class*>(PX_OFFSETOF_BASE)->Member) - size_t(PX_OFFSETOF_BASE))
441 
442 // check that exactly one of NDEBUG and _DEBUG is defined
443 #if !defined(NDEBUG) ^ defined(_DEBUG)
444 #error Exactly one of NDEBUG and _DEBUG needs to be defined!
445 #endif
446 
447 // make sure PX_CHECKED is defined in all _DEBUG configurations as well
448 #if !PX_CHECKED && PX_DEBUG
449 #error PX_CHECKED must be defined when PX_DEBUG is defined
450 #endif
451 
452 #ifdef __CUDACC__
453 #define PX_CUDA_CALLABLE __host__ __device__
454 #else
455 #define PX_CUDA_CALLABLE
456 #endif
457 
458 // avoid unreferenced parameter warning
459 // preferred solution: omit the parameter's name from the declaration
460 template <class T>
462 {
463 }
464 
465 // Ensure that the application hasn't tweaked the pack value to less than 8, which would break
466 // matching between the API headers and the binaries
467 // This assert works on win32/win64, but may need further specialization on other platforms.
468 // Some GCC compilers need the compiler flag -malign-double to be set.
469 // Apparently the apple-clang-llvm compiler doesn't support malign-double.
470 #if PX_PS4 || PX_APPLE_FAMILY || (PX_CLANG && !PX_ARM)
471 struct PxPackValidation
472 {
473  char _;
474  long a;
475 };
476 #elif PX_ANDROID || (PX_CLANG && PX_ARM)
477 struct PxPackValidation
478 {
479  char _;
480  double a;
481 };
482 #else
484 {
485  char _;
486  long long a;
487 };
488 #endif
489 // clang (as of version 3.9) cannot align doubles on 8 byte boundary when compiling for Intel 32 bit target
490 #if !PX_APPLE_FAMILY && !PX_EMSCRIPTEN && !(PX_CLANG && PX_X86)
492 #endif
493 
494 // use in a cpp file to suppress LNK4221
495 #if PX_VC
496 #define PX_DUMMY_SYMBOL \
497  namespace \
498  { \
499  char PxDummySymbol; \
500  }
501 #else
502 #define PX_DUMMY_SYMBOL
503 #endif
504 
505 #if PX_GCC_FAMILY
506 #define PX_WEAK_SYMBOL __attribute__((weak)) // this is to support SIMD constant merging in template specialization
507 #else
508 #define PX_WEAK_SYMBOL
509 #endif
510 
511 // Macro for avoiding default assignment and copy, because doing this by inheritance can increase class size on some
512 // platforms.
513 #define PX_NOCOPY(Class) \
514  \
515 protected: \
516  Class(const Class&); \
517  Class& operator=(const Class&);
518 
519 #ifndef DISABLE_CUDA_PHYSX
520 //CUDA is currently supported only on windows
521 #define PX_SUPPORT_GPU_PHYSX ((PX_WINDOWS_FAMILY) || (PX_LINUX && PX_X64))
522 #else
523 #define PX_SUPPORT_GPU_PHYSX 0
524 #endif
525 
526 #define PX_SUPPORT_COMPUTE_PHYSX 0
527 
528 #ifndef PX_SUPPORT_EXTERN_TEMPLATE
529 #define PX_SUPPORT_EXTERN_TEMPLATE ((!PX_ANDROID) && (PX_VC != 11))
530 #else
531 #define PX_SUPPORT_EXTERN_TEMPLATE 0
532 #endif
533 
535 #endif // #ifndef PXFOUNDATION_PXPREPROCESSOR_H
Definition: PxPreprocessor.h:483
#define PX_OFFSET_OF(X, Y)
Definition: PxPreprocessor.h:435
#define PX_COMPILE_TIME_ASSERT(exp)
Definition: PxPreprocessor.h:429
PX_CUDA_CALLABLE PX_INLINE void PX_UNUSED(T const &)
Definition: PxPreprocessor.h:461
@@ -100,7 +100,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxProfiler_8h.html b/physx/documentation/PhysXAPI/files/PxProfiler_8h.html index 65a3f3395..19a9ba911 100644 --- a/physx/documentation/PhysXAPI/files/PxProfiler_8h.html +++ b/physx/documentation/PhysXAPI/files/PxProfiler_8h.html @@ -123,7 +123,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxProfiler_8h_source.html b/physx/documentation/PhysXAPI/files/PxProfiler_8h_source.html index 54d9d4d83..5168991bb 100644 --- a/physx/documentation/PhysXAPI/files/PxProfiler_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxProfiler_8h_source.html @@ -107,7 +107,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxQuat_8h.html b/physx/documentation/PhysXAPI/files/PxQuat_8h.html index 1fd6e226e..52ca12fee 100644 --- a/physx/documentation/PhysXAPI/files/PxQuat_8h.html +++ b/physx/documentation/PhysXAPI/files/PxQuat_8h.html @@ -94,55 +94,55 @@
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -160,7 +160,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxQuat_8h__dep__incl.map b/physx/documentation/PhysXAPI/files/PxQuat_8h__dep__incl.map index 61c7e50fc..b4ea2dac8 100644 --- a/physx/documentation/PhysXAPI/files/PxQuat_8h__dep__incl.map +++ b/physx/documentation/PhysXAPI/files/PxQuat_8h__dep__incl.map @@ -1,51 +1,51 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/physx/documentation/PhysXAPI/files/PxQuat_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxQuat_8h__dep__incl.md5 index c04970b60..0292a4649 100644 --- a/physx/documentation/PhysXAPI/files/PxQuat_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxQuat_8h__dep__incl.md5 @@ -1 +1 @@ -0954a289440681783dd5b19abd61214a \ No newline at end of file +897f639a2a4b69e532381ce9ea02c566 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxQuat_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/PxQuat_8h__dep__incl.png index 317d9a035..67a1bda09 100644 Binary files a/physx/documentation/PhysXAPI/files/PxQuat_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/PxQuat_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxQuat_8h_source.html b/physx/documentation/PhysXAPI/files/PxQuat_8h_source.html index a3637641f..115a2ee5a 100644 --- a/physx/documentation/PhysXAPI/files/PxQuat_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxQuat_8h_source.html @@ -157,7 +157,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxRigidDynamic_8h.html b/physx/documentation/PhysXAPI/files/PxRigidDynamic_8h.html index 428f961b1..bed465ef7 100644 --- a/physx/documentation/PhysXAPI/files/PxRigidDynamic_8h.html +++ b/physx/documentation/PhysXAPI/files/PxRigidDynamic_8h.html @@ -119,8 +119,8 @@
PX_C_EXPORT PX_PHYSX_CORE_API void PxReleaseArticulation (Dy::ArticulationV *articulation)
 Releases an immediate-mode reduced-coordinate articulation. More...
 
PX_C_EXPORT PX_PHYSX_CORE_API PxArticulationCachePxCreateArticulationCache (Dy::ArticulationV *articulation)
 Creates an articulation cache. More...
 
PX_C_EXPORT PX_PHYSX_CORE_API void PxCopyInternalStateToArticulationCache (Dy::ArticulationV *articulation, PxArticulationCache &cache, PxArticulationCacheFlags flag)
 Copy the internal data of the articulation to the cache. More...
 
PX_C_EXPORT PX_PHYSX_CORE_API void PxApplyArticulationCache (Dy::ArticulationV *articulation, PxArticulationCache &cache, PxArticulationCacheFlags flag)
 Apply the user defined data in the cache to the articulation system. More...
 
PX_C_EXPORT PX_PHYSX_CORE_API void PxReleaseArticulationCache (PxArticulationCache &cache)
 Release an articulation cache. More...
 
PX_C_EXPORT PX_PHYSX_CORE_API Dy::ArticulationLinkHandle PxAddArticulationLink (Dy::ArticulationV *articulation, const PxFeatherstoneArticulationLinkData &data, bool isLastLink=false)
 Adds a link to an immediate-mode reduced-coordinate articulation. The articulation becomes the link's owner/parent. More...
 
 
#define PX_PHYSICS_VERSION_MINOR   1
 
#define PX_PHYSICS_VERSION_BUGFIX   0
#define PX_PHYSICS_VERSION_BUGFIX   1
 
#define PX_PHYSICS_VERSION   ((PX_PHYSICS_VERSION_MAJOR<<24) + (PX_PHYSICS_VERSION_MINOR<<16) + (PX_PHYSICS_VERSION_BUGFIX<<8) + 0)
 
- - + +

Typedefs

typedef PxFlags< PxRigidDynamicLockFlag::Enum, PxU16 > PxRigidDynamicLockFlags
 
typedef PxFlags< PxRigidDynamicLockFlag::Enum, PxU8 > PxRigidDynamicLockFlags
 
diff --git a/physx/documentation/PhysXAPI/files/PxRigidDynamic_8h.js b/physx/documentation/PhysXAPI/files/PxRigidDynamic_8h.js index c6145755d..183e9e9fa 100644 --- a/physx/documentation/PhysXAPI/files/PxRigidDynamic_8h.js +++ b/physx/documentation/PhysXAPI/files/PxRigidDynamic_8h.js @@ -1,4 +1,4 @@ var PxRigidDynamic_8h = [ - [ "PxRigidDynamicLockFlags", "group__physics.html#gab35e15599f740af43f399ed4ad9f04e8", null ] + [ "PxRigidDynamicLockFlags", "group__physics.html#ga5ff75d3f2ba94c58e7f8f928b11ebb8d", null ] ]; \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxRigidDynamic_8h_source.html b/physx/documentation/PhysXAPI/files/PxRigidDynamic_8h_source.html index 780780b31..bc1fe0e86 100644 --- a/physx/documentation/PhysXAPI/files/PxRigidDynamic_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxRigidDynamic_8h_source.html @@ -86,9 +86,10 @@
PxRigidDynamic.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 
31 #ifndef PX_PHYSICS_NX_RIGIDDYNAMIC
32 #define PX_PHYSICS_NX_RIGIDDYNAMIC
33 
37 #include "PxRigidBody.h"
38 
39 #if !PX_DOXYGEN
40 namespace physx
41 {
42 #endif
43 
44 
51 {
52  enum Enum
53  {
54  eLOCK_LINEAR_X = (1 << 0),
55  eLOCK_LINEAR_Y = (1 << 1),
56  eLOCK_LINEAR_Z = (1 << 2),
57  eLOCK_ANGULAR_X = (1 << 3),
58  eLOCK_ANGULAR_Y = (1 << 4),
59  eLOCK_ANGULAR_Z = (1 << 5)
60  };
61 };
62 
64 PX_FLAGS_OPERATORS(PxRigidDynamicLockFlag::Enum, PxU16)
65 
66 
84 {
85 public:
86  // Runtime modifications
87 
88 
89 /************************************************************************************************/
117  virtual void setKinematicTarget(const PxTransform& destination) = 0;
118 
127  virtual bool getKinematicTarget(PxTransform& target) const = 0;
128 
129 
130 /************************************************************************************************/
168  virtual bool isSleeping() const = 0;
169 
170 
182  virtual void setSleepThreshold(PxReal threshold) = 0;
183 
191  virtual PxReal getSleepThreshold() const = 0;
192 
206  virtual void setStabilizationThreshold(PxReal threshold) = 0;
207 
217  virtual PxReal getStabilizationThreshold() const = 0;
218 
219 
229  virtual PxRigidDynamicLockFlags getRigidDynamicLockFlags() const = 0;
230 
244  virtual void setRigidDynamicLockFlag(PxRigidDynamicLockFlag::Enum flag, bool value) = 0;
245  virtual void setRigidDynamicLockFlags(PxRigidDynamicLockFlags flags) = 0;
246 
247 
248 
269  virtual void setWakeCounter(PxReal wakeCounterValue) = 0;
270 
278  virtual PxReal getWakeCounter() const = 0;
279 
294  virtual void wakeUp() = 0;
295 
310  virtual void putToSleep() = 0;
311 
312 /************************************************************************************************/
313 
332  virtual void setSolverIterationCounts(PxU32 minPositionIters, PxU32 minVelocityIters = 1) = 0;
333 
339  virtual void getSolverIterationCounts(PxU32& minPositionIters, PxU32& minVelocityIters) const = 0;
340 
360  virtual PxReal getContactReportThreshold() const = 0;
361 
371  virtual void setContactReportThreshold(PxReal threshold) = 0;
372 
373  virtual const char* getConcreteTypeName() const { return "PxRigidDynamic"; }
374 
375 protected:
376  PX_INLINE PxRigidDynamic(PxType concreteType, PxBaseFlags baseFlags) : PxRigidBody(concreteType, baseFlags) {}
377  PX_INLINE PxRigidDynamic(PxBaseFlags baseFlags) : PxRigidBody(baseFlags) {}
378  virtual ~PxRigidDynamic() {}
379  virtual bool isKindOf(const char* name) const { return !::strcmp("PxRigidDynamic", name) || PxRigidBody::isKindOf(name); }
380 
381 };
382 
383 #if !PX_DOXYGEN
384 } // namespace physx
385 #endif
386 
388 #endif
Definition: GuContactBuffer.h:37
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 
31 #ifndef PX_PHYSICS_NX_RIGIDDYNAMIC
32 #define PX_PHYSICS_NX_RIGIDDYNAMIC
33 
37 #include "PxRigidBody.h"
38 
39 #if !PX_DOXYGEN
40 namespace physx
41 {
42 #endif
43 
44 
51 {
52  enum Enum
53  {
54  eLOCK_LINEAR_X = (1 << 0),
55  eLOCK_LINEAR_Y = (1 << 1),
56  eLOCK_LINEAR_Z = (1 << 2),
57  eLOCK_ANGULAR_X = (1 << 3),
58  eLOCK_ANGULAR_Y = (1 << 4),
59  eLOCK_ANGULAR_Z = (1 << 5)
60  };
61 };
62 
64 PX_FLAGS_OPERATORS(PxRigidDynamicLockFlag::Enum, PxU8)
65 
66 
84 {
85 public:
86  // Runtime modifications
87 
88 
89 /************************************************************************************************/
117  virtual void setKinematicTarget(const PxTransform& destination) = 0;
118 
127  virtual bool getKinematicTarget(PxTransform& target) const = 0;
128 
129 
130 /************************************************************************************************/
168  virtual bool isSleeping() const = 0;
169 
170 
182  virtual void setSleepThreshold(PxReal threshold) = 0;
183 
191  virtual PxReal getSleepThreshold() const = 0;
192 
206  virtual void setStabilizationThreshold(PxReal threshold) = 0;
207 
217  virtual PxReal getStabilizationThreshold() const = 0;
218 
219 
229  virtual PxRigidDynamicLockFlags getRigidDynamicLockFlags() const = 0;
230 
244  virtual void setRigidDynamicLockFlag(PxRigidDynamicLockFlag::Enum flag, bool value) = 0;
245  virtual void setRigidDynamicLockFlags(PxRigidDynamicLockFlags flags) = 0;
246 
247 
248 
269  virtual void setWakeCounter(PxReal wakeCounterValue) = 0;
270 
278  virtual PxReal getWakeCounter() const = 0;
279 
294  virtual void wakeUp() = 0;
295 
310  virtual void putToSleep() = 0;
311 
312 /************************************************************************************************/
313 
332  virtual void setSolverIterationCounts(PxU32 minPositionIters, PxU32 minVelocityIters = 1) = 0;
333 
339  virtual void getSolverIterationCounts(PxU32& minPositionIters, PxU32& minVelocityIters) const = 0;
340 
360  virtual PxReal getContactReportThreshold() const = 0;
361 
371  virtual void setContactReportThreshold(PxReal threshold) = 0;
372 
373  virtual const char* getConcreteTypeName() const { return "PxRigidDynamic"; }
374 
375 protected:
376  PX_INLINE PxRigidDynamic(PxType concreteType, PxBaseFlags baseFlags) : PxRigidBody(concreteType, baseFlags) {}
377  PX_INLINE PxRigidDynamic(PxBaseFlags baseFlags) : PxRigidBody(baseFlags) {}
378  virtual ~PxRigidDynamic() {}
379  virtual bool isKindOf(const char* name) const { return !::strcmp("PxRigidDynamic", name) || PxRigidBody::isKindOf(name); }
380 
381 };
382 
383 #if !PX_DOXYGEN
384 } // namespace physx
385 #endif
386 
388 #endif
Definition: GuContactBuffer.h:37
PxRigidDynamic represents a dynamic rigid simulation object in the physics SDK.
Definition: PxRigidDynamic.h:83
Collection of flags providing a mechanism to lock motion along/around a specific axis.
Definition: PxRigidDynamic.h:50
+
PxFlags< PxRigidDynamicLockFlag::Enum, PxU8 > PxRigidDynamicLockFlags
Definition: PxRigidDynamic.h:63
float PxReal
Definition: PxSimpleTypes.h:78
PX_INLINE PxRigidDynamic(PxBaseFlags baseFlags)
Definition: PxRigidDynamic.h:377
Enum
Definition: PxRigidDynamic.h:52
@@ -96,13 +97,12 @@
PxU16 PxType
Definition: PxBase.h:49
PxU16 flags
a set of Px1DConstraintFlags
Definition: PxConstraintDesc.h:110
+
uint8_t PxU8
Definition: PxSimpleTypes.h:75
class representing a rigid euclidean transform as a quaternion and a vector
Definition: PxTransform.h:48
virtual const char * getConcreteTypeName() const
Returns string name of dynamic type.
Definition: PxRigidDynamic.h:373
-
PxFlags< PxRigidDynamicLockFlag::Enum, PxU16 > PxRigidDynamicLockFlags
Definition: PxRigidDynamic.h:63
Container for bitfield flag variables associated with a specific enum type.
Definition: PxFlags.h:73
PxRigidBody is a base class shared between dynamic rigid body objects.
Definition: PxRigidBody.h:157
virtual bool isKindOf(const char *name) const
Returns whether a given type name matches with the type of this instance.
Definition: PxRigidBody.h:692
-
uint16_t PxU16
Definition: PxSimpleTypes.h:73
uint32_t PxU32
Definition: Px.h:48
PX_INLINE PxRigidDynamic(PxType concreteType, PxBaseFlags baseFlags)
Definition: PxRigidDynamic.h:376
#define PX_INLINE
Definition: PxPreprocessor.h:331
diff --git a/physx/documentation/PhysXAPI/files/PxSerialFramework_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxSerialFramework_8h__dep__incl.md5 index 044f316df..b42b9668b 100644 --- a/physx/documentation/PhysXAPI/files/PxSerialFramework_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxSerialFramework_8h__dep__incl.md5 @@ -1 +1 @@ -101f02ebcfa501c6fe43823baea259a3 \ No newline at end of file +5f66f93bdbaa7db49f1a7610793ce4d1 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxSerialFramework_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/PxSerialFramework_8h__dep__incl.png index 0c71f56b2..5324b9edc 100644 Binary files a/physx/documentation/PhysXAPI/files/PxSerialFramework_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/PxSerialFramework_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxSerialization_8h.html b/physx/documentation/PhysXAPI/files/PxSerialization_8h.html index 2cc3dd514..41183d54e 100644 --- a/physx/documentation/PhysXAPI/files/PxSerialization_8h.html +++ b/physx/documentation/PhysXAPI/files/PxSerialization_8h.html @@ -119,7 +119,7 @@ - +

Macros

#define PX_BINARY_SERIAL_VERSION   "9CC88140D6474C72BA8410E38FE6CAB1"
#define PX_BINARY_SERIAL_VERSION   "F193874828914B3A8AC4EFE75AED0247"
 
diff --git a/physx/documentation/PhysXAPI/files/PxSerialization_8h_source.html b/physx/documentation/PhysXAPI/files/PxSerialization_8h_source.html index 8d1ae9e75..b3a0f47f8 100644 --- a/physx/documentation/PhysXAPI/files/PxSerialization_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxSerialization_8h_source.html @@ -86,7 +86,7 @@
PxSerialization.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 
31 #ifndef PX_SERIALIZATION_H
32 #define PX_SERIALIZATION_H
33 
37 #include "PxPhysXConfig.h"
38 #include "common/PxBase.h"
39 #include "cooking/PxCooking.h"
40 #include "foundation/PxIO.h"
42 #include "common/PxTypeInfo.h"
43 #include "common/PxStringTable.h"
44 
49 #define PX_BINARY_SERIAL_VERSION "9CC88140D6474C72BA8410E38FE6CAB1"
50 
51 
52 #if !PX_DOXYGEN
53 namespace physx
54 {
55 #endif
56 
57  class PxBinaryConverter;
58 
65 {
66 public:
75  {
80 
85 
86  PxXmlMiscParameter() : upVector(0) {}
87  PxXmlMiscParameter(PxVec3& inUpVector, PxTolerancesScale inScale) : upVector(inUpVector), scale(inScale) {}
88  };
89 
114  static bool isSerializable(PxCollection& collection, PxSerializationRegistry& sr, const PxCollection* externalReferences = NULL);
115 
143  static void complete(PxCollection& collection, PxSerializationRegistry& sr, const PxCollection* exceptFor = NULL, bool followJoints = false);
144 
155  static void createSerialObjectIds(PxCollection& collection, const PxSerialObjectId base);
156 
170  static PxCollection* createCollectionFromXml(PxInputData& inputData, PxCooking& cooking, PxSerializationRegistry& sr, const PxCollection* externalRefs = NULL, PxStringTable* stringTable = NULL, PxXmlMiscParameter* outArgs = NULL);
171 
189  static PxCollection* createCollectionFromBinary(void* memBlock, PxSerializationRegistry& sr, const PxCollection* externalRefs = NULL);
190 
209  static bool serializeCollectionToXml(PxOutputStream& outputStream, PxCollection& collection, PxSerializationRegistry& sr, PxCooking* cooking = NULL, const PxCollection* externalRefs = NULL, PxXmlMiscParameter* inArgs = NULL);
210 
233  static bool serializeCollectionToBinary(PxOutputStream& outputStream, PxCollection& collection, PxSerializationRegistry& sr, const PxCollection* externalRefs = NULL, bool exportNames = false );
234 
248  static bool serializeCollectionToBinaryDeterministic(PxOutputStream& outputStream, PxCollection& collection, PxSerializationRegistry& sr, const PxCollection* externalRefs = NULL, bool exportNames = false);
249 
264  static void dumpBinaryMetaData(PxOutputStream& outputStream, PxSerializationRegistry& sr);
265 
271  static PxBinaryConverter* createBinaryConverter();
272 
282  static PxSerializationRegistry* createSerializationRegistry(PxPhysics& physics);
283 };
284 
285 #if !PX_DOXYGEN
286 } // namespace physx
287 #endif
288 
290 #endif
Definition: GuContactBuffer.h:37
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 
31 #ifndef PX_SERIALIZATION_H
32 #define PX_SERIALIZATION_H
33 
37 #include "PxPhysXConfig.h"
38 #include "common/PxBase.h"
39 #include "cooking/PxCooking.h"
40 #include "foundation/PxIO.h"
42 #include "common/PxTypeInfo.h"
43 #include "common/PxStringTable.h"
44 
49 #define PX_BINARY_SERIAL_VERSION "F193874828914B3A8AC4EFE75AED0247"
50 
51 
52 #if !PX_DOXYGEN
53 namespace physx
54 {
55 #endif
56 
57  class PxBinaryConverter;
58 
65 {
66 public:
75  {
80 
85 
86  PxXmlMiscParameter() : upVector(0) {}
87  PxXmlMiscParameter(PxVec3& inUpVector, PxTolerancesScale inScale) : upVector(inUpVector), scale(inScale) {}
88  };
89 
114  static bool isSerializable(PxCollection& collection, PxSerializationRegistry& sr, const PxCollection* externalReferences = NULL);
115 
143  static void complete(PxCollection& collection, PxSerializationRegistry& sr, const PxCollection* exceptFor = NULL, bool followJoints = false);
144 
155  static void createSerialObjectIds(PxCollection& collection, const PxSerialObjectId base);
156 
170  static PxCollection* createCollectionFromXml(PxInputData& inputData, PxCooking& cooking, PxSerializationRegistry& sr, const PxCollection* externalRefs = NULL, PxStringTable* stringTable = NULL, PxXmlMiscParameter* outArgs = NULL);
171 
189  static PxCollection* createCollectionFromBinary(void* memBlock, PxSerializationRegistry& sr, const PxCollection* externalRefs = NULL);
190 
209  static bool serializeCollectionToXml(PxOutputStream& outputStream, PxCollection& collection, PxSerializationRegistry& sr, PxCooking* cooking = NULL, const PxCollection* externalRefs = NULL, PxXmlMiscParameter* inArgs = NULL);
210 
233  static bool serializeCollectionToBinary(PxOutputStream& outputStream, PxCollection& collection, PxSerializationRegistry& sr, const PxCollection* externalRefs = NULL, bool exportNames = false );
234 
248  static bool serializeCollectionToBinaryDeterministic(PxOutputStream& outputStream, PxCollection& collection, PxSerializationRegistry& sr, const PxCollection* externalRefs = NULL, bool exportNames = false);
249 
264  static void dumpBinaryMetaData(PxOutputStream& outputStream, PxSerializationRegistry& sr);
265 
271  static PxBinaryConverter* createBinaryConverter();
272 
282  static PxSerializationRegistry* createSerializationRegistry(PxPhysics& physics);
283 };
284 
285 #if !PX_DOXYGEN
286 } // namespace physx
287 #endif
288 
290 #endif
Definition: GuContactBuffer.h:37
PxTolerancesScale scale
Tolerances scale to be used for the scene.
Definition: PxSerialization.h:84
Class serving as a registry for XML (RepX) and binary serializable types.
Definition: PxSerialFramework.h:290
diff --git a/physx/documentation/PhysXAPI/files/PxSharedAssert_8h.html b/physx/documentation/PhysXAPI/files/PxSharedAssert_8h.html index 713a1d73c..71c52d341 100644 --- a/physx/documentation/PhysXAPI/files/PxSharedAssert_8h.html +++ b/physx/documentation/PhysXAPI/files/PxSharedAssert_8h.html @@ -159,7 +159,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxSharedAssert_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxSharedAssert_8h__dep__incl.md5 index 6cfa11231..4924593f3 100644 --- a/physx/documentation/PhysXAPI/files/PxSharedAssert_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxSharedAssert_8h__dep__incl.md5 @@ -1 +1 @@ -7227b2c60c19f58cf6fa90cc083282aa \ No newline at end of file +56c228a55488d1c6c99191696ab63c73 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxSharedAssert_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/PxSharedAssert_8h__dep__incl.png index cde3dd54c..59cf3a7b6 100644 Binary files a/physx/documentation/PhysXAPI/files/PxSharedAssert_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/PxSharedAssert_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxSharedAssert_8h_source.html b/physx/documentation/PhysXAPI/files/PxSharedAssert_8h_source.html index 9d8d9a517..cd328550d 100644 --- a/physx/documentation/PhysXAPI/files/PxSharedAssert_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxSharedAssert_8h_source.html @@ -93,7 +93,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxSimpleTypes_8h.html b/physx/documentation/PhysXAPI/files/PxSimpleTypes_8h.html index 75fdcf41e..f9bdc154a 100644 --- a/physx/documentation/PhysXAPI/files/PxSimpleTypes_8h.html +++ b/physx/documentation/PhysXAPI/files/PxSimpleTypes_8h.html @@ -233,7 +233,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxSimpleTypes_8h_source.html b/physx/documentation/PhysXAPI/files/PxSimpleTypes_8h_source.html index 67e5964ca..5bddc5822 100644 --- a/physx/documentation/PhysXAPI/files/PxSimpleTypes_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxSimpleTypes_8h_source.html @@ -105,7 +105,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxSolverDefs_8h.html b/physx/documentation/PhysXAPI/files/PxSolverDefs_8h.html index 96a5bdf4a..403ad7ef3 100644 --- a/physx/documentation/PhysXAPI/files/PxSolverDefs_8h.html +++ b/physx/documentation/PhysXAPI/files/PxSolverDefs_8h.html @@ -102,9 +102,9 @@
- - - + + + diff --git a/physx/documentation/PhysXAPI/files/PxSolverDefs_8h__dep__incl.map b/physx/documentation/PhysXAPI/files/PxSolverDefs_8h__dep__incl.map index 69c811131..3cc2c9308 100644 --- a/physx/documentation/PhysXAPI/files/PxSolverDefs_8h__dep__incl.map +++ b/physx/documentation/PhysXAPI/files/PxSolverDefs_8h__dep__incl.map @@ -1,7 +1,7 @@ - - - + + + diff --git a/physx/documentation/PhysXAPI/files/PxSolverDefs_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxSolverDefs_8h__dep__incl.md5 index 38a9d69a2..58187abf1 100644 --- a/physx/documentation/PhysXAPI/files/PxSolverDefs_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxSolverDefs_8h__dep__incl.md5 @@ -1 +1 @@ -d8977a17a0d0347885ab8d9aa97425c3 \ No newline at end of file +dc43f03dce2842f95bd1d18849e9ce16 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxSolverDefs_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/PxSolverDefs_8h__dep__incl.png index 404f13df3..626829502 100644 Binary files a/physx/documentation/PhysXAPI/files/PxSolverDefs_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/PxSolverDefs_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxSolverDefs_8h_source.html b/physx/documentation/PhysXAPI/files/PxSolverDefs_8h_source.html index eb21ba773..a78e9a7a6 100644 --- a/physx/documentation/PhysXAPI/files/PxSolverDefs_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxSolverDefs_8h_source.html @@ -86,134 +86,135 @@
PxSolverDefs.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_SOLVER_DEFS_H
31 #define PX_SOLVER_DEFS_H
32 
33 #include "PxPhysXConfig.h"
34 #include "foundation/PxVec3.h"
35 #include "foundation/PxMat33.h"
36 #include "foundation/PxTransform.h"
37 #include "PxConstraintDesc.h"
39 
40 #if PX_VC
41 #pragma warning(push)
42 #pragma warning(disable : 4324) // structure was padded due to alignment
43 #endif
44 
45 #if !PX_DOXYGEN
46 namespace physx
47 {
48 #endif
49 
50 struct PxTGSSolverBodyVel;
51 
52 namespace Dy
53 {
54  class ArticulationV;
55  typedef size_t ArticulationLinkHandle;
56 }
57 
58 namespace Sc
59 {
60  class ShapeInteraction;
61 }
62 
64 {
65  PX_ALIGN(16, PxVec3) linearVelocity;
68 
70 
72 
73  PxSolverBody() : linearVelocity(0.f), maxSolverNormalProgress(0), maxSolverFrictionProgress(0), angularState(0), solverProgress(0)
74  {
75  }
76 };
77 
79 
81 {
82  PX_ALIGN(16, PxVec3 linearVelocity);
93 
94  PX_FORCE_INLINE PxReal projectVelocity(const PxVec3& lin, const PxVec3& ang) const
95  {
96  return linearVelocity.dot(lin) + angularVelocity.dot(ang);
97  }
98 };
99 
100 //----------------------------------
101 /*
102 * A header that defines the size of a specific batch of constraints (of same type and without dependencies)
103 */
105 {
109 };
110 
112 {
113  static const PxU16 NO_LINK = 0xffff;
114 
116  {
118  eJOINT_CONSTRAINT
119  };
120 
121  union
122  {
125  Dy::ArticulationV* articulationA;
126 
127  };
128 
129  union
130  {
133  Dy::ArticulationV* articulationB;
134  };
142  void* writeBack;
143 };
144 
146 {
148  {
149  eDYNAMIC_BODY = 1 << 0,
150  eSTATIC_BODY = 1 << 1,
151  eKINEMATIC_BODY = 1 << 2,
152  eARTICULATION = 1 << 3
153  };
154 
156 
158 
161 
164 
167 
170 };
171 
173 {
174  PX_ALIGN(16, Px1DConstraint* rows);
176 
177  PxReal linBreakForce, angBreakForce;
179  void* writeback;
184 
186 };
187 
189 {
190  PX_ALIGN(16, Sc::ShapeInteraction* shapeInteraction);
191  Gu::ContactPoint* contacts;
193 
197 
200 
203 
205 
208 
212 
213  PxU8 pad[16 - sizeof(void*)];
214 };
215 
217 {
218 public:
224  virtual PxU8* reserveConstraintData(const PxU32 byteSize) = 0;
225 
232  virtual PxU8* reserveFrictionData(const PxU32 byteSize) = 0;
233 
235 };
236 
238 {
239  enum Enum
240  {
241  eTWIST = 0,
242  eSWING1 = 1,
243  eSWING2 = 2,
244  eX = 3,
245  eY = 4,
246  eZ = 5,
247  eCOUNT = 6
248  };
249 };
250 
251 PX_FLAGS_OPERATORS(PxArticulationAxis::Enum, PxU8)
252 
254 {
255  enum Enum
256  {
257  eLOCKED = 0,
258  eLIMITED = 1,
259  eFREE = 2
260  };
261 };
262 
264 PX_FLAGS_OPERATORS(PxArticulationMotion::Enum, PxU8)
265 
267 {
268  enum Enum
269  {
270  ePRISMATIC = 0,
271  eREVOLUTE = 1,
272  eSPHERICAL = 2,
273  eFIX = 3,
274  eUNDEFINED = 4
275  };
276 };
277 
279 {
280  enum Enum
281  {
282  eFIX_BASE = (1 << 0)
283  };
284 };
285 
287 PX_FLAGS_OPERATORS(PxArticulationFlag::Enum, PxU8)
288 
290 {
291  enum Enum
292  {
293  eFORCE = 0,
294  eACCELERATION = 1
295  };
296 };
297 
299 {
300  PxReal low, high;
301 };
302 
304 {
307 };
308 
309 
311 {
312  PX_ALIGN(16, PxVec3) linearVelocity; //12
313  PxU16 nbStaticInteractions; //14 Used to accumulate the number of static interactions
314  PxU16 maxDynamicPartition; //16 Used to accumualte the max partition of dynamic interactions
316  PxU32 partitionMask; //32 Used in partitioning as a bit-field
321  bool isKinematic; //63
322  PxU8 pad; //64
323 
324  PX_FORCE_INLINE PxReal projectVelocity(const PxVec3& lin, const PxVec3& ang) const
325  {
326  return linearVelocity.dot(lin) + angularVelocity.dot(ang);
327  }
328 
329 };
330 
331 //Needed only by prep, integration and 1D constraints
333 {
336 };
337 
339 {
340  PX_ALIGN(16, PxVec3) originalLinearVelocity;
344 
349 
350  PxReal projectVelocity(const PxVec3& linear, const PxVec3& angular) const
351  {
352  return originalLinearVelocity.dot(linear) + originalAngularVelocity.dot(angular);
353  }
354 };
355 
357 {
359 
361 
364 
367 
370 
373 
376 
377 };
378 
380 {
383 
384  PxReal linBreakForce, angBreakForce;
386  void* writeback;
391 
395 };
396 
397 
399 {
400 
401  Sc::ShapeInteraction* shapeInteraction;
402  Gu::ContactPoint* contacts;
404 
408 
411 
414 
416 
419 
423 
425 
428 };
429 
430 #if !PX_DOXYGEN
431 }
432 #endif
433 
434 #if PX_VC
435 #pragma warning(pop)
436 #endif
437 
438 #endif
439 
Definition: GuContactBuffer.h:37
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_SOLVER_DEFS_H
31 #define PX_SOLVER_DEFS_H
32 
33 #include "PxPhysXConfig.h"
34 #include "foundation/PxVec3.h"
35 #include "foundation/PxMat33.h"
36 #include "foundation/PxTransform.h"
37 #include "PxConstraintDesc.h"
39 
40 #if PX_VC
41 #pragma warning(push)
42 #pragma warning(disable : 4324) // structure was padded due to alignment
43 #endif
44 
45 #if !PX_DOXYGEN
46 namespace physx
47 {
48 #endif
49 
50 struct PxTGSSolverBodyVel;
51 
52 namespace Dy
53 {
54  class ArticulationV;
55  typedef size_t ArticulationLinkHandle;
56 }
57 
58 namespace Sc
59 {
60  class ShapeInteraction;
61 }
62 
64 {
65  PX_ALIGN(16, PxVec3) linearVelocity;
68 
70 
72 
73  PxSolverBody() : linearVelocity(0.f), maxSolverNormalProgress(0), maxSolverFrictionProgress(0), angularState(0), solverProgress(0)
74  {
75  }
76 };
77 
79 
81 {
82  PX_ALIGN(16, PxVec3 linearVelocity);
93 
94  PX_FORCE_INLINE PxReal projectVelocity(const PxVec3& lin, const PxVec3& ang) const
95  {
96  return linearVelocity.dot(lin) + angularVelocity.dot(ang);
97  }
98 };
99 
100 //----------------------------------
101 /*
102 * A header that defines the size of a specific batch of constraints (of same type and without dependencies)
103 */
105 {
109 };
110 
112 {
113  static const PxU16 NO_LINK = 0xffff;
114 
116  {
118  eJOINT_CONSTRAINT
119  };
120 
121  union
122  {
125  Dy::ArticulationV* articulationA;
126 
127  };
128 
129  union
130  {
133  Dy::ArticulationV* articulationB;
134  };
142  void* writeBack;
143 };
144 
146 {
148  {
149  eDYNAMIC_BODY = 1 << 0,
150  eSTATIC_BODY = 1 << 1,
151  eKINEMATIC_BODY = 1 << 2,
152  eARTICULATION = 1 << 3
153  };
154 
156 
158 
161 
164 
167 
170 };
171 
173 {
174  PX_ALIGN(16, Px1DConstraint* rows);
176 
177  PxReal linBreakForce, angBreakForce;
179  void* writeback;
184 
186 };
187 
189 {
190  PX_ALIGN(16, Sc::ShapeInteraction* shapeInteraction);
191  Gu::ContactPoint* contacts;
193 
197 
200 
203 
205 
208 
212 
213  PxU8 pad[16 - sizeof(void*)];
214 };
215 
217 {
218 public:
224  virtual PxU8* reserveConstraintData(const PxU32 byteSize) = 0;
225 
232  virtual PxU8* reserveFrictionData(const PxU32 byteSize) = 0;
233 
235 };
236 
238 {
239  enum Enum
240  {
241  eTWIST = 0,
242  eSWING1 = 1,
243  eSWING2 = 2,
244  eX = 3,
245  eY = 4,
246  eZ = 5,
247  eCOUNT = 6
248  };
249 };
250 
251 PX_FLAGS_OPERATORS(PxArticulationAxis::Enum, PxU8)
252 
254 {
255  enum Enum
256  {
257  eLOCKED = 0,
258  eLIMITED = 1,
259  eFREE = 2
260  };
261 };
262 
264 PX_FLAGS_OPERATORS(PxArticulationMotion::Enum, PxU8)
265 
267 {
268  enum Enum
269  {
270  ePRISMATIC = 0,
271  eREVOLUTE = 1,
272  eSPHERICAL = 2,
273  eFIX = 3,
274  eUNDEFINED = 4
275  };
276 };
277 
279 {
280  enum Enum
281  {
282  eFIX_BASE = (1 << 0),
283  eDRIVE_LIMITS_ARE_FORCES = (1<<1)
284  };
285 };
286 
288 PX_FLAGS_OPERATORS(PxArticulationFlag::Enum, PxU8)
289 
291 {
292  enum Enum
293  {
294  eFORCE = 0,
295  eACCELERATION = 1,
296  eTARGET = 2,
297  eVELOCITY = 3,
298  eNONE = 4
299  };
300 };
301 
303 {
304  PxReal low, high;
305 };
306 
308 {
311 };
312 
313 
315 {
316  PX_ALIGN(16, PxVec3) linearVelocity; //12
317  PxU16 nbStaticInteractions; //14 Used to accumulate the number of static interactions
318  PxU16 maxDynamicPartition; //16 Used to accumualte the max partition of dynamic interactions
320  PxU32 partitionMask; //32 Used in partitioning as a bit-field
325  bool isKinematic; //63
326  PxU8 pad; //64
327 
328  PX_FORCE_INLINE PxReal projectVelocity(const PxVec3& lin, const PxVec3& ang) const
329  {
330  return linearVelocity.dot(lin) + angularVelocity.dot(ang);
331  }
332 
333 };
334 
335 //Needed only by prep, integration and 1D constraints
337 {
340 };
341 
343 {
344  PX_ALIGN(16, PxVec3) originalLinearVelocity;
348 
353 
355  {
356  return originalLinearVelocity.dot(linear) + originalAngularVelocity.dot(angular);
357  }
358 };
359 
361 {
363 
365 
368 
371 
374 
377 
380 
381 };
382 
384 {
387 
388  PxReal linBreakForce, angBreakForce;
390  void* writeback;
395 
399 };
400 
401 
403 {
404 
405  Sc::ShapeInteraction* shapeInteraction;
406  Gu::ContactPoint* contacts;
408 
412 
415 
418 
420 
423 
427 
429 
432 };
433 
434 #if !PX_DOXYGEN
435 }
436 #endif
437 
438 #if PX_VC
439 #pragma warning(pop)
440 #endif
441 
442 #endif
443 
Definition: GuContactBuffer.h:37
PxVec3 angularState
Delta angular velocity state computed by the solver.
Definition: PxSolverDefs.h:69
-
PxU8 * frictionPtr
InOut: Friction patch correlation data. Set each frame by solver. Can be retained for improved behavi...
Definition: PxSolverDefs.h:412
+
PxU8 * frictionPtr
InOut: Friction patch correlation data. Set each frame by solver. Can be retained for improved behavi...
Definition: PxSolverDefs.h:416
PxU16 pad
112 pad
Definition: PxSolverDefs.h:92
BodyState bodyState0
In: Defines what kind of actor the first body is.
Definition: PxSolverDefs.h:168
-
Definition: PxSolverDefs.h:298
+
Definition: PxSolverDefs.h:302
void * writeback
Pointer to constraint writeback structure. Reports back joint breaking. If not required, set to NULL.
Definition: PxSolverDefs.h:179
size_t ArticulationLinkHandle
Definition: PxSolverDefs.h:54
PxU8 frictionCount
The total number of friction patches in this pair.
Definition: PxSolverDefs.h:202
PxU32 numFrictionPatches
Total number of friction patches in this pair. Set by friction correlation.
Definition: PxSolverDefs.h:207
PxU16 linkIndexB
Link index defining which link in Articulation B this constraint affects. If not an articulation...
Definition: PxSolverDefs.h:136
-
Definition: PxSolverDefs.h:398
+
Definition: PxSolverDefs.h:402
PxU16 stride
Number of constraints in this batch (range: 1-4)
Definition: PxSolverDefs.h:107
-
PxReal maxCCDSeparation
A distance used to configure speculative CCD behavior. Default is PX_MAX_F32. Set internally in PhysX...
Definition: PxSolverDefs.h:410
-
PxU32 numRows
The number of rows.
Definition: PxSolverDefs.h:382
-
PxU32 numFrictionPatches
Total number of friction patches in this pair. Set by friction correlation.
Definition: PxSolverDefs.h:418
+
PxReal maxCCDSeparation
A distance used to configure speculative CCD behavior. Default is PX_MAX_F32. Set internally in PhysX...
Definition: PxSolverDefs.h:414
+
PxU32 numRows
The number of rows.
Definition: PxSolverDefs.h:386
+
PxU32 numFrictionPatches
Total number of friction patches in this pair. Set by friction correlation.
Definition: PxSolverDefs.h:422
Definition: PxSolverDefs.h:172
PxU32 bodyBDataIndex
Body B&#39;s index into the SolverBodyData array.
Definition: PxSolverDefs.h:138
Definition: PxSolverDefs.h:80
Definition: PxSolverDefs.h:237
PxU32 startFrictionPatchIndex
Start index of friction patch in the correlation buffer. Set by friction correlation.
Definition: PxSolverDefs.h:206
-
Enum
Definition: PxSolverDefs.h:291
-
Definition: PxSolverDefs.h:303
+
Enum
Definition: PxSolverDefs.h:292
+
Definition: PxSolverDefs.h:307
bool hasForceThresholds
Defines whether this pair requires force thresholds.
Definition: PxSolverDefs.h:196
-
PxU8 frictionCount
The total number of friction patches in this pair.
Definition: PxSolverDefs.h:413
-
bool hasMaxImpulse
Defines whether this pairs has maxImpulses clamping enabled.
Definition: PxSolverDefs.h:405
+
PxU8 frictionCount
The total number of friction patches in this pair.
Definition: PxSolverDefs.h:417
+
bool hasMaxImpulse
Defines whether this pairs has maxImpulses clamping enabled.
Definition: PxSolverDefs.h:409
BodyState
Definition: PxSolverDefs.h:147
PxU16 linkIndexA
Link index defining which link in Articulation A this constraint affects. If not an articulation...
Definition: PxSolverDefs.h:135
-
bool extendedLimits
Indiciates whether extended limits are used.
Definition: PxSolverDefs.h:390
+
bool extendedLimits
Indiciates whether extended limits are used.
Definition: PxSolverDefs.h:394
PX_CUDA_CALLABLE PX_FORCE_INLINE float dot(const PxVec3 &v) const
returns the scalar product of this and other.
Definition: PxVec3.h:276
PxReal penBiasClamp
72 the penetration bias clamp
Definition: PxSolverDefs.h:87
-
PxReal maxImpulse
Definition: PxSolverDefs.h:424
+
PxReal maxImpulse
Definition: PxSolverDefs.h:428
#define PX_FORCE_INLINE
Definition: PxPreprocessor.h:346
float PxReal
Definition: PxSimpleTypes.h:78
-
Definition: PxSolverDefs.h:338
-
Definition: PxSolverDefs.h:332
+
Definition: PxSolverDefs.h:342
+
Definition: PxSolverDefs.h:336
PxU8 * frictionPtr
InOut: Friction patch correlation data. Set each frame by solver. Can be retained for improved behavi...
Definition: PxSolverDefs.h:201
Definition: PxSolverDefs.h:52
-
PxTransform bodyFrame0
In: The world-space transform of the first body.
Definition: PxSolverDefs.h:371
-
PxVec3 cB2w
Location of anchor point B in world space.
Definition: PxSolverDefs.h:394
+
PxTransform bodyFrame0
In: The world-space transform of the first body.
Definition: PxSolverDefs.h:375
+
PxVec3 cB2w
Location of anchor point B in world space.
Definition: PxSolverDefs.h:398
PxU16 constraintType
The type of constraint this batch references.
Definition: PxSolverDefs.h:108
BodyState bodyState1
In: Defines what kind of actor the second body is.
Definition: PxSolverDefs.h:169
PxU16 numContactPatches
Total number of contact patches.
Definition: PxSolverDefs.h:210
PxTGSSolverBodyVel * tgsBodyB
BodyB pointer.
Definition: PxSolverDefs.h:132
-
bool disableStrongFriction
Defines whether this pair disables strong friction (sticky friction correlation)
Definition: PxSolverDefs.h:406
+
bool disableStrongFriction
Defines whether this pair disables strong friction (sticky friction correlation)
Definition: PxSolverDefs.h:410
PxVec3 body0WorldOffset
Body0 world offset.
Definition: PxSolverDefs.h:185
Enum
Definition: PxSolverDefs.h:255
Defines this pair is a contact constraint.
Definition: PxSolverDefs.h:117
-
PxConstraintInvMassScale invMassScales
In: The local mass scaling for this pair.
Definition: PxSolverDefs.h:358
+
PxConstraintInvMassScale invMassScales
In: The local mass scaling for this pair.
Definition: PxSolverDefs.h:362
-
PxU16 nbStaticInteractions
Definition: PxSolverDefs.h:313
+
PxU16 nbStaticInteractions
Definition: PxSolverDefs.h:317
Definition: PxSolverDefs.h:278
-
PxTransform bodyFrame1
In: The world-space transform of the second body.
Definition: PxSolverDefs.h:372
+
PxTransform bodyFrame1
In: The world-space transform of the second body.
Definition: PxSolverDefs.h:376
Definition: PxSolverDefs.h:216
-
PxReal penBiasClamp
Definition: PxSolverDefs.h:343
+
PxReal penBiasClamp
Definition: PxSolverDefs.h:347
A constraint.
Definition: PxConstraintDesc.h:141
-
Gu::ContactPoint * contacts
The start of the contacts for this pair.
Definition: PxSolverDefs.h:402
-
PxReal reportThreshold
Definition: PxSolverDefs.h:347
-
PxVec3 deltaAngDt
Definition: PxSolverDefs.h:317
+
Gu::ContactPoint * contacts
The start of the contacts for this pair.
Definition: PxSolverDefs.h:406
+
PxReal reportThreshold
Definition: PxSolverDefs.h:351
+
PxVec3 deltaAngDt
Definition: PxSolverDefs.h:321
PxReal maxContactImpulse
80 the max contact impulse
Definition: PxSolverDefs.h:89
-
PxU16 lockFlags
Definition: PxSolverDefs.h:320
+
PxU16 lockFlags
Definition: PxSolverDefs.h:324
const PxSolverBody * body1
In: The second body. Stores velocity information. Unused unless contact involves articulations.
Definition: PxSolverDefs.h:160
PxSolverBody * bodyA
bodyA pointer
Definition: PxSolverDefs.h:123
-
PxSolverConstraintDesc * desc
Output: The PxSolverConstraintDesc filled in by contact prep.
Definition: PxSolverDefs.h:360
+
PxSolverConstraintDesc * desc
Output: The PxSolverConstraintDesc filled in by contact prep.
Definition: PxSolverDefs.h:364
PxTGSSolverBodyVel * tgsBodyA
bodyA pointer
Definition: PxSolverDefs.h:124
-
Px1DConstraint * rows
The start of the constraint rows.
Definition: PxSolverDefs.h:381
+
Px1DConstraint * rows
The start of the constraint rows.
Definition: PxSolverDefs.h:385
bool disableStrongFriction
Defines whether this pair disables strong friction (sticky friction correlation)
Definition: PxSolverDefs.h:195
PxReal invMass
16 inverse mass
Definition: PxSolverDefs.h:83
PxU16 lockFlags
110 lock flags
Definition: PxSolverDefs.h:91
PxU32 numContacts
The total number of contacs this pair references.
Definition: PxSolverDefs.h:192
-
PxReal maxContactImpulse
Definition: PxSolverDefs.h:341
-
const PxTGSSolverBodyData * bodyData0
Definition: PxSolverDefs.h:368
+
PxReal maxContactImpulse
Definition: PxSolverDefs.h:345
+
const PxTGSSolverBodyData * bodyData0
Definition: PxSolverDefs.h:372
Definition: PxConstraintDesc.h:189
-
PxReal * contactForces
Out: A buffer for the solver to write applied contact forces to.
Definition: PxSolverDefs.h:415
-
PxU32 nodeIndex
Definition: PxSolverDefs.h:346
+
PxReal * contactForces
Out: A buffer for the solver to write applied contact forces to.
Definition: PxSolverDefs.h:419
+
PxU32 nodeIndex
Definition: PxSolverDefs.h:350
Definition: PxSolverDefs.h:266
-
PxVec3 cA2w
Location of anchor point A in world space.
Definition: PxSolverDefs.h:393
+
PxVec3 cA2w
Location of anchor point A in world space.
Definition: PxSolverDefs.h:397
PxU16 axisConstraintCount
Axis constraint count. Defines how many constraint rows this pair has produced. Useful for statistica...
Definition: PxSolverDefs.h:211
PxSolverBody()
Definition: PxSolverDefs.h:73
-
const PxTGSSolverBodyVel * body1
In: The second body. Stores velocity information. Unused unless contact involves articulations.
Definition: PxSolverDefs.h:363
+
const PxTGSSolverBodyVel * body1
In: The second body. Stores velocity information. Unused unless contact involves articulations.
Definition: PxSolverDefs.h:367
bool improvedSlerp
Use improved slerp model.
Definition: PxSolverDefs.h:181
-
Definition: PxSolverDefs.h:310
-
PxU32 startContactPatchIndex
The start index of this pair&#39;s contact patches in the correlation buffer. For internal use only...
Definition: PxSolverDefs.h:420
-
PxU16 maxDynamicPartition
Definition: PxSolverDefs.h:314
-
PxReal low
Definition: PxSolverDefs.h:300
+
Definition: PxSolverDefs.h:314
+
PxU32 startContactPatchIndex
The start index of this pair&#39;s contact patches in the correlation buffer. For internal use only...
Definition: PxSolverDefs.h:424
+
PxU16 maxDynamicPartition
Definition: PxSolverDefs.h:318
+
PxReal low
Definition: PxSolverDefs.h:304
PxU32 startContactPatchIndex
The start index of this pair&#39;s contact patches in the correlation buffer. For internal use only...
Definition: PxSolverDefs.h:209
-
PxVec3 deltaLinDt
Definition: PxSolverDefs.h:319
-
bool isKinematic
Definition: PxSolverDefs.h:321
+
PxVec3 deltaLinDt
Definition: PxSolverDefs.h:323
+
PxVec3 angular
Definition: PxArticulationReducedCoordinate.h:134
+
bool isKinematic
Definition: PxSolverDefs.h:325
PxFlags< PxArticulationMotion::Enum, PxU8 > PxArticulationMotions
Definition: PxSolverDefs.h:263
virtual ~PxConstraintAllocator()
Definition: PxSolverDefs.h:234
PxSolverConstraintDesc * desc
Output: The PxSolverConstraintDesc filled in by contact prep.
Definition: PxSolverDefs.h:157
-
PxReal invMass
Definition: PxSolverDefs.h:345
-
PxReal minResponseThreshold
The minimum response threshold.
Definition: PxSolverDefs.h:385
-
PxU32 startFrictionPatchIndex
Start index of friction patch in the correlation buffer. Set by friction correlation.
Definition: PxSolverDefs.h:417
-
PxU16 axisConstraintCount
Axis constraint count. Defines how many constraint rows this pair has produced. Useful for statistica...
Definition: PxSolverDefs.h:422
+
PxReal invMass
Definition: PxSolverDefs.h:349
+
PxReal minResponseThreshold
The minimum response threshold.
Definition: PxSolverDefs.h:389
+
PxU32 startFrictionPatchIndex
Start index of friction patch in the correlation buffer. Set by friction correlation.
Definition: PxSolverDefs.h:421
+
PxU16 axisConstraintCount
Axis constraint count. Defines how many constraint rows this pair has produced. Useful for statistica...
Definition: PxSolverDefs.h:426
PxU16 writeBackLengthOver4
writeBackLength/4, max writeback length is 256K, allows PxSolverConstraintDesc to fit in 32 bytes ...
Definition: PxSolverDefs.h:139
-
bool disablePreprocessing
Disable joint pre-processing. Pre-processing can improve stability but under certain circumstances...
Definition: PxSolverDefs.h:387
-
PxU32 partitionMask
Definition: PxSolverDefs.h:316
+
bool disablePreprocessing
Disable joint pre-processing. Pre-processing can improve stability but under certain circumstances...
Definition: PxSolverDefs.h:391
+
PxU32 partitionMask
Definition: PxSolverDefs.h:320
Definition: PxSolverDefs.h:58
bool driveLimitsAreForces
Indicates whether drive limits are forces.
Definition: PxSolverDefs.h:182
bool hasMaxImpulse
Defines whether this pairs has maxImpulses clamping enabled.
Definition: PxSolverDefs.h:194
-
const PxTGSSolverBodyVel * body0
In: The first body. Stores velocity information. Unused unless contact involves articulations.
Definition: PxSolverDefs.h:362
+
const PxTGSSolverBodyVel * body0
In: The first body. Stores velocity information. Unused unless contact involves articulations.
Definition: PxSolverDefs.h:366
PxTransform bodyFrame0
In: The world-space transform of the first body.
Definition: PxSolverDefs.h:165
-
PxVec3 body0WorldOffset
Body0 world offset.
Definition: PxSolverDefs.h:392
-
PxU8 pad
Definition: PxSolverDefs.h:322
+
PxVec3 body0WorldOffset
Body0 world offset.
Definition: PxSolverDefs.h:396
+
PxU8 pad
Definition: PxSolverDefs.h:326
PxU32 startIndex
Start index for this batch.
Definition: PxSolverDefs.h:106
-
PX_FORCE_INLINE PxReal projectVelocity(const PxVec3 &lin, const PxVec3 &ang) const
Definition: PxSolverDefs.h:324
-
PxReal projectVelocity(const PxVec3 &linear, const PxVec3 &angular) const
Definition: PxSolverDefs.h:350
-
bool improvedSlerp
Use improved slerp model.
Definition: PxSolverDefs.h:388
+
PX_FORCE_INLINE PxReal projectVelocity(const PxVec3 &lin, const PxVec3 &ang) const
Definition: PxSolverDefs.h:328
+
PxReal projectVelocity(const PxVec3 &linear, const PxVec3 &angular) const
Definition: PxSolverDefs.h:354
+
bool improvedSlerp
Use improved slerp model.
Definition: PxSolverDefs.h:392
uint8_t PxU8
Definition: PxSimpleTypes.h:75
-
PxReal minTorsionalPatchRadius
Definition: PxSolverDefs.h:427
+
PxReal minTorsionalPatchRadius
Definition: PxSolverDefs.h:431
PxReal damping
damping parameter, for spring constraints
Definition: PxConstraintDesc.h:100
-
PxU16 numContactPatches
Total number of contact patches.
Definition: PxSolverDefs.h:421
+
PxU16 numContactPatches
Total number of contact patches.
Definition: PxSolverDefs.h:425
class representing a rigid euclidean transform as a quaternion and a vector
Definition: PxTransform.h:48
-
PxVec3 angularVelocity
Definition: PxSolverDefs.h:315
+
PxVec3 angularVelocity
Definition: PxSolverDefs.h:319
Definition: PxSolverDefs.h:188
-
PxTransform deltaBody2World
Definition: PxSolverDefs.h:334
-
PxReal linBreakForce
Definition: PxSolverDefs.h:384
-
PxArticulationDriveType::Enum driveType
Definition: PxSolverDefs.h:306
+
PxTransform deltaBody2World
Definition: PxSolverDefs.h:338
+
PxReal linBreakForce
Definition: PxSolverDefs.h:388
+
PxArticulationDriveType::Enum driveType
Definition: PxSolverDefs.h:310
ConstraintType
Definition: PxSolverDefs.h:115
-
PxMat33 sqrtInvInertia
Definition: PxSolverDefs.h:335
+
PxMat33 sqrtInvInertia
Definition: PxSolverDefs.h:339
Definition: PxSolverDefs.h:145
-
PxSolverContactDesc::BodyState bodyState0
In: Defines what kind of actor the first body is.
Definition: PxSolverDefs.h:374
-
Definition: PxSolverDefs.h:356
+
PxSolverContactDesc::BodyState bodyState0
In: Defines what kind of actor the first body is.
Definition: PxSolverDefs.h:378
+
Definition: PxSolverDefs.h:360
PxU16 constraintLengthOver16
constraintLength/16, max constraint length is 1MB, allows PxSolverConstraintDesc to fit in 32 bytes ...
Definition: PxSolverDefs.h:140
-
const PxTGSSolverBodyTxInertia * body1TxI
Definition: PxSolverDefs.h:366
+
const PxTGSSolverBodyTxInertia * body1TxI
Definition: PxSolverDefs.h:370
PxReal linBreakForce
Definition: PxSolverDefs.h:177
3x3 matrix class
Definition: PxMat33.h:90
PxU8 * constraint
Pointer to the constraint rows to be solved.
Definition: PxSolverDefs.h:141
@@ -221,33 +222,34 @@
PxU32 nodeIndex
76 the node idx of this solverBodyData. Used by solver to reference between solver bodies and island ...
Definition: PxSolverDefs.h:88
PxVec3 angularVelocity
28 Pre-solver angular velocity
Definition: PxSolverDefs.h:84
PX_COMPILE_TIME_ASSERT(sizeof(PxSolverBody)==32)
-
PxU32 numContacts
The total number of contacs this pair references.
Definition: PxSolverDefs.h:403
+
PxU32 numContacts
The total number of contacs this pair references.
Definition: PxSolverDefs.h:407
PxConstraintInvMassScale invMassScales
In: The local mass scaling for this pair.
Definition: PxSolverDefs.h:155
-
PxFlags< PxArticulationFlag::Enum, PxU8 > PxArticulationFlags
Definition: PxSolverDefs.h:286
-
Definition: PxSolverDefs.h:289
+
PxFlags< PxArticulationFlag::Enum, PxU8 > PxArticulationFlags
Definition: PxSolverDefs.h:287
+
Definition: PxSolverDefs.h:290
PxSolverBody * bodyB
BodyB pointer.
Definition: PxSolverDefs.h:131
+
PxVec3 linear
Definition: PxArticulationReducedCoordinate.h:132
PxReal restDistance
A distance at which the solver should aim to hold the bodies separated. Default is 0...
Definition: PxSolverDefs.h:198
PxU16 maxSolverFrictionProgress
Progress counter used by constraint batching and parallel island solver.
Definition: PxSolverDefs.h:67
-
PxVec3 originalAngularVelocity
Definition: PxSolverDefs.h:342
+
PxVec3 originalAngularVelocity
Definition: PxSolverDefs.h:346
-
void * writeback
Pointer to constraint writeback structure. Reports back joint breaking. If not required, set to NULL.
Definition: PxSolverDefs.h:386
+
void * writeback
Pointer to constraint writeback structure. Reports back joint breaking. If not required, set to NULL.
Definition: PxSolverDefs.h:390
PxTransform bodyFrame1
In: The world-space transform of the second body.
Definition: PxSolverDefs.h:166
-
PxReal maxAngVel
Definition: PxSolverDefs.h:318
+
PxReal maxAngVel
Definition: PxSolverDefs.h:322
PxU32 solverProgress
Progress counter used by constraint batching and parallel island solver.
Definition: PxSolverDefs.h:71
-
PxU32 pad
Definition: PxSolverDefs.h:348
+
PxU32 pad
Definition: PxSolverDefs.h:352
const PxSolverBody * body0
In: The first body. Stores velocity information. Unused unless contact involves articulations.
Definition: PxSolverDefs.h:159
#define PX_ALIGN(alignment, decl)
Definition: PxPreprocessor.h:403
-
bool driveLimitsAreForces
Indicates whether drive limits are forces.
Definition: PxSolverDefs.h:389
+
bool driveLimitsAreForces
Indicates whether drive limits are forces.
Definition: PxSolverDefs.h:393
bool disablePreprocessing
Disable joint pre-processing. Pre-processing can improve stability but under certain circumstances...
Definition: PxSolverDefs.h:180
-
PxReal torsionalPatchRadius
Definition: PxSolverDefs.h:426
+
PxReal torsionalPatchRadius
Definition: PxSolverDefs.h:430
Enum
Definition: PxSolverDefs.h:268
bool extendedLimits
Indicates whether we want to use extended limits.
Definition: PxSolverDefs.h:183
-
bool hasForceThresholds
Defines whether this pair requires force thresholds.
Definition: PxSolverDefs.h:407
+
bool hasForceThresholds
Defines whether this pair requires force thresholds.
Definition: PxSolverDefs.h:411
PxMat33 sqrtInvInertia
68 inverse inertia in world space
Definition: PxSolverDefs.h:86
-
Sc::ShapeInteraction * shapeInteraction
Pointer to share interaction. Used for force threshold reports in solver. Set to NULL if using immedi...
Definition: PxSolverDefs.h:401
-
const PxTGSSolverBodyTxInertia * body0TxI
Definition: PxSolverDefs.h:365
+
Sc::ShapeInteraction * shapeInteraction
Pointer to share interaction. Used for force threshold reports in solver. Set to NULL if using immedi...
Definition: PxSolverDefs.h:405
+
const PxTGSSolverBodyTxInertia * body0TxI
Definition: PxSolverDefs.h:369
Container for bitfield flag variables associated with a specific enum type.
Definition: PxFlags.h:73
PxU16 maxSolverNormalProgress
Progress counter used by constraint batching and parallel island solver.
Definition: PxSolverDefs.h:66
Definition: PxSolverDefs.h:111
@@ -255,13 +257,13 @@
const PxSolverBodyData * data1
In: The second PxSolverBodyData. Stores mass and miscellaneous information for the second body...
Definition: PxSolverDefs.h:163
PxTransform body2World
108 the body&#39;s transform
Definition: PxSolverDefs.h:90
PxReal maxCCDSeparation
A distance used to configure speculative CCD behavior. Default is PX_MAX_F32. Set internally in PhysX...
Definition: PxSolverDefs.h:199
-
const PxTGSSolverBodyData * bodyData1
Definition: PxSolverDefs.h:369
+
const PxTGSSolverBodyData * bodyData1
Definition: PxSolverDefs.h:373
uint16_t PxU16
Definition: PxSimpleTypes.h:73
uint32_t PxU32
Definition: Px.h:48
PxReal reportThreshold
32 contact force threshold
Definition: PxSolverDefs.h:85
Dy::ArticulationV * articulationA
Articulation pointer for body A.
Definition: PxSolverDefs.h:125
Enum
Definition: PxSolverDefs.h:239
-
Definition: PxSolverDefs.h:379
+
Definition: PxSolverDefs.h:383
Enum
Definition: PxSolverDefs.h:280
PxReal minResponseThreshold
The minimum response threshold.
Definition: PxSolverDefs.h:178
PX_FORCE_INLINE PxReal projectVelocity(const PxVec3 &lin, const PxVec3 &ang) const
Definition: PxSolverDefs.h:94
@@ -269,10 +271,10 @@
const PxSolverBodyData * data0
In: The first PxSolverBodyData. Stores mass and miscellaneous information for the first body...
Definition: PxSolverDefs.h:162
Definition: PxSolverDefs.h:253
PxU32 bodyADataIndex
Body A&#39;s index into the SolverBodyData array.
Definition: PxSolverDefs.h:137
-
PxSolverContactDesc::BodyState bodyState1
In: Defines what kind of actor the second body is.
Definition: PxSolverDefs.h:375
+
PxSolverContactDesc::BodyState bodyState1
In: Defines what kind of actor the second body is.
Definition: PxSolverDefs.h:379
3 Element vector class.
Definition: PxVec3.h:49
-
PxReal restDistance
A distance at which the solver should aim to hold the bodies separated. Default is 0...
Definition: PxSolverDefs.h:409
-
PxReal stiffness
Definition: PxSolverDefs.h:305
+
PxReal restDistance
A distance at which the solver should aim to hold the bodies separated. Default is 0...
Definition: PxSolverDefs.h:413
+
PxReal stiffness
Definition: PxSolverDefs.h:309
Dy::ArticulationV * articulationB
Articulation pointer for body B.
Definition: PxSolverDefs.h:133
void * writeBack
Pointer to the writeback structure results for this given constraint are to be written to...
Definition: PxSolverDefs.h:142
Definition: PxSolverDefs.h:104
diff --git a/physx/documentation/PhysXAPI/files/PxStrideIterator_8h.html b/physx/documentation/PhysXAPI/files/PxStrideIterator_8h.html index 3bed22f50..c37688510 100644 --- a/physx/documentation/PhysXAPI/files/PxStrideIterator_8h.html +++ b/physx/documentation/PhysXAPI/files/PxStrideIterator_8h.html @@ -129,7 +129,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxStrideIterator_8h_source.html b/physx/documentation/PhysXAPI/files/PxStrideIterator_8h_source.html index f967989b7..a193d6a7f 100644 --- a/physx/documentation/PhysXAPI/files/PxStrideIterator_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxStrideIterator_8h_source.html @@ -131,7 +131,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxTransform_8h.html b/physx/documentation/PhysXAPI/files/PxTransform_8h.html index 9067e72bc..b60a2d3b0 100644 --- a/physx/documentation/PhysXAPI/files/PxTransform_8h.html +++ b/physx/documentation/PhysXAPI/files/PxTransform_8h.html @@ -95,55 +95,55 @@
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -161,7 +161,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxTransform_8h__dep__incl.map b/physx/documentation/PhysXAPI/files/PxTransform_8h__dep__incl.map index 9548798b3..21fbaf0fa 100644 --- a/physx/documentation/PhysXAPI/files/PxTransform_8h__dep__incl.map +++ b/physx/documentation/PhysXAPI/files/PxTransform_8h__dep__incl.map @@ -1,51 +1,51 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/physx/documentation/PhysXAPI/files/PxTransform_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxTransform_8h__dep__incl.md5 index 23c3d0c2d..bf0ec2e22 100644 --- a/physx/documentation/PhysXAPI/files/PxTransform_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxTransform_8h__dep__incl.md5 @@ -1 +1 @@ -7d0df92663eeda6d4e7f474b7ad72643 \ No newline at end of file +b99f816de12662f55113dfcf3ebe6c95 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxTransform_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/PxTransform_8h__dep__incl.png index 8b373773a..d5328085e 100644 Binary files a/physx/documentation/PhysXAPI/files/PxTransform_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/PxTransform_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxTransform_8h_source.html b/physx/documentation/PhysXAPI/files/PxTransform_8h_source.html index aff8161c6..2b7d27b4f 100644 --- a/physx/documentation/PhysXAPI/files/PxTransform_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxTransform_8h_source.html @@ -143,7 +143,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxTypeInfo_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxTypeInfo_8h__dep__incl.md5 index c535f9674..6e6e9dfce 100644 --- a/physx/documentation/PhysXAPI/files/PxTypeInfo_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxTypeInfo_8h__dep__incl.md5 @@ -1 +1 @@ -4a5d9484ffbe4a511a648b8889a0deb4 \ No newline at end of file +a11d4dd9263d157a6da86dc8e387d21f \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxTypeInfo_8h_source.html b/physx/documentation/PhysXAPI/files/PxTypeInfo_8h_source.html index 2fe90e438..65fe96329 100644 --- a/physx/documentation/PhysXAPI/files/PxTypeInfo_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxTypeInfo_8h_source.html @@ -114,7 +114,7 @@
Definition: PxTypeInfo.h:75
A height field class.
Definition: PxHeightField.h:85
-
a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver ...
Definition: PxArticulationReducedCoordinate.h:133
+
a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver ...
Definition: PxArticulationReducedCoordinate.h:147
A plugin class for implementing constraints.
Definition: PxConstraint.h:108
#define PX_DEFINE_TYPEINFO(_name, _fastType)
Definition: PxTypeInfo.h:93
Definition: PxTypeInfo.h:76
diff --git a/physx/documentation/PhysXAPI/files/PxUnionCast_8h.html b/physx/documentation/PhysXAPI/files/PxUnionCast_8h.html index 6dce5b5be..9f27213bb 100644 --- a/physx/documentation/PhysXAPI/files/PxUnionCast_8h.html +++ b/physx/documentation/PhysXAPI/files/PxUnionCast_8h.html @@ -148,7 +148,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxUnionCast_8h_source.html b/physx/documentation/PhysXAPI/files/PxUnionCast_8h_source.html index 7a30d623d..63687b6ad 100644 --- a/physx/documentation/PhysXAPI/files/PxUnionCast_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxUnionCast_8h_source.html @@ -97,7 +97,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxUnixIntrinsics_8h.html b/physx/documentation/PhysXAPI/files/PxUnixIntrinsics_8h.html index db90ef2f9..dd7b15efe 100644 --- a/physx/documentation/PhysXAPI/files/PxUnixIntrinsics_8h.html +++ b/physx/documentation/PhysXAPI/files/PxUnixIntrinsics_8h.html @@ -163,7 +163,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxUnixIntrinsics_8h_source.html b/physx/documentation/PhysXAPI/files/PxUnixIntrinsics_8h_source.html index 8b267d62f..538819772 100644 --- a/physx/documentation/PhysXAPI/files/PxUnixIntrinsics_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxUnixIntrinsics_8h_source.html @@ -117,7 +117,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxVec2_8h.html b/physx/documentation/PhysXAPI/files/PxVec2_8h.html index 38441eac4..1da497180 100644 --- a/physx/documentation/PhysXAPI/files/PxVec2_8h.html +++ b/physx/documentation/PhysXAPI/files/PxVec2_8h.html @@ -118,7 +118,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxVec2_8h_source.html b/physx/documentation/PhysXAPI/files/PxVec2_8h_source.html index a7840b543..68aaee20e 100644 --- a/physx/documentation/PhysXAPI/files/PxVec2_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxVec2_8h_source.html @@ -143,7 +143,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxVec3_8h.html b/physx/documentation/PhysXAPI/files/PxVec3_8h.html index 81c2367fe..89d813453 100644 --- a/physx/documentation/PhysXAPI/files/PxVec3_8h.html +++ b/physx/documentation/PhysXAPI/files/PxVec3_8h.html @@ -95,55 +95,55 @@
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -166,7 +166,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxVec3_8h__dep__incl.map b/physx/documentation/PhysXAPI/files/PxVec3_8h__dep__incl.map index 5149b02f5..2023c0fe6 100644 --- a/physx/documentation/PhysXAPI/files/PxVec3_8h__dep__incl.map +++ b/physx/documentation/PhysXAPI/files/PxVec3_8h__dep__incl.map @@ -1,51 +1,51 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/physx/documentation/PhysXAPI/files/PxVec3_8h__dep__incl.md5 b/physx/documentation/PhysXAPI/files/PxVec3_8h__dep__incl.md5 index 963e23776..8a787cf44 100644 --- a/physx/documentation/PhysXAPI/files/PxVec3_8h__dep__incl.md5 +++ b/physx/documentation/PhysXAPI/files/PxVec3_8h__dep__incl.md5 @@ -1 +1 @@ -f9ac36c29d9506df21ced2191307ead3 \ No newline at end of file +4cecff470e0cfc756e85562ada64fa5f \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxVec3_8h__dep__incl.png b/physx/documentation/PhysXAPI/files/PxVec3_8h__dep__incl.png index 28fe930ab..f1243f5e4 100644 Binary files a/physx/documentation/PhysXAPI/files/PxVec3_8h__dep__incl.png and b/physx/documentation/PhysXAPI/files/PxVec3_8h__dep__incl.png differ diff --git a/physx/documentation/PhysXAPI/files/PxVec3_8h_source.html b/physx/documentation/PhysXAPI/files/PxVec3_8h_source.html index 85e5a0aaf..7b24a1f78 100644 --- a/physx/documentation/PhysXAPI/files/PxVec3_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxVec3_8h_source.html @@ -149,7 +149,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxVec4_8h.html b/physx/documentation/PhysXAPI/files/PxVec4_8h.html index f573446b6..c0fb7f5be 100644 --- a/physx/documentation/PhysXAPI/files/PxVec4_8h.html +++ b/physx/documentation/PhysXAPI/files/PxVec4_8h.html @@ -121,7 +121,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxVec4_8h_source.html b/physx/documentation/PhysXAPI/files/PxVec4_8h_source.html index 01b54ba30..ca671c542 100644 --- a/physx/documentation/PhysXAPI/files/PxVec4_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxVec4_8h_source.html @@ -150,7 +150,7 @@ diff --git a/physx/documentation/PhysXAPI/files/PxVehicleComponents_8h_source.html b/physx/documentation/PhysXAPI/files/PxVehicleComponents_8h_source.html index 56897b107..92c01f983 100644 --- a/physx/documentation/PhysXAPI/files/PxVehicleComponents_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxVehicleComponents_8h_source.html @@ -86,7 +86,7 @@
PxVehicleComponents.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_VEHICLE_CORE_COMPONENTS_H
31 #define PX_VEHICLE_CORE_COMPONENTS_H
32 
36 #include "foundation/PxMemory.h"
37 #include "foundation/PxVec3.h"
39 #include "vehicle/PxVehicleSDK.h"
40 #include "common/PxTypeInfo.h"
41 
42 #if !PX_DOXYGEN
43 namespace physx
44 {
45 #endif
46 
48 {
49 public:
50 
52 
54  : mMOI(PxVec3(0,0,0)),
55  mMass(1500),
56  mCMOffset(PxVec3(0,0,0))
57  {
58  }
59 
66 
73 
80 
81 private:
82 
84 
85  bool isValid() const;
86 };
88 
90 {
91 public:
92 
93  friend class PxVehicleDriveSimData;
94 
95  enum
96  {
97  eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES = 8
98  };
99 
101  : mMOI(1.0f),
102  mPeakTorque(500.0f),
103  mMaxOmega(600.0f),
104  mDampingRateFullThrottle(0.15f),
105  mDampingRateZeroThrottleClutchEngaged(2.0f),
106  mDampingRateZeroThrottleClutchDisengaged(0.35f)
107  {
108  mTorqueCurve.addPair(0.0f, 0.8f);
109  mTorqueCurve.addPair(0.33f, 1.0f);
110  mTorqueCurve.addPair(1.0f, 0.8f);
111 
112  mRecipMOI=1.0f/mMOI;
113  mRecipMaxOmega=1.0f/mMaxOmega;
114  }
115 
122 
129 
140 
149 
166 
167 
184 
201 
205  PX_FORCE_INLINE PxReal getRecipMOI() const {return mRecipMOI;}
206 
210  PX_FORCE_INLINE PxReal getRecipMaxOmega() const {return mRecipMaxOmega;}
211 
212 private:
213 
222 
231 
232  bool isValid() const;
233 
234 
235 //serialization
236 public:
237  PxVehicleEngineData(const PxEMPTY) : mTorqueCurve(PxEmpty) {}
238 //~serialization
239 };
240 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleEngineData)& 0x0f));
241 
243 {
244 public:
245 
246  friend class PxVehicleDriveSimData;
247 
248  enum Enum
249  {
250  eREVERSE=0,
282  eGEARSRATIO_COUNT
283  };
284 
286  : mFinalRatio(4.0f),
287  mNbRatios(7),
288  mSwitchTime(0.5f)
289  {
290  mRatios[PxVehicleGearsData::eREVERSE]=-4.0f;
291  mRatios[PxVehicleGearsData::eNEUTRAL]=0.0f;
292  mRatios[PxVehicleGearsData::eFIRST]=4.0f;
293  mRatios[PxVehicleGearsData::eSECOND]=2.0f;
294  mRatios[PxVehicleGearsData::eTHIRD]=1.5f;
295  mRatios[PxVehicleGearsData::eFOURTH]=1.1f;
296  mRatios[PxVehicleGearsData::eFIFTH]=1.0f;
297 
299  mRatios[i]=0.f;
300  }
301 
308 
315 
322 
331 
332 private:
333 
335 
336  bool isValid() const;
337 
338 //serialization
339 public:
341  PxReal getGearRatio(PxVehicleGearsData::Enum a) const {return mRatios[a];}
342  void setGearRatio(PxVehicleGearsData::Enum a, PxReal ratio) { mRatios[a] = ratio;}
343 //~serialization
344 };
345 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleGearsData)& 0x0f));
346 
348 {
349 public:
350 
351  friend class PxVehicleDriveSimData;
352 
354  {
356  {
357  mUpRatios[i]=0.65f;
358  mDownRatios[i]=0.50f;
359  }
360  //Not sure how important this is but we want to kick out of neutral very quickly.
361  mUpRatios[PxVehicleGearsData::eNEUTRAL]=0.15f;
362  //Set the latency time in an unused element of one of the arrays.
363  mDownRatios[PxVehicleGearsData::eREVERSE]=2.0f;
364  }
365 
375 
385 
397  void setLatency(const PxReal latency)
398  {
399  mDownRatios[PxVehicleGearsData::eREVERSE]=latency;
400  }
401 
410  {
411  return mDownRatios[PxVehicleGearsData::eREVERSE];
412  }
413 
414 private:
415  bool isValid() const;
416 
417 //serialization
418 public:
420 
421  PxReal getUpRatios(PxVehicleGearsData::Enum a) const {return mUpRatios[a];}
422  void setUpRatios(PxVehicleGearsData::Enum a, PxReal ratio) { mUpRatios[a] = ratio;}
423 
424  PxReal getDownRatios(PxVehicleGearsData::Enum a) const {return mDownRatios[a];}
425  void setDownRatios(PxVehicleGearsData::Enum a, PxReal ratio) { mDownRatios[a] = ratio;}
426 //~serialization
427 };
428 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleAutoBoxData)& 0x0f));
429 
431 {
432 public:
433 
435 
436  enum Enum
437  {
438  eDIFF_TYPE_LS_4WD, //limited slip differential for car with 4 driven wheels
439  eDIFF_TYPE_LS_FRONTWD, //limited slip differential for car with front-wheel drive
440  eDIFF_TYPE_LS_REARWD, //limited slip differential for car with rear-wheel drive
441  eDIFF_TYPE_OPEN_4WD, //open differential for car with 4 driven wheels
442  eDIFF_TYPE_OPEN_FRONTWD, //open differential for car with front-wheel drive
443  eDIFF_TYPE_OPEN_REARWD, //open differential for car with rear-wheel drive
444  eMAX_NB_DIFF_TYPES
445  };
446 
448  : mFrontRearSplit(0.45f),
449  mFrontLeftRightSplit(0.5f),
450  mRearLeftRightSplit(0.5f),
451  mCentreBias(1.3f),
452  mFrontBias(1.3f),
453  mRearBias(1.3f),
454  mType(PxVehicleDifferential4WData::eDIFF_TYPE_LS_4WD)
455  {
456  }
457 
466 
475 
484 
494 
504 
514 
521 
522 private:
523 
524  PxReal mPad[1];
525 
526  bool isValid() const;
527 
528 //serialization
529 public:
531 //~serialization
532 };
534 
536 {
537 public:
538 
540  friend class PxVehicleUpdate;
541 
543  {
544  PxMemSet(mBitmapBuffer, 0, sizeof(PxU32) * (((PX_MAX_NB_WHEELS + 31) & ~31) >> 5));
545  mNbDrivenWheels=0;
546  mInvNbDrivenWheels=0.0f;
547  }
548 
556  void setDrivenWheel(const PxU32 wheelId, const bool drivenState);
557 
561  bool getIsDrivenWheel(const PxU32 wheelId) const;
562 
563 private:
564 
565  PxU32 mBitmapBuffer[((PX_MAX_NB_WHEELS + 31) & ~31) >> 5];
569 
570  bool isValid() const;
571 
572 //serialization
573 public:
575  PxU32 getDrivenWheelStatus() const;
576  void setDrivenWheelStatus(PxU32 status);
577 //~serialization
578 };
580 
581 
583 {
584 public:
585 
587 
589  : mAccuracy(1.0f),
590  mFrontWidth(0.0f), //Must be filled out
591  mRearWidth(0.0f), //Must be filled out
592  mAxleSeparation(0.0f) //Must be filled out
593  {
594  }
595 
612 
621 
630 
639 
640 private:
641 
642  bool isValid() const;
643 
644 //serialization
645 public:
647 //~serialization
648 };
650 
656 {
657  enum Enum
658  {
659  eESTIMATE = 0,
660  eBEST_POSSIBLE
661  };
662 };
663 
665 {
666 public:
667 
668  friend class PxVehicleDriveSimData;
669 
671  : mStrength(10.0f),
672  mAccuracyMode(PxVehicleClutchAccuracyMode::eBEST_POSSIBLE),
673  mEstimateIterations(5)
674  {
675  }
676 
696 
712 
725 
726 private:
727 
728  PxU8 mPad[4];
729 
730  bool isValid() const;
731 
732 //serialization
733 public:
735 //~serialization
736 };
737 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleClutchData)& 0x0f));
738 
739 
763 {
764 public:
765 
767 
769  : mMinNormalisedLoad(0),
770  mMinFilteredNormalisedLoad(0.2308f),
771  mMaxNormalisedLoad(3.0f),
772  mMaxFilteredNormalisedLoad(3.0f)
773  {
774  mDenominator=1.0f/(mMaxNormalisedLoad - mMinNormalisedLoad);
775  }
776 
781 
786 
791 
796 
797  PX_FORCE_INLINE PxReal getDenominator() const {return mDenominator;}
798 
799 private:
800 
804  //1.0f/(mMaxNormalisedLoad-mMinNormalisedLoad) for quick calculations
806 
808 
809  bool isValid() const;
810 
811 //serialization
812 public:
814 //~serialization
815 };
817 
819 {
820 public:
821 
822  friend class PxVehicleWheels4SimData;
823 
825  : mRadius(0.0f), //Must be filled out
826  mWidth(0.0f),
827  mMass(20.0f),
828  mMOI(0.0f), //Must be filled out
829  mDampingRate(0.25f),
830  mMaxBrakeTorque(1500.0f),
831  mMaxHandBrakeTorque(0.0f),
832  mMaxSteer(0.0f),
833  mToeAngle(0.0f),
834  mRecipRadius(0.0f), //Must be filled out
835  mRecipMOI(0.0f) //Must be filled out
836  {
837  }
838 
847 
856 
865 
874 
883 
892 
901 
910 
918  PxReal mToeAngle;//in radians
919 
925  PX_FORCE_INLINE PxReal getRecipRadius() const {return mRecipRadius;}
926 
932  PX_FORCE_INLINE PxReal getRecipMOI() const {return mRecipMOI;}
933 
934 private:
935 
944 
953 
954  PxReal mPad[1];
955 
956  bool isValid() const;
957 };
958 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleWheelData)& 0x0f));
959 
961 {
962 public:
963 
964  friend class PxVehicleWheels4SimData;
965 
967  : mSpringStrength(0.0f),
968  mSpringDamperRate(0.0f),
969  mMaxCompression(0.3f),
970  mMaxDroop(0.1f),
971  mSprungMass(0.0f),
972  mCamberAtRest(0.0f),
973  mCamberAtMaxCompression(0.0f),
974  mCamberAtMaxDroop(0.0f),
975  mRecipMaxCompression(1.0f),
976  mRecipMaxDroop(1.0f)
977  {
978  }
979 
988 
997 
1006 
1015 
1048 
1058 
1070 
1082 
1090  PX_FORCE_INLINE PxReal getRecipMaxCompression() const {return mRecipMaxCompression;}
1091 
1099  PX_FORCE_INLINE PxReal getRecipMaxDroop() const {return mRecipMaxDroop;}
1100 
1106  void setMassAndPreserveNaturalFrequency(const PxReal newSprungMass)
1107  {
1108  const PxF32 oldStrength = mSpringStrength;
1109  const PxF32 oldSprungMass = mSprungMass;
1110  const PxF32 newStrength = oldStrength * (newSprungMass / oldSprungMass);
1111  mSpringStrength = newStrength;
1112  mSprungMass = newSprungMass;
1113  }
1114 
1115 private:
1116 
1123 
1130 
1131  //padding
1132  PxReal mPad[2];
1133 
1134  bool isValid() const;
1135 };
1137 
1139 {
1140 public:
1141 
1143 
1145  : mWheel0(0xffffffff),
1146  mWheel1(0xffffffff),
1147  mStiffness(0.0f)
1148  {
1149  }
1150 
1151  /*
1152  \brief The anti-roll bar connects two wheels with indices mWheel0 and mWheel1
1153  */
1155 
1156  /*
1157  \brief The anti-roll bar connects two wheels with indices mWheel0 and mWheel1
1158  */
1160 
1161  /*
1162  \brief The stiffness of the anti-roll bar.
1163 
1164  \note Specified in kilograms per second-squared (kg s^-2).
1165 
1166  <b>Range:</b> [0, PX_MAX_F32)<br>
1167  */
1169 
1170 private:
1171 
1173 
1174  bool isValid() const;
1175 };
1177 
1179 {
1180 public:
1181  friend class PxVehicleWheels4SimData;
1182 
1184  : mLatStiffX(2.0f),
1185  mLatStiffY(0.3125f*(180.0f / PxPi)),
1186  mLongitudinalStiffnessPerUnitGravity(1000.0f),
1187  mCamberStiffnessPerUnitGravity(0.1f*(180.0f / PxPi)),
1188  mType(0)
1189  {
1190  mFrictionVsSlipGraph[0][0]=0.0f;
1191  mFrictionVsSlipGraph[0][1]=1.0f;
1192  mFrictionVsSlipGraph[1][0]=0.1f;
1193  mFrictionVsSlipGraph[1][1]=1.0f;
1194  mFrictionVsSlipGraph[2][0]=1.0f;
1195  mFrictionVsSlipGraph[2][1]=1.0f;
1196 
1197  mRecipLongitudinalStiffnessPerUnitGravity=1.0f/mLongitudinalStiffnessPerUnitGravity;
1198 
1199  mFrictionVsSlipGraphRecipx1Minusx0=1.0f/(mFrictionVsSlipGraph[1][0]-mFrictionVsSlipGraph[0][0]);
1200  mFrictionVsSlipGraphRecipx2Minusx1=1.0f/(mFrictionVsSlipGraph[2][0]-mFrictionVsSlipGraph[1][0]);
1201  }
1202 
1211 
1228 
1241 
1254 
1288  PxReal mFrictionVsSlipGraph[3][2];
1289 
1298 
1304  PX_FORCE_INLINE PxReal getRecipLongitudinalStiffnessPerUnitGravity() const {return mRecipLongitudinalStiffnessPerUnitGravity;}
1305 
1311  PX_FORCE_INLINE PxReal getFrictionVsSlipGraphRecipx1Minusx0() const {return mFrictionVsSlipGraphRecipx1Minusx0;}
1312 
1318  PX_FORCE_INLINE PxReal getFrictionVsSlipGraphRecipx2Minusx1() const {return mFrictionVsSlipGraphRecipx2Minusx1;}
1319 
1320 private:
1321 
1330 
1339 
1348 
1349  PxReal mPad[2];
1350 
1351  bool isValid() const;
1352 };
1353 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleTireData)& 0x0f));
1354 #if !PX_DOXYGEN
1355 } // namespace physx
1356 #endif
1357 
1359 #endif //PX_VEHICLE_CORE_COMPONENTS_H
Definition: GuContactBuffer.h:37
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_VEHICLE_CORE_COMPONENTS_H
31 #define PX_VEHICLE_CORE_COMPONENTS_H
32 
36 #include "foundation/PxMemory.h"
37 #include "foundation/PxVec3.h"
39 #include "vehicle/PxVehicleSDK.h"
40 #include "common/PxTypeInfo.h"
41 
42 #if !PX_DOXYGEN
43 namespace physx
44 {
45 #endif
46 
48 {
49 public:
50 
52 
54  : mMOI(PxVec3(0,0,0)),
55  mMass(1500),
56  mCMOffset(PxVec3(0,0,0))
57  {
58  }
59 
66 
73 
80 
81 private:
82 
84 
85  bool isValid() const;
86 };
88 
90 {
91 public:
92 
93  friend class PxVehicleDriveSimData;
94 
95  enum
96  {
97  eMAX_NB_ENGINE_TORQUE_CURVE_ENTRIES = 8
98  };
99 
101  : mMOI(1.0f),
102  mPeakTorque(500.0f),
103  mMaxOmega(600.0f),
104  mDampingRateFullThrottle(0.15f),
105  mDampingRateZeroThrottleClutchEngaged(2.0f),
106  mDampingRateZeroThrottleClutchDisengaged(0.35f)
107  {
108  mTorqueCurve.addPair(0.0f, 0.8f);
109  mTorqueCurve.addPair(0.33f, 1.0f);
110  mTorqueCurve.addPair(1.0f, 0.8f);
111 
112  mRecipMOI=1.0f/mMOI;
113  mRecipMaxOmega=1.0f/mMaxOmega;
114  }
115 
122 
129 
140 
149 
166 
167 
184 
201 
205  PX_FORCE_INLINE PxReal getRecipMOI() const {return mRecipMOI;}
206 
210  PX_FORCE_INLINE PxReal getRecipMaxOmega() const {return mRecipMaxOmega;}
211 
212 private:
213 
222 
231 
232  bool isValid() const;
233 
234 
235 //serialization
236 public:
237  PxVehicleEngineData(const PxEMPTY) : mTorqueCurve(PxEmpty) {}
238 //~serialization
239 };
240 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleEngineData)& 0x0f));
241 
243 {
244 public:
245 
246  friend class PxVehicleDriveSimData;
247 
248  enum Enum
249  {
250  eREVERSE=0,
282  eGEARSRATIO_COUNT
283  };
284 
286  : mFinalRatio(4.0f),
287  mNbRatios(7),
288  mSwitchTime(0.5f)
289  {
290  mRatios[PxVehicleGearsData::eREVERSE]=-4.0f;
291  mRatios[PxVehicleGearsData::eNEUTRAL]=0.0f;
292  mRatios[PxVehicleGearsData::eFIRST]=4.0f;
293  mRatios[PxVehicleGearsData::eSECOND]=2.0f;
294  mRatios[PxVehicleGearsData::eTHIRD]=1.5f;
295  mRatios[PxVehicleGearsData::eFOURTH]=1.1f;
296  mRatios[PxVehicleGearsData::eFIFTH]=1.0f;
297 
299  mRatios[i]=0.f;
300  }
301 
308 
315 
322 
331 
332 private:
333 
335 
336  bool isValid() const;
337 
338 //serialization
339 public:
341  PxReal getGearRatio(PxVehicleGearsData::Enum a) const {return mRatios[a];}
342  void setGearRatio(PxVehicleGearsData::Enum a, PxReal ratio) { mRatios[a] = ratio;}
343 //~serialization
344 };
345 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleGearsData)& 0x0f));
346 
348 {
349 public:
350 
351  friend class PxVehicleDriveSimData;
352 
354  {
356  {
357  mUpRatios[i]=0.65f;
358  mDownRatios[i]=0.50f;
359  }
360  //Not sure how important this is but we want to kick out of neutral very quickly.
361  mUpRatios[PxVehicleGearsData::eNEUTRAL]=0.15f;
362  //Set the latency time in an unused element of one of the arrays.
363  mDownRatios[PxVehicleGearsData::eREVERSE]=2.0f;
364  }
365 
375 
385 
397  void setLatency(const PxReal latency)
398  {
399  mDownRatios[PxVehicleGearsData::eREVERSE]=latency;
400  }
401 
410  {
411  return mDownRatios[PxVehicleGearsData::eREVERSE];
412  }
413 
414 private:
415  bool isValid() const;
416 
417 //serialization
418 public:
420 
421  PxReal getUpRatios(PxVehicleGearsData::Enum a) const {return mUpRatios[a];}
422  void setUpRatios(PxVehicleGearsData::Enum a, PxReal ratio) { mUpRatios[a] = ratio;}
423 
424  PxReal getDownRatios(PxVehicleGearsData::Enum a) const {return mDownRatios[a];}
425  void setDownRatios(PxVehicleGearsData::Enum a, PxReal ratio) { mDownRatios[a] = ratio;}
426 //~serialization
427 };
428 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleAutoBoxData)& 0x0f));
429 
431 {
432 public:
433 
435 
436  enum Enum
437  {
438  eDIFF_TYPE_LS_4WD, //limited slip differential for car with 4 driven wheels
439  eDIFF_TYPE_LS_FRONTWD, //limited slip differential for car with front-wheel drive
440  eDIFF_TYPE_LS_REARWD, //limited slip differential for car with rear-wheel drive
441  eDIFF_TYPE_OPEN_4WD, //open differential for car with 4 driven wheels
442  eDIFF_TYPE_OPEN_FRONTWD, //open differential for car with front-wheel drive
443  eDIFF_TYPE_OPEN_REARWD, //open differential for car with rear-wheel drive
444  eMAX_NB_DIFF_TYPES
445  };
446 
448  : mFrontRearSplit(0.45f),
449  mFrontLeftRightSplit(0.5f),
450  mRearLeftRightSplit(0.5f),
451  mCentreBias(1.3f),
452  mFrontBias(1.3f),
453  mRearBias(1.3f),
454  mType(PxVehicleDifferential4WData::eDIFF_TYPE_LS_4WD)
455  {
456  }
457 
466 
475 
484 
494 
504 
514 
521 
522 private:
523 
524  PxReal mPad[1];
525 
526  bool isValid() const;
527 
528 //serialization
529 public:
531 //~serialization
532 };
534 
536 {
537 public:
538 
540  friend class PxVehicleUpdate;
541 
543  {
544  PxMemSet(mBitmapBuffer, 0, sizeof(PxU32) * (((PX_MAX_NB_WHEELS + 31) & ~31) >> 5));
545  mNbDrivenWheels=0;
546  mInvNbDrivenWheels=0.0f;
547  }
548 
556  void setDrivenWheel(const PxU32 wheelId, const bool drivenState);
557 
561  bool getIsDrivenWheel(const PxU32 wheelId) const;
562 
563 private:
564 
565  PxU32 mBitmapBuffer[((PX_MAX_NB_WHEELS + 31) & ~31) >> 5];
569 
570  bool isValid() const;
571 
572 //serialization
573 public:
575  PxU32 getDrivenWheelStatus() const;
576  void setDrivenWheelStatus(PxU32 status);
577 //~serialization
578 };
580 
581 
583 {
584 public:
585 
587 
589  : mAccuracy(1.0f),
590  mFrontWidth(0.0f), //Must be filled out
591  mRearWidth(0.0f), //Must be filled out
592  mAxleSeparation(0.0f) //Must be filled out
593  {
594  }
595 
612 
621 
630 
639 
640 private:
641 
642  bool isValid() const;
643 
644 //serialization
645 public:
647 //~serialization
648 };
650 
656 {
657  enum Enum
658  {
659  eESTIMATE = 0,
660  eBEST_POSSIBLE
661  };
662 };
663 
665 {
666 public:
667 
668  friend class PxVehicleDriveSimData;
669 
671  : mStrength(10.0f),
672  mAccuracyMode(PxVehicleClutchAccuracyMode::eBEST_POSSIBLE),
673  mEstimateIterations(5)
674  {
675  }
676 
696 
712 
725 
726 private:
727 
728  PxU8 mPad[4];
729 
730  bool isValid() const;
731 
732 //serialization
733 public:
735 //~serialization
736 };
737 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleClutchData)& 0x0f));
738 
739 
763 {
764 public:
765 
767 
769  : mMinNormalisedLoad(0),
770  mMinFilteredNormalisedLoad(0.2308f),
771  mMaxNormalisedLoad(3.0f),
772  mMaxFilteredNormalisedLoad(3.0f)
773  {
774  mDenominator=1.0f/(mMaxNormalisedLoad - mMinNormalisedLoad);
775  }
776 
781 
786 
791 
796 
797  PX_FORCE_INLINE PxReal getDenominator() const {return mDenominator;}
798 
799 private:
800 
804  //1.0f/(mMaxNormalisedLoad-mMinNormalisedLoad) for quick calculations
806 
807  PxU32 mPad[3];
808 
809  bool isValid() const;
810 
811 //serialization
812 public:
814 //~serialization
815 };
817 
819 {
820 public:
821 
822  friend class PxVehicleWheels4SimData;
823 
825  : mRadius(0.0f), //Must be filled out
826  mWidth(0.0f),
827  mMass(20.0f),
828  mMOI(0.0f), //Must be filled out
829  mDampingRate(0.25f),
830  mMaxBrakeTorque(1500.0f),
831  mMaxHandBrakeTorque(0.0f),
832  mMaxSteer(0.0f),
833  mToeAngle(0.0f),
834  mRecipRadius(0.0f), //Must be filled out
835  mRecipMOI(0.0f) //Must be filled out
836  {
837  }
838 
847 
856 
865 
874 
883 
892 
901 
910 
918  PxReal mToeAngle;//in radians
919 
925  PX_FORCE_INLINE PxReal getRecipRadius() const {return mRecipRadius;}
926 
932  PX_FORCE_INLINE PxReal getRecipMOI() const {return mRecipMOI;}
933 
934 private:
935 
944 
953 
954  PxReal mPad[1];
955 
956  bool isValid() const;
957 };
958 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleWheelData)& 0x0f));
959 
961 {
962 public:
963 
964  friend class PxVehicleWheels4SimData;
965 
967  : mSpringStrength(0.0f),
968  mSpringDamperRate(0.0f),
969  mMaxCompression(0.3f),
970  mMaxDroop(0.1f),
971  mSprungMass(0.0f),
972  mCamberAtRest(0.0f),
973  mCamberAtMaxCompression(0.0f),
974  mCamberAtMaxDroop(0.0f),
975  mRecipMaxCompression(1.0f),
976  mRecipMaxDroop(1.0f)
977  {
978  }
979 
988 
997 
1006 
1015 
1048 
1058 
1070 
1082 
1090  PX_FORCE_INLINE PxReal getRecipMaxCompression() const {return mRecipMaxCompression;}
1091 
1099  PX_FORCE_INLINE PxReal getRecipMaxDroop() const {return mRecipMaxDroop;}
1100 
1106  void setMassAndPreserveNaturalFrequency(const PxReal newSprungMass)
1107  {
1108  const PxF32 oldStrength = mSpringStrength;
1109  const PxF32 oldSprungMass = mSprungMass;
1110  const PxF32 newStrength = oldStrength * (newSprungMass / oldSprungMass);
1111  mSpringStrength = newStrength;
1112  mSprungMass = newSprungMass;
1113  }
1114 
1115 private:
1116 
1123 
1130 
1131  //padding
1132  PxReal mPad[2];
1133 
1134  bool isValid() const;
1135 };
1137 
1139 {
1140 public:
1141 
1143 
1145  : mWheel0(0xffffffff),
1146  mWheel1(0xffffffff),
1147  mStiffness(0.0f)
1148  {
1149  }
1150 
1151  /*
1152  \brief The anti-roll bar connects two wheels with indices mWheel0 and mWheel1
1153  */
1155 
1156  /*
1157  \brief The anti-roll bar connects two wheels with indices mWheel0 and mWheel1
1158  */
1160 
1161  /*
1162  \brief The stiffness of the anti-roll bar.
1163 
1164  \note Specified in kilograms per second-squared (kg s^-2).
1165 
1166  <b>Range:</b> [0, PX_MAX_F32)<br>
1167  */
1169 
1170 private:
1171 
1172  PxF32 mPad[1];
1173 
1174  bool isValid() const;
1175 };
1177 
1179 {
1180 public:
1181  friend class PxVehicleWheels4SimData;
1182 
1184  : mLatStiffX(2.0f),
1185  mLatStiffY(0.3125f*(180.0f / PxPi)),
1186  mLongitudinalStiffnessPerUnitGravity(1000.0f),
1187  mCamberStiffnessPerUnitGravity(0.1f*(180.0f / PxPi)),
1188  mType(0)
1189  {
1190  mFrictionVsSlipGraph[0][0]=0.0f;
1191  mFrictionVsSlipGraph[0][1]=1.0f;
1192  mFrictionVsSlipGraph[1][0]=0.1f;
1193  mFrictionVsSlipGraph[1][1]=1.0f;
1194  mFrictionVsSlipGraph[2][0]=1.0f;
1195  mFrictionVsSlipGraph[2][1]=1.0f;
1196 
1197  mRecipLongitudinalStiffnessPerUnitGravity=1.0f/mLongitudinalStiffnessPerUnitGravity;
1198 
1199  mFrictionVsSlipGraphRecipx1Minusx0=1.0f/(mFrictionVsSlipGraph[1][0]-mFrictionVsSlipGraph[0][0]);
1200  mFrictionVsSlipGraphRecipx2Minusx1=1.0f/(mFrictionVsSlipGraph[2][0]-mFrictionVsSlipGraph[1][0]);
1201  }
1202 
1211 
1228 
1241 
1254 
1288  PxReal mFrictionVsSlipGraph[3][2];
1289 
1298 
1304  PX_FORCE_INLINE PxReal getRecipLongitudinalStiffnessPerUnitGravity() const {return mRecipLongitudinalStiffnessPerUnitGravity;}
1305 
1311  PX_FORCE_INLINE PxReal getFrictionVsSlipGraphRecipx1Minusx0() const {return mFrictionVsSlipGraphRecipx1Minusx0;}
1312 
1318  PX_FORCE_INLINE PxReal getFrictionVsSlipGraphRecipx2Minusx1() const {return mFrictionVsSlipGraphRecipx2Minusx1;}
1319 
1320 private:
1321 
1330 
1339 
1348 
1349  PxReal mPad[2];
1350 
1351  bool isValid() const;
1352 };
1353 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleTireData)& 0x0f));
1354 #if !PX_DOXYGEN
1355 } // namespace physx
1356 #endif
1357 
1359 #endif //PX_VEHICLE_CORE_COMPONENTS_H
Definition: GuContactBuffer.h:37
Definition: PxVehicleComponents.h:256
PX_FORCE_INLINE PxReal getRecipRadius() const
Return value equal to 1.0f/mRadius.
Definition: PxVehicleComponents.h:925
PxU32 mWheel1
Definition: PxVehicleComponents.h:1159
@@ -108,7 +108,6 @@
Definition: PxVehicleComponents.h:960
PxReal mAxleSeparation
Distance between center of front axle and center of rear axle.
Definition: PxVehicleComponents.h:638
PxU32 mType
Tire type denoting slicks, wets, snow, winter, summer, all-terrain, mud etc.
Definition: PxVehicleComponents.h:1297
-
PxU32 mPad[1]
Definition: PxVehicleWheels.h:482
float PxF32
Definition: PxSimpleTypes.h:76
Definition: PxVehicleComponents.h:272
Definition: PxVehicleComponents.h:280
@@ -176,7 +175,7 @@
Definition: PxVehicleComponents.h:274
PxVehicleSuspensionData()
Definition: PxVehicleComponents.h:966
Definition: PxVehicleComponents.h:258
-
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:59
+
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:91
Definition: PxVehicleComponents.h:89
PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleChassisData)&0x0f))
Data structure describing configuration data of a vehicle with up to PX_MAX_NB_WHEELS driven equally ...
Definition: PxVehicleDriveNW.h:58
diff --git a/physx/documentation/PhysXAPI/files/PxVehicleDrive4W_8h_source.html b/physx/documentation/PhysXAPI/files/PxVehicleDrive4W_8h_source.html index 59a68095d..a7a6e8799 100644 --- a/physx/documentation/PhysXAPI/files/PxVehicleDrive4W_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxVehicleDrive4W_8h_source.html @@ -109,7 +109,7 @@
Output stream class for I/O.
Definition: PxIO.h:114
Data structure describing non-wheel configuration data of a vehicle that has engine, gears, clutch, and auto-box.
Definition: PxVehicleDrive.h:56
Definition: PxVehicleDrive4W.h:167
-
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:59
+
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:91
A complete vehicle with instance dynamics data and configuration data for wheels and engine...
Definition: PxVehicleDrive.h:496
uint8_t PxU8
Definition: PxSimpleTypes.h:75
virtual const char * getConcreteTypeName() const
Returns string name of dynamic type.
Definition: PxVehicleDrive4W.h:268
diff --git a/physx/documentation/PhysXAPI/files/PxVehicleDriveNW_8h_source.html b/physx/documentation/PhysXAPI/files/PxVehicleDriveNW_8h_source.html index 7b229969c..9d646c8a6 100644 --- a/physx/documentation/PhysXAPI/files/PxVehicleDriveNW_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxVehicleDriveNW_8h_source.html @@ -103,7 +103,7 @@
Data structure describing non-wheel configuration data of a vehicle that has engine, gears, clutch, and auto-box.
Definition: PxVehicleDrive.h:56
~PxVehicleDriveNW()
Definition: PxVehicleDriveNW.h:220
PxVehicleDriveSimDataNW(const PxEMPTY)
Definition: PxVehicleDriveNW.h:106
-
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:59
+
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:91
Data structure describing configuration data of a vehicle with up to PX_MAX_NB_WHEELS driven equally ...
Definition: PxVehicleDriveNW.h:58
A complete vehicle with instance dynamics data and configuration data for wheels and engine...
Definition: PxVehicleDrive.h:496
PxVehicleDriveSimDataNW()
Definition: PxVehicleDriveNW.h:70
diff --git a/physx/documentation/PhysXAPI/files/PxVehicleDriveTank_8h_source.html b/physx/documentation/PhysXAPI/files/PxVehicleDriveTank_8h_source.html index 00eeda516..0ef741656 100644 --- a/physx/documentation/PhysXAPI/files/PxVehicleDriveTank_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxVehicleDriveTank_8h_source.html @@ -110,7 +110,7 @@
Definition: PxVehicleDriveTank.h:81
Data structure describing non-wheel configuration data of a vehicle that has engine, gears, clutch, and auto-box.
Definition: PxVehicleDrive.h:56
Definition: PxVehicleDriveTank.h:112
-
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:59
+
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:91
PxVehicleDriveTankControlModel::Enum getDriveModel() const
Return the control model used by the tank.
Definition: PxVehicleDriveTank.h:230
A complete vehicle with instance dynamics data and configuration data for wheels and engine...
Definition: PxVehicleDrive.h:496
Definition: PxVehicleDriveTank.h:75
diff --git a/physx/documentation/PhysXAPI/files/PxVehicleDrive_8h_source.html b/physx/documentation/PhysXAPI/files/PxVehicleDrive_8h_source.html index 252c4b069..296d9109a 100644 --- a/physx/documentation/PhysXAPI/files/PxVehicleDrive_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxVehicleDrive_8h_source.html @@ -126,7 +126,7 @@
virtual bool isKindOf(const char *name) const
Returns whether a given type name matches with the type of this instance.
Definition: PxVehicleDrive.h:555
PX_FORCE_INLINE void toggleAutoGears()
Toggle the auto-gears flag If useAutoGears is true the auto-box will be active.
Definition: PxVehicleDrive.h:271
PX_FORCE_INLINE const PxVehicleAutoBoxData & getAutoBoxData() const
Return the autobox data.
Definition: PxVehicleDrive.h:113
-
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:59
+
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:91
Definition: PxVehicleComponents.h:89
PX_FORCE_INLINE const PxVehicleClutchData & getClutchData() const
Return the clutch data.
Definition: PxVehicleDrive.h:99
A complete vehicle with instance dynamics data and configuration data for wheels and engine...
Definition: PxVehicleDrive.h:496
@@ -147,7 +147,7 @@
PxReal mAutoBoxSwitchTime
Reported time that has passed since last autobox gearup/geardown decision.
Definition: PxVehicleDrive.h:468
PX_FORCE_INLINE void setEngineRotationSpeed(const PxF32 speed)
Set the rotation speed of the engine (radians per second)
Definition: PxVehicleDrive.h:364
PxU32 mTargetGear
Target gear (different from current gear if a gear change is underway)
Definition: PxVehicleDrive.h:450
-
Data structure with instanced dynamics data and configuration data of a vehicle with just wheels...
Definition: PxVehicleWheels.h:676
+
Data structure with instanced dynamics data and configuration data of a vehicle with just wheels...
Definition: PxVehicleWheels.h:733
PxEMPTY
Definition: Px.h:70
Definition: PxVehicleComponents.h:347
Material class to represent a set of surface properties.
Definition: PxMaterial.h:143
diff --git a/physx/documentation/PhysXAPI/files/PxVehicleNoDrive_8h_source.html b/physx/documentation/PhysXAPI/files/PxVehicleNoDrive_8h_source.html index 802b2742e..e42fcc73a 100644 --- a/physx/documentation/PhysXAPI/files/PxVehicleNoDrive_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxVehicleNoDrive_8h_source.html @@ -100,7 +100,7 @@
PxReal * mBrakeTorques
Definition: PxVehicleNoDrive.h:178
A geometry object.
Definition: PxGeometry.h:75
Output stream class for I/O.
Definition: PxIO.h:114
-
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:59
+
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:91
PxReal * mDriveTorques
Definition: PxVehicleNoDrive.h:177
PxU32 getNbDriveTorque() const
Definition: PxVehicleNoDrive.h:202
PxU32 getNbSteerAngle() const
Definition: PxVehicleNoDrive.h:201
@@ -109,7 +109,7 @@
PxVehicleNoDrive(PxBaseFlags baseFlags)
Definition: PxVehicleNoDrive.h:194
#define PX_COMPILE_TIME_ASSERT(exp)
Definition: PxPreprocessor.h:429
~PxVehicleNoDrive()
Definition: PxVehicleNoDrive.h:206
-
Data structure with instanced dynamics data and configuration data of a vehicle with just wheels...
Definition: PxVehicleWheels.h:676
+
Data structure with instanced dynamics data and configuration data of a vehicle with just wheels...
Definition: PxVehicleWheels.h:733
Binary deserialization context class.
Definition: PxSerialFramework.h:174
Material class to represent a set of surface properties.
Definition: PxMaterial.h:143
PxReal * mSteerAngles
Definition: PxVehicleNoDrive.h:176
diff --git a/physx/documentation/PhysXAPI/files/PxVehicleUpdate_8h_source.html b/physx/documentation/PhysXAPI/files/PxVehicleUpdate_8h_source.html index b574b6ba8..d2daf1baa 100644 --- a/physx/documentation/PhysXAPI/files/PxVehicleUpdate_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxVehicleUpdate_8h_source.html @@ -86,10 +86,10 @@
PxVehicleUpdate.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_VEHICLE_UPDATE_H
31 #define PX_VEHICLE_UPDATE_H
32 
36 #include "vehicle/PxVehicleSDK.h"
39 #include "foundation/PxMemory.h"
40 #include "foundation/PxTransform.h"
41 #include "PxBatchQueryDesc.h"
42 
43 #if !PX_DOXYGEN
44 namespace physx
45 {
46 #endif
47 
48  class PxBatchQuery;
49  class PxContactModifyPair;
50  class PxVehicleWheels;
52  class PxVehicleTelemetryData;
53 
60  {
62  {
63  PxMemZero(this, sizeof(PxWheelQueryResult));
64  isInAir=true;
66  localPose = PxTransform(PxIdentity);
67  }
68 
75 
82 
89 
96  bool isInAir;
97 
104 
111 
118 
129 
136 
143 
153 
163 
172 
180 
188 
198 
208 
214 
219  };
220 
222  {
232 
238  };
239 
247  {
248  friend class PxVehicleUpdate;
249 
251  : localPose(PxTransform(PxIdentity)),
252  hitActor(NULL),
253  hitActorForce(PxVec3(0,0,0)),
254  hitActorForcePosition(PxVec3(0,0,0))
255  {
256  }
257 
258  private:
259 
264  };
265 
274  {
275  friend class PxVehicleUpdate;
276 
278  : concurrentWheelUpdates(NULL),
279  nbConcurrentWheelUpdates(0),
280  linearMomentumChange(PxVec3(0,0,0)),
281  angularMomentumChange(PxVec3(0,0,0)),
282  staySleeping(false),
283  wakeup(false)
284  {
285  }
286 
294 
300 
301  private:
302 
306  bool wakeup;
307  };
308 
347  (PxBatchQuery* batchQuery,
348  const PxU32 nbVehicles, PxVehicleWheels** vehicles,
349  const PxU32 nbSceneQueryResults, PxRaycastQueryResult* sceneQueryResults,
350  const bool* vehiclesToRaycast = NULL);
351 
352 
409  (PxBatchQuery* batchQuery,
410  const PxU32 nbVehicles, PxVehicleWheels** vehicles,
411  const PxU32 nbSceneQueryResults, PxSweepQueryResult* sceneQueryResults, const PxU16 nbHitsPerQuery,
412  const bool* vehiclesToSweep = NULL,
413  const PxF32 sweepWidthScale = 1.0f, const PxF32 sweepRadiusScale = 1.0f);
414 
448  (const PxVehicleWheels& vehicle, const PxU32 wheelId,
449  const PxF32 wheelTangentVelocityMultiplier, const PxReal maxImpulse,
450  PxContactModifyPair& contactModifyPair);
451 
452 
497  void PxVehicleUpdates(
498  const PxReal timestep, const PxVec3& gravity,
499  const PxVehicleDrivableSurfaceToTireFrictionPairs& vehicleDrivableSurfaceToTireFrictionPairs,
500  const PxU32 nbVehicles, PxVehicleWheels** vehicles, PxVehicleWheelQueryResult* vehicleWheelQueryResults, PxVehicleConcurrentUpdateData* vehicleConcurrentUpdates = NULL);
501 
502 
516  const PxVehicleConcurrentUpdateData* vehicleConcurrentUpdates, const PxU32 nbVehicles, PxVehicleWheels** vehicles);
517 
518 
535  void PxVehicleShiftOrigin(const PxVec3& shift, const PxU32 nbVehicles, PxVehicleWheels** vehicles);
536 
537 #if PX_DEBUG_VEHICLE_ON
538 
567  void PxVehicleUpdateSingleVehicleAndStoreTelemetryData
568  (const PxReal timestep, const PxVec3& gravity,
569  const PxVehicleDrivableSurfaceToTireFrictionPairs& vehicleDrivableSurfaceToTireFrictionPairs,
570  PxVehicleWheels* focusVehicle, PxVehicleWheelQueryResult* vehicleWheelQueryResults,
571  PxVehicleTelemetryData& telemetryData);
572 #endif
573 
574 #if !PX_DOXYGEN
575 } // namespace physx
576 #endif
577 
579 #endif //PX_VEHICLE_UPDATE_H
Definition: GuContactBuffer.h:37
-
PxVehicleWheelConcurrentUpdateData()
Definition: PxVehicleUpdate.h:250
-
bool isInAir
If suspension travel limits forbid the wheel from touching the drivable surface then isInAir is true...
Definition: PxVehicleUpdate.h:96
-
PxReal steerAngle
Steer angle of the wheel about the "up" vector accounting for input steer and toe and...
Definition: PxVehicleUpdate.h:213
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_VEHICLE_UPDATE_H
31 #define PX_VEHICLE_UPDATE_H
32 
36 #include "vehicle/PxVehicleSDK.h"
39 #include "foundation/PxMemory.h"
40 #include "foundation/PxTransform.h"
41 #include "PxBatchQueryDesc.h"
42 
43 #if !PX_DOXYGEN
44 namespace physx
45 {
46 #endif
47 
48  class PxBatchQuery;
49  class PxContactModifyPair;
50  class PxVehicleWheels;
52  class PxVehicleTelemetryData;
53 
60  {
62  {
63  PxMemZero(this, sizeof(PxWheelQueryResult));
64  isInAir=true;
66  localPose = PxTransform(PxIdentity);
67  }
68 
75 
82 
89 
98  bool isInAir;
99 
106 
113 
120 
131 
138 
145 
155 
165 
174 
182 
190 
200 
210 
216 
221  };
222 
224  {
234 
240  };
241 
249  {
250  friend class PxVehicleUpdate;
251 
253  : localPose(PxTransform(PxIdentity)),
254  hitActor(NULL),
255  hitActorForce(PxVec3(0,0,0)),
256  hitActorForcePosition(PxVec3(0,0,0))
257  {
258  }
259 
260  private:
261 
266  };
267 
276  {
277  friend class PxVehicleUpdate;
278 
280  : concurrentWheelUpdates(NULL),
281  nbConcurrentWheelUpdates(0),
282  linearMomentumChange(PxVec3(0,0,0)),
283  angularMomentumChange(PxVec3(0,0,0)),
284  staySleeping(false),
285  wakeup(false)
286  {
287  }
288 
296 
302 
303  private:
304 
308  bool wakeup;
309  };
310 
349  (PxBatchQuery* batchQuery,
350  const PxU32 nbVehicles, PxVehicleWheels** vehicles,
351  const PxU32 nbSceneQueryResults, PxRaycastQueryResult* sceneQueryResults,
352  const bool* vehiclesToRaycast = NULL);
353 
354 
411  (PxBatchQuery* batchQuery,
412  const PxU32 nbVehicles, PxVehicleWheels** vehicles,
413  const PxU32 nbSceneQueryResults, PxSweepQueryResult* sceneQueryResults, const PxU16 nbHitsPerQuery,
414  const bool* vehiclesToSweep = NULL,
415  const PxF32 sweepWidthScale = 1.0f, const PxF32 sweepRadiusScale = 1.0f);
416 
450  (const PxVehicleWheels& vehicle, const PxU32 wheelId,
451  const PxF32 wheelTangentVelocityMultiplier, const PxReal maxImpulse,
452  PxContactModifyPair& contactModifyPair);
453 
454 
499  void PxVehicleUpdates(
500  const PxReal timestep, const PxVec3& gravity,
501  const PxVehicleDrivableSurfaceToTireFrictionPairs& vehicleDrivableSurfaceToTireFrictionPairs,
502  const PxU32 nbVehicles, PxVehicleWheels** vehicles, PxVehicleWheelQueryResult* vehicleWheelQueryResults, PxVehicleConcurrentUpdateData* vehicleConcurrentUpdates = NULL);
503 
504 
518  const PxVehicleConcurrentUpdateData* vehicleConcurrentUpdates, const PxU32 nbVehicles, PxVehicleWheels** vehicles);
519 
520 
537  void PxVehicleShiftOrigin(const PxVec3& shift, const PxU32 nbVehicles, PxVehicleWheels** vehicles);
538 
539 #if PX_DEBUG_VEHICLE_ON
540 
569  void PxVehicleUpdateSingleVehicleAndStoreTelemetryData
570  (const PxReal timestep, const PxVec3& gravity,
571  const PxVehicleDrivableSurfaceToTireFrictionPairs& vehicleDrivableSurfaceToTireFrictionPairs,
572  PxVehicleWheels* focusVehicle, PxVehicleWheelQueryResult* vehicleWheelQueryResults,
573  PxVehicleTelemetryData& telemetryData);
574 #endif
575 
576 #if !PX_DOXYGEN
577 } // namespace physx
578 #endif
579 
581 #endif //PX_VEHICLE_UPDATE_H
Definition: GuContactBuffer.h:37
+
PxVehicleWheelConcurrentUpdateData()
Definition: PxVehicleUpdate.h:252
+
bool isInAir
If suspension travel limits forbid the wheel from touching the drivable surface then isInAir is true...
Definition: PxVehicleUpdate.h:98
+
PxReal steerAngle
Steer angle of the wheel about the "up" vector accounting for input steer and toe and...
Definition: PxVehicleUpdate.h:215
PX_DEPRECATED PxBatchQueryResult< PxSweepHit > PxSweepQueryResult
Convenience typedef for the result of a batched sweep query.
Definition: PxBatchQueryDesc.h:105
Friction for each combination of driving surface type and tire type.
Definition: PxVehicleTireFriction.h:62
@@ -97,64 +97,64 @@
Definition: Px.h:84
An array of instances of this class is passed to PxContactModifyCallback::onContactModify().
Definition: PxContactModifyCallback.h:367
PxRigidDynamic represents a dynamic rigid simulation object in the physics SDK.
Definition: PxRigidDynamic.h:83
-
PxVec3 hitActorForcePosition
Definition: PxVehicleUpdate.h:263
+
PxVec3 hitActorForcePosition
Definition: PxVehicleUpdate.h:265
float PxF32
Definition: PxSimpleTypes.h:76
PxReal maxImpulse
maximum impulse the solver may apply to enforce this constraint
Definition: PxConstraintDesc.h:93
-
PxReal longitudinalSlip
Longitudinal slip of the tire.
Definition: PxVehicleUpdate.h:197
+
PxReal longitudinalSlip
Longitudinal slip of the tire.
Definition: PxVehicleUpdate.h:199
Definition: PxVehicleTireFriction.h:53
PxVec3 suspLineDir
Directions of suspension line raycast/sweep used in the raycast/sweep completed immediately before Px...
Definition: PxVehicleUpdate.h:81
PxActor is the base class for the main simulation objects in the physics SDK.
Definition: PxActor.h:154
-
PxVec3 tireLongitudinalDir
Forward direction of the wheel/tire accounting for steer/toe/camber angle projected on to the contact...
Definition: PxVehicleUpdate.h:179
+
PxVec3 tireLongitudinalDir
Forward direction of the wheel/tire accounting for steer/toe/camber angle projected on to the contact...
Definition: PxVehicleUpdate.h:181
Abstract class for collision shapes.
Definition: PxShape.h:142
Batched queries object. This is used to perform several queries at the same time. ...
Definition: PxBatchQuery.h:57
float PxReal
Definition: PxSimpleTypes.h:78
uint32_t PxU32
Definition: PxSimpleTypes.h:71
PX_DEPRECATED PxBatchQueryResult< PxRaycastHit > PxRaycastQueryResult
Convenience typedef for the result of a batched raycast query.
Definition: PxBatchQueryDesc.h:102
-
PxTransform localPose
Definition: PxVehicleUpdate.h:260
-
PxVec3 hitActorForce
Definition: PxVehicleUpdate.h:262
-
Definition: PxVehicleUpdate.h:221
-
PxU32 nbConcurrentWheelUpdates
The length of the concurrentWheelUpdates buffer. This value corresponds to the number of wheels in th...
Definition: PxVehicleUpdate.h:299
-
bool wakeup
Definition: PxVehicleUpdate.h:306
-
const PxMaterial * tireSurfaceMaterial
PxMaterial instance of the driving surface under the corresponding vehicle wheel. ...
Definition: PxVehicleUpdate.h:117
+
PxTransform localPose
Definition: PxVehicleUpdate.h:262
+
PxVec3 hitActorForce
Definition: PxVehicleUpdate.h:264
+
Definition: PxVehicleUpdate.h:223
+
PxU32 nbConcurrentWheelUpdates
The length of the concurrentWheelUpdates buffer. This value corresponds to the number of wheels in th...
Definition: PxVehicleUpdate.h:301
+
bool wakeup
Definition: PxVehicleUpdate.h:308
+
const PxMaterial * tireSurfaceMaterial
PxMaterial instance of the driving surface under the corresponding vehicle wheel. ...
Definition: PxVehicleUpdate.h:119
PxU32 PxVehicleModifyWheelContacts(const PxVehicleWheels &vehicle, const PxU32 wheelId, const PxF32 wheelTangentVelocityMultiplier, const PxReal maxImpulse, PxContactModifyPair &contactModifyPair)
A function called from PxContactModifyCallback::onContactModify. The function determines if rigid bod...
-
Structure containing data that is computed for a vehicle and its wheels during concurrent calls to Px...
Definition: PxVehicleUpdate.h:273
+
Structure containing data that is computed for a vehicle and its wheels during concurrent calls to Px...
Definition: PxVehicleUpdate.h:275
-
PxTransform localPose
Local pose of the wheel.
Definition: PxVehicleUpdate.h:218
+
PxTransform localPose
Local pose of the wheel.
Definition: PxVehicleUpdate.h:220
PxReal suspLineLength
Lengths of suspension line raycast/sweep used in raycast/sweep completed immediately before PxVehicle...
Definition: PxVehicleUpdate.h:88
-
PxVec3 angularMomentumChange
Definition: PxVehicleUpdate.h:304
-
PxWheelQueryResult * wheelQueryResults
Pointer to an PxWheelQueryResult buffer of length nbWheelQueryResults The wheelQueryResults buffer mu...
Definition: PxVehicleUpdate.h:231
+
PxVec3 angularMomentumChange
Definition: PxVehicleUpdate.h:306
+
PxWheelQueryResult * wheelQueryResults
Pointer to an PxWheelQueryResult buffer of length nbWheelQueryResults The wheelQueryResults buffer mu...
Definition: PxVehicleUpdate.h:233
PxWheelQueryResult()
Definition: PxVehicleUpdate.h:61
-
PxU32 nbWheelQueryResults
The length of the wheelQueryResults buffer. This value corresponds to the number of wheels in the ass...
Definition: PxVehicleUpdate.h:237
-
PxRigidDynamic * hitActor
Definition: PxVehicleUpdate.h:261
-
bool staySleeping
Definition: PxVehicleUpdate.h:305
+
PxU32 nbWheelQueryResults
The length of the wheelQueryResults buffer. This value corresponds to the number of wheels in the ass...
Definition: PxVehicleUpdate.h:239
+
PxRigidDynamic * hitActor
Definition: PxVehicleUpdate.h:263
+
bool staySleeping
Definition: PxVehicleUpdate.h:307
class representing a rigid euclidean transform as a quaternion and a vector
Definition: PxTransform.h:48
-
PxReal suspJounce
Compression of the suspension spring.
Definition: PxVehicleUpdate.h:162
+
PxReal suspJounce
Compression of the suspension spring.
Definition: PxVehicleUpdate.h:164
-
PxU32 tireSurfaceType
Surface type integer that corresponds to the mapping between tireSurfaceMaterial and integer as descr...
Definition: PxVehicleUpdate.h:128
-
PxVec3 tireContactPoint
Point on the drivable surface hit by the most recent suspension raycast or sweep. ...
Definition: PxVehicleUpdate.h:135
-
PxReal suspSpringForce
Magnitude of force applied by the suspension spring along the direction of suspension travel...
Definition: PxVehicleUpdate.h:171
-
PxReal lateralSlip
Lateral slip of the tire.
Definition: PxVehicleUpdate.h:207
-
PxShape * tireContactShape
PxShape instance of the driving surface under the corresponding vehicle wheel.
Definition: PxVehicleUpdate.h:110
+
PxU32 tireSurfaceType
Surface type integer that corresponds to the mapping between tireSurfaceMaterial and integer as descr...
Definition: PxVehicleUpdate.h:130
+
PxVec3 tireContactPoint
Point on the drivable surface hit by the most recent suspension raycast or sweep. ...
Definition: PxVehicleUpdate.h:137
+
PxReal suspSpringForce
Magnitude of force applied by the suspension spring along the direction of suspension travel...
Definition: PxVehicleUpdate.h:173
+
PxReal lateralSlip
Lateral slip of the tire.
Definition: PxVehicleUpdate.h:209
+
PxShape * tireContactShape
PxShape instance of the driving surface under the corresponding vehicle wheel.
Definition: PxVehicleUpdate.h:112
-
Data structure with instanced dynamics data and configuration data of a vehicle with just wheels...
Definition: PxVehicleWheels.h:676
+
Data structure with instanced dynamics data and configuration data of a vehicle with just wheels...
Definition: PxVehicleWheels.h:733
PxVec3 suspLineStart
Start point of suspension line raycast/sweep used in the raycast/sweep completed immediately before P...
Definition: PxVehicleUpdate.h:74
Material class to represent a set of surface properties.
Definition: PxMaterial.h:143
-
PxVehicleWheelConcurrentUpdateData * concurrentWheelUpdates
Pointer to an PxVehicleWheelConcurrentUpdate buffer of length nbConcurrentWheelUpdates The concurrent...
Definition: PxVehicleUpdate.h:293
-
PxReal tireFriction
Friction experienced by the tire for the combination of tire type and surface type after accounting f...
Definition: PxVehicleUpdate.h:152
-
PxVehicleConcurrentUpdateData()
Definition: PxVehicleUpdate.h:277
-
PxVec3 linearMomentumChange
Definition: PxVehicleUpdate.h:303
-
PxVec3 tireLateralDir
Lateral direction of the wheel/tire accounting for steer/toe/camber angle projected on to the contact...
Definition: PxVehicleUpdate.h:187
+
PxVehicleWheelConcurrentUpdateData * concurrentWheelUpdates
Pointer to an PxVehicleWheelConcurrentUpdate buffer of length nbConcurrentWheelUpdates The concurrent...
Definition: PxVehicleUpdate.h:295
+
PxReal tireFriction
Friction experienced by the tire for the combination of tire type and surface type after accounting f...
Definition: PxVehicleUpdate.h:154
+
PxVehicleConcurrentUpdateData()
Definition: PxVehicleUpdate.h:279
+
PxVec3 linearMomentumChange
Definition: PxVehicleUpdate.h:305
+
PxVec3 tireLateralDir
Lateral direction of the wheel/tire accounting for steer/toe/camber angle projected on to the contact...
Definition: PxVehicleUpdate.h:189
void PxVehicleSuspensionRaycasts(PxBatchQuery *batchQuery, const PxU32 nbVehicles, PxVehicleWheels **vehicles, const PxU32 nbSceneQueryResults, PxRaycastQueryResult *sceneQueryResults, const bool *vehiclesToRaycast=NULL)
Perform raycasts for all suspension lines for all vehicles.
uint16_t PxU16
Definition: PxSimpleTypes.h:73
-
PxVec3 tireContactNormal
Normal on the drivable surface at the hit point of the most recent suspension raycast or sweep...
Definition: PxVehicleUpdate.h:142
+
PxVec3 tireContactNormal
Normal on the drivable surface at the hit point of the most recent suspension raycast or sweep...
Definition: PxVehicleUpdate.h:144
void PxVehicleUpdates(const PxReal timestep, const PxVec3 &gravity, const PxVehicleDrivableSurfaceToTireFrictionPairs &vehicleDrivableSurfaceToTireFrictionPairs, const PxU32 nbVehicles, PxVehicleWheels **vehicles, PxVehicleWheelQueryResult *vehicleWheelQueryResults, PxVehicleConcurrentUpdateData *vehicleConcurrentUpdates=NULL)
Update an array of vehicles by either applying an acceleration to the rigid body actor associated wit...
uint32_t PxU32
Definition: Px.h:48
Structure containing data describing the non-persistent state of each suspension/wheel/tire unit...
Definition: PxVehicleUpdate.h:59
PX_FORCE_INLINE void * PxMemZero(void *dest, PxU32 count)
Sets the bytes of the provided buffer to zero.
Definition: PxMemory.h:54
-
PxActor * tireContactActor
PxActor instance of the driving surface under the corresponding vehicle wheel.
Definition: PxVehicleUpdate.h:103
-
Structure containing data that is computed for a wheel during concurrent calls to PxVehicleUpdates bu...
Definition: PxVehicleUpdate.h:246
+
PxActor * tireContactActor
PxActor instance of the driving surface under the corresponding vehicle wheel.
Definition: PxVehicleUpdate.h:105
+
Structure containing data that is computed for a wheel during concurrent calls to PxVehicleUpdates bu...
Definition: PxVehicleUpdate.h:248
3 Element vector class.
Definition: PxVec3.h:49
void PxVehiclePostUpdates(const PxVehicleConcurrentUpdateData *vehicleConcurrentUpdates, const PxU32 nbVehicles, PxVehicleWheels **vehicles)
Apply actor changes that were computed in concurrent calls to PxVehicleUpdates but which could not be...
void PxVehicleShiftOrigin(const PxVec3 &shift, const PxU32 nbVehicles, PxVehicleWheels **vehicles)
Shift the origin of vehicles by the specified vector.
diff --git a/physx/documentation/PhysXAPI/files/PxVehicleUtilSetup_8h_source.html b/physx/documentation/PhysXAPI/files/PxVehicleUtilSetup_8h_source.html index ef2982364..a1810da99 100644 --- a/physx/documentation/PhysXAPI/files/PxVehicleUtilSetup_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxVehicleUtilSetup_8h_source.html @@ -94,15 +94,15 @@
void PxVehicle4WEnable3WDeltaMode(PxVehicleWheelsSimData &wheelsSimData, PxVehicleWheelsDynData &wheelsDynData, PxVehicleDriveSimData4W &driveSimData)
Reconfigure a PxVehicle4W instance as a three-wheeled car with delta config (1 front wheel...
float PxReal
Definition: PxSimpleTypes.h:78
-
Data structure with instanced dynamics data for wheels.
Definition: PxVehicleWheels.h:533
+
Data structure with instanced dynamics data for wheels.
Definition: PxVehicleWheels.h:590
void PxVehicle4WEnable3WTadpoleMode(PxVehicleWheelsSimData &wheelsSimData, PxVehicleWheelsDynData &wheelsDynData, PxVehicleDriveSimData4W &driveSimData)
Reconfigure a PxVehicle4W instance as a three-wheeled car with tadpole config (2 front wheels...
-
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:59
+
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:91
Used by PxVehicleCopyDynamicsData.
Definition: PxVehicleUtilSetup.h:115
uint8_t PxU8
Definition: PxSimpleTypes.h:75
class representing a rigid euclidean transform as a quaternion and a vector
Definition: PxTransform.h:48
void PxVehicleUpdateCMassLocalPose(const PxTransform &oldCMassLocalPose, const PxTransform &newCMassLocalPose, const PxU32 gravityDirection, PxVehicleWheels *vehicle)
Reconfigure the vehicle to reflect a new center of mass local pose that has been applied to the actor...
-
Data structure with instanced dynamics data and configuration data of a vehicle with just wheels...
Definition: PxVehicleWheels.h:676
+
Data structure with instanced dynamics data and configuration data of a vehicle with just wheels...
Definition: PxVehicleWheels.h:733
uint32_t PxU32
Definition: Px.h:48
3 Element vector class.
Definition: PxVec3.h:49
Data structure describing the drive model components of a vehicle with up to 4 driven wheels and up t...
Definition: PxVehicleDrive4W.h:59
diff --git a/physx/documentation/PhysXAPI/files/PxVehicleUtil_8h_source.html b/physx/documentation/PhysXAPI/files/PxVehicleUtil_8h_source.html index 9494a4a95..e09a7203e 100644 --- a/physx/documentation/PhysXAPI/files/PxVehicleUtil_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxVehicleUtil_8h_source.html @@ -88,7 +88,7 @@
Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 #ifndef PX_VEHICLE_UTILHELPER_H
31 #define PX_VEHICLE_UTILHELPER_H
32 
36 #include "foundation/Px.h"
37 
38 #if !PX_DOXYGEN
39 namespace physx
40 {
41 #endif
42 
44 
57 bool PxVehicleIsInAir(const PxVehicleWheelQueryResult& vehWheelQueryResults);
58 
59 #if !PX_DOXYGEN
60 } // namespace physx
61 #endif
62 
64 #endif //PX_VEHICLE_UTILHELPER_H
Definition: GuContactBuffer.h:37
-
Definition: PxVehicleUpdate.h:221
+
Definition: PxVehicleUpdate.h:223
bool PxVehicleIsInAir(const PxVehicleWheelQueryResult &vehWheelQueryResults)
Test if all wheels of a vehicle are in the air by querying the wheel query data stored in the last ca...
diff --git a/physx/documentation/PhysXAPI/files/PxVehicleWheels_8h.html b/physx/documentation/PhysXAPI/files/PxVehicleWheels_8h.html index 76441b6b1..53b47041c 100644 --- a/physx/documentation/PhysXAPI/files/PxVehicleWheels_8h.html +++ b/physx/documentation/PhysXAPI/files/PxVehicleWheels_8h.html @@ -84,6 +84,7 @@
PxVehicleWheels.h File Reference
@@ -113,6 +114,9 @@ + + + @@ -123,6 +127,12 @@

Classes

struct  PxVehicleWheelsSimFlag
 Flags to configure the vehicle wheel simulation. More...
 
class  PxVehicleWheelsSimData
 Data structure describing configuration data of a vehicle with up to 20 wheels. More...
 
 Data structure with instanced dynamics data and configuration data of a vehicle with just wheels. More...
 
+ + + + +

+Typedefs

typedef PxFlags< PxVehicleWheelsSimFlag::Enum, PxU32PxVehicleWheelsSimFlags
 Collection of set bits defined in PxVehicleWheelsSimFlag. More...
 
diff --git a/physx/documentation/PhysXAPI/files/PxVehicleWheels_8h.js b/physx/documentation/PhysXAPI/files/PxVehicleWheels_8h.js index 222a60c0b..637d9b1a6 100644 --- a/physx/documentation/PhysXAPI/files/PxVehicleWheels_8h.js +++ b/physx/documentation/PhysXAPI/files/PxVehicleWheels_8h.js @@ -1,4 +1,5 @@ var PxVehicleWheels_8h = [ + [ "PxVehicleWheelsSimFlags", "group__vehicle.html#gab5de07a7bd475df4e4c41f3f11ddcdb5", null ], [ "PX_COMPILE_TIME_ASSERT", "group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc", null ] ]; \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/PxVehicleWheels_8h_source.html b/physx/documentation/PhysXAPI/files/PxVehicleWheels_8h_source.html index 223e9a345..196f38b5c 100644 --- a/physx/documentation/PhysXAPI/files/PxVehicleWheels_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxVehicleWheels_8h_source.html @@ -86,112 +86,117 @@
PxVehicleWheels.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 
31 #ifndef PX_VEHICLE_WHEELS_H
32 #define PX_VEHICLE_WHEELS_H
33 
40 #include "common/PxBase.h"
41 #include "PxRigidDynamic.h"
42 
43 #if !PX_DOXYGEN
44 namespace physx
45 {
46 #endif
47 
48 class PxVehicleWheels4SimData;
49 class PxVehicleWheels4DynData;
50 class PxVehicleTireForceCalculator;
51 class PxShape;
52 class PxPhysics;
53 class PxMaterial;
54 
60 {
61 //= ATTENTION! =====================================================================================
62 // Changing the data layout of this class breaks the binary serialization format. See comments for
63 // PX_BINARY_SERIAL_VERSION. If a modification is required, please adjust the getBinaryMetaData
64 // function. If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
65 // accordingly.
66 //==================================================================================================
67 public:
68 
69  friend class PxVehicleWheels;
70  friend class PxVehicleNoDrive;
71  friend class PxVehicleDrive4W;
72  friend class PxVehicleDriveTank;
73  friend class PxVehicleUpdate;
74 
79  static PxVehicleWheelsSimData* allocate(const PxU32 nbWheels);
80 
94  void setChassisMass(const PxF32 chassisMass);
95 
100  void free();
101 
106  PxVehicleWheelsSimData& operator=(const PxVehicleWheelsSimData& src);
107 
114  void copy(const PxVehicleWheelsSimData& src, const PxU32 srcWheel, const PxU32 trgWheel);
115 
120  PxU32 getNbWheels() const {return mNbActiveWheels;}
121 
125  const PxVehicleSuspensionData& getSuspensionData(const PxU32 id) const;
126 
130  const PxVehicleWheelData& getWheelData(const PxU32 id) const;
131 
135  const PxVehicleTireData& getTireData(const PxU32 id) const;
136 
140  const PxVec3& getSuspTravelDirection(const PxU32 id) const;
141 
146  const PxVec3& getSuspForceAppPointOffset(const PxU32 id) const;
147 
152  const PxVec3& getTireForceAppPointOffset(const PxU32 id) const;
153 
157  const PxVec3& getWheelCentreOffset(const PxU32 id) const;
158 
168  PxI32 getWheelShapeMapping(const PxU32 wheelId) const;
169 
173  const PxFilterData& getSceneQueryFilterData(const PxU32 suspId) const;
174 
180  {
181  return mNbActiveAntiRollBars;
182  }
183 
192  const PxVehicleAntiRollBarData& getAntiRollBarData(const PxU32 antiRollId) const;
193 
198  {
199  return mNormalisedLoadFilter;
200  }
201 
207  void setSuspensionData(const PxU32 id, const PxVehicleSuspensionData& susp);
208 
214  void setWheelData(const PxU32 id, const PxVehicleWheelData& wheel);
215 
221  void setTireData(const PxU32 id, const PxVehicleTireData& tire);
222 
228  void setSuspTravelDirection(const PxU32 id, const PxVec3& dir);
229 
236  void setSuspForceAppPointOffset(const PxU32 id, const PxVec3& offset);
237 
244  void setTireForceAppPointOffset(const PxU32 id, const PxVec3& offset);
245 
252  void setWheelCentreOffset(const PxU32 id, const PxVec3& offset);
253 
274  void setWheelShapeMapping(const PxU32 wheelId, const PxI32 shapeId);
275 
283  void setSceneQueryFilterData(const PxU32 suspId, const PxFilterData& sqFilterData);
284 
289  void setTireLoadFilterData(const PxVehicleTireLoadFilterData& tireLoadFilter);
290 
315  PxU32 addAntiRollBarData(const PxVehicleAntiRollBarData& antiRoll);
316 
345  void disableWheel(const PxU32 wheel);
346 
353  void enableWheel(const PxU32 wheel);
354 
359  bool getIsWheelDisabled(const PxU32 wheel) const;
360 
391  void setSubStepCount(const PxReal thresholdLongitudinalSpeed, const PxU32 lowForwardSpeedSubStepCount, const PxU32 highForwardSpeedSubStepCount);
392 
409  void setMinLongSlipDenominator(const PxReal minLongSlipDenominator);
410 
411 private:
412 
418 
422  PxVehicleWheels4SimData* mWheels4SimData;
423 
428 
433 
438 
443 
448 
453  PxU32 mActiveWheelsBitmapBuffer[((PX_MAX_NB_WHEELS + 31) & ~31) >> 5];
454 
461 
467 
473 
478 
479 #if PX_P64_FAMILY
480  PxU32 mPad[2];
481 #else
482  PxU32 mPad[1];
483 #endif
484 
488  bool isValid() const;
489 
493  static PxU32 computeByteSize(const PxU32 numWheels);
494  static PxU8* patchUpPointers(const PxU32 numWheels, PxVehicleWheelsSimData* simData, PxU8* ptrIn);
495  PxVehicleWheelsSimData(const PxU32 numWheels);
496 
497 //serialization
498 public:
499  PxVehicleWheelsSimData(const PxEMPTY) : mNormalisedLoadFilter(PxEmpty) {}
500  static void getBinaryMetaData(PxOutputStream& stream);
501  PxU32 getNbWheels4() const { return mNbWheels4; }
502  PxU32 getNbSuspensionData() const { return mNbActiveWheels; }
503  PxU32 getNbWheelData() const { return mNbActiveWheels; }
504  PxU32 getNbSuspTravelDirection() const { return mNbActiveWheels; }
505  PxU32 getNbTireData() const { return mNbActiveWheels; }
506  PxU32 getNbSuspForceAppPointOffset() const { return mNbActiveWheels; }
507  PxU32 getNbTireForceAppPointOffset() const { return mNbActiveWheels; }
508  PxU32 getNbWheelCentreOffset() const { return mNbActiveWheels; }
509  PxU32 getNbWheelShapeMapping() const { return mNbActiveWheels; }
510  PxU32 getNbSceneQueryFilterData() const { return mNbActiveWheels; }
511  PxF32 getMinLongSlipDenominator() const {return mMinLongSlipDenominator;}
512  void setThresholdLongSpeed(const PxF32 f) {mThresholdLongitudinalSpeed = f;}
513  PxF32 getThresholdLongSpeed() const {return mThresholdLongitudinalSpeed;}
514  void setLowForwardSpeedSubStepCount(const PxU32 f) {mLowForwardSpeedSubStepCount = f;}
515  PxU32 getLowForwardSpeedSubStepCount() const {return mLowForwardSpeedSubStepCount;}
516  void setHighForwardSpeedSubStepCount(const PxU32 f) {mHighForwardSpeedSubStepCount = f;}
517  PxU32 getHighForwardSpeedSubStepCount() const {return mHighForwardSpeedSubStepCount;}
518  void setWheelEnabledState(const PxU32 wheel, const bool state) {if(state) {enableWheel(wheel);} else {disableWheel(wheel);}}
519  bool getWheelEnabledState(const PxU32 wheel) const {return !getIsWheelDisabled(wheel);}
520  PxU32 getNbWheelEnabledState() const {return mNbActiveWheels;}
521  PxU32 getNbAntiRollBars4() const { return mNbAntiRollBars4; }
522  PxU32 getNbAntiRollBarData() const {return mNbActiveAntiRollBars;}
523  void setAntiRollBarData(const PxU32 id, const PxVehicleAntiRollBarData& antiRoll);
526 //~serialization
527 };
529 
534 {
535 //= ATTENTION! =====================================================================================
536 // Changing the data layout of this class breaks the binary serialization format. See comments for
537 // PX_BINARY_SERIAL_VERSION. If a modification is required, please adjust the getBinaryMetaData
538 // function. If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
539 // accordingly.
540 //==================================================================================================
541 public:
542 
543  friend class PxVehicleWheels;
544  friend class PxVehicleDrive4W;
545  friend class PxVehicleDriveTank;
546  friend class PxVehicleUpdate;
547 
550 
555  void setToRestState();
556 
561  void setTireForceShaderFunction(PxVehicleComputeTireForce tireForceShaderFn);
562 
568  void setTireForceShaderData(const PxU32 tireId, const void* tireForceShaderData);
569 
573  const void* getTireForceShaderData(const PxU32 tireId) const;
574 
580  void setWheelRotationSpeed(const PxU32 wheelIdx, const PxReal speed);
581 
585  PxReal getWheelRotationSpeed(const PxU32 wheelIdx) const;
586 
592  void setWheelRotationAngle(const PxU32 wheelIdx, const PxReal angle);
593 
597  PxReal getWheelRotationAngle(const PxU32 wheelIdx) const;
598 
605  void setUserData(const PxU32 tireIdx, void* userData);
606 
610  void* getUserData(const PxU32 tireIdx) const;
611 
618  void copy(const PxVehicleWheelsDynData& src, const PxU32 srcWheel, const PxU32 trgWheel);
619 
620 private:
621 
625  PxVehicleWheels4DynData* mWheels4DynData;
626 
630  bool isValid() const;
631 
635  PxVehicleTireForceCalculator* mTireForceCalculators;
636 
641  void** mUserDatas;
642 
647 
652 
653  PxU32 mPad[3];
654 
658  static PxU32 computeByteSize(const PxU32 numWheels);
659  static PxU8* patchUpPointers(const PxU32 numWheels, PxVehicleWheelsDynData* dynData, PxU8* ptr);
660  PxVehicleWheelsDynData(const PxU32 numWheels);
661 
662 //serialization
663 public:
664  static void getBinaryMetaData(PxOutputStream& stream);
665  PxU32 getNbWheelRotationSpeed() const { return mNbActiveWheels; }
666  PxU32 getNbWheelRotationAngle() const { return mNbActiveWheels; }
667  PxVehicleWheels4DynData* getWheel4DynData() const { return mWheels4DynData; }
668 //~serialization
669 };
671 
676 class PxVehicleWheels : public PxBase
677 {
678 //= ATTENTION! =====================================================================================
679 // Changing the data layout of this class breaks the binary serialization format. See comments for
680 // PX_BINARY_SERIAL_VERSION. If a modification is required, please adjust the getBinaryMetaData
681 // function. If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
682 // accordingly.
683 //==================================================================================================
684 public:
685 
686  friend class PxVehicleUpdate;
687  friend class PxVehicleConstraintShader;
688 
693  PX_FORCE_INLINE PxU32 getVehicleType() const {return mType;}
694 
699 
703  PX_FORCE_INLINE const PxRigidDynamic* getRigidDynamicActor() const {return mActor;}
704 
709  PxReal computeForwardSpeed() const;
710 
715  PxReal computeSidewaysSpeed() const;
716 
721 
726 
727 protected:
728 
732  void setToRestState();
733 
737  bool isValid() const;
738 
742  static PxU32 computeByteSize(const PxU32 nbWheels);
743  static PxU8* patchupPointers(const PxU32 nbWheels, PxVehicleWheels* vehWheels, PxU8* ptr);
744  virtual void init(const PxU32 numWheels);
745 
750  void free();
751 
755  void setup
756  (PxPhysics* physics, PxRigidDynamic* vehActor,
757  const PxVehicleWheelsSimData& wheelsData,
758  const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels);
759 
764 
765 private:
766 
772 
774 
775 protected:
776 
781 
782 #if PX_P64_FAMILY
783  PxU8 mPad0[14];
784 #else
785  PxU8 mPad0[14];
786 #endif
787 
788 //serialization
789 public:
790  virtual void requiresObjects(PxProcessPxBaseCallback& c);
791  virtual const char* getConcreteTypeName() const { return "PxVehicleWheels"; }
792  virtual bool isKindOf(const char* name) const { return !::strcmp("PxVehicleWheels", name) || PxBase::isKindOf(name); }
793  virtual void preExportDataReset() {}
794  virtual void exportExtraData(PxSerializationContext&);
795  void importExtraData(PxDeserializationContext&);
796  void resolveReferences(PxDeserializationContext&);
797  static void getBinaryMetaData(PxOutputStream& stream);
798  PX_FORCE_INLINE PxU32 getNbNonDrivenWheels() const { return mNbNonDrivenWheels; }
799  PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags) {}
800  PxVehicleWheels(PxBaseFlags baseFlags) : PxBase(baseFlags), mWheelsSimData(PxEmpty) {}
801  virtual ~PxVehicleWheels() {}
802  virtual void release() { free(); }
803 //~serialization
804 };
805 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleWheels) & 15));
806 
807 #if !PX_DOXYGEN
808 } // namespace physx
809 #endif
810 
812 #endif //PX_VEHICLE_WHEELS_H
Definition: GuContactBuffer.h:37
-
PX_FORCE_INLINE PxU32 getNbNonDrivenWheels() const
Definition: PxVehicleWheels.h:798
-
PxU32 getNbWheelRotationAngle() const
Definition: PxVehicleWheels.h:666
-
PxU32 mNbNonDrivenWheels
Count the number of constraint connectors that have hit their callback when deleting a vehicle...
Definition: PxVehicleWheels.h:771
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 
31 #ifndef PX_VEHICLE_WHEELS_H
32 #define PX_VEHICLE_WHEELS_H
33 
40 #include "common/PxBase.h"
41 #include "PxRigidDynamic.h"
42 
43 #if !PX_DOXYGEN
44 namespace physx
45 {
46 #endif
47 
48 class PxVehicleWheels4SimData;
49 class PxVehicleWheels4DynData;
50 class PxVehicleTireForceCalculator;
51 class PxShape;
52 class PxPhysics;
53 class PxMaterial;
54 
61 {
62  enum Enum
63  {
75  eLIMIT_SUSPENSION_EXPANSION_VELOCITY = (1 << 0)
76  };
77 };
78 
85 PX_FLAGS_OPERATORS(PxVehicleWheelsSimFlag::Enum, PxU32)
86 
87 
92 {
93 //= ATTENTION! =====================================================================================
94 // Changing the data layout of this class breaks the binary serialization format. See comments for
95 // PX_BINARY_SERIAL_VERSION. If a modification is required, please adjust the getBinaryMetaData
96 // function. If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
97 // accordingly.
98 //==================================================================================================
99 public:
100 
101  friend class PxVehicleWheels;
102  friend class PxVehicleNoDrive;
103  friend class PxVehicleDrive4W;
104  friend class PxVehicleDriveTank;
105  friend class PxVehicleUpdate;
106 
111  static PxVehicleWheelsSimData* allocate(const PxU32 nbWheels);
112 
126  void setChassisMass(const PxF32 chassisMass);
127 
132  void free();
133 
138  PxVehicleWheelsSimData& operator=(const PxVehicleWheelsSimData& src);
139 
146  void copy(const PxVehicleWheelsSimData& src, const PxU32 srcWheel, const PxU32 trgWheel);
147 
152  PxU32 getNbWheels() const {return mNbActiveWheels;}
153 
157  const PxVehicleSuspensionData& getSuspensionData(const PxU32 id) const;
158 
162  const PxVehicleWheelData& getWheelData(const PxU32 id) const;
163 
167  const PxVehicleTireData& getTireData(const PxU32 id) const;
168 
172  const PxVec3& getSuspTravelDirection(const PxU32 id) const;
173 
178  const PxVec3& getSuspForceAppPointOffset(const PxU32 id) const;
179 
184  const PxVec3& getTireForceAppPointOffset(const PxU32 id) const;
185 
189  const PxVec3& getWheelCentreOffset(const PxU32 id) const;
190 
200  PxI32 getWheelShapeMapping(const PxU32 wheelId) const;
201 
205  const PxFilterData& getSceneQueryFilterData(const PxU32 suspId) const;
206 
212  {
213  return mNbActiveAntiRollBars;
214  }
215 
224  const PxVehicleAntiRollBarData& getAntiRollBarData(const PxU32 antiRollId) const;
225 
230  {
231  return mNormalisedLoadFilter;
232  }
233 
239  void setSuspensionData(const PxU32 id, const PxVehicleSuspensionData& susp);
240 
246  void setWheelData(const PxU32 id, const PxVehicleWheelData& wheel);
247 
253  void setTireData(const PxU32 id, const PxVehicleTireData& tire);
254 
260  void setSuspTravelDirection(const PxU32 id, const PxVec3& dir);
261 
268  void setSuspForceAppPointOffset(const PxU32 id, const PxVec3& offset);
269 
276  void setTireForceAppPointOffset(const PxU32 id, const PxVec3& offset);
277 
284  void setWheelCentreOffset(const PxU32 id, const PxVec3& offset);
285 
306  void setWheelShapeMapping(const PxU32 wheelId, const PxI32 shapeId);
307 
315  void setSceneQueryFilterData(const PxU32 suspId, const PxFilterData& sqFilterData);
316 
321  void setTireLoadFilterData(const PxVehicleTireLoadFilterData& tireLoadFilter);
322 
347  PxU32 addAntiRollBarData(const PxVehicleAntiRollBarData& antiRoll);
348 
377  void disableWheel(const PxU32 wheel);
378 
385  void enableWheel(const PxU32 wheel);
386 
391  bool getIsWheelDisabled(const PxU32 wheel) const;
392 
423  void setSubStepCount(const PxReal thresholdLongitudinalSpeed, const PxU32 lowForwardSpeedSubStepCount, const PxU32 highForwardSpeedSubStepCount);
424 
441  void setMinLongSlipDenominator(const PxReal minLongSlipDenominator);
442 
452  void setFlags(PxVehicleWheelsSimFlags flags);
453 
461  PxVehicleWheelsSimFlags getFlags() const;
462 
463 private:
464 
470 
474  PxVehicleWheels4SimData* mWheels4SimData;
475 
480 
485 
490 
495 
500 
505  PxU32 mActiveWheelsBitmapBuffer[((PX_MAX_NB_WHEELS + 31) & ~31) >> 5];
506 
513 
519 
525 
530 
537 
538 #if PX_P64_FAMILY
539  PxU32 mPad[1];
540 #endif
541 
545  bool isValid() const;
546 
550  static PxU32 computeByteSize(const PxU32 numWheels);
551  static PxU8* patchUpPointers(const PxU32 numWheels, PxVehicleWheelsSimData* simData, PxU8* ptrIn);
552  PxVehicleWheelsSimData(const PxU32 numWheels);
553 
554 //serialization
555 public:
556  PxVehicleWheelsSimData(const PxEMPTY) : mNormalisedLoadFilter(PxEmpty) {}
557  static void getBinaryMetaData(PxOutputStream& stream);
558  PxU32 getNbWheels4() const { return mNbWheels4; }
559  PxU32 getNbSuspensionData() const { return mNbActiveWheels; }
560  PxU32 getNbWheelData() const { return mNbActiveWheels; }
561  PxU32 getNbSuspTravelDirection() const { return mNbActiveWheels; }
562  PxU32 getNbTireData() const { return mNbActiveWheels; }
563  PxU32 getNbSuspForceAppPointOffset() const { return mNbActiveWheels; }
564  PxU32 getNbTireForceAppPointOffset() const { return mNbActiveWheels; }
565  PxU32 getNbWheelCentreOffset() const { return mNbActiveWheels; }
566  PxU32 getNbWheelShapeMapping() const { return mNbActiveWheels; }
567  PxU32 getNbSceneQueryFilterData() const { return mNbActiveWheels; }
568  PxF32 getMinLongSlipDenominator() const {return mMinLongSlipDenominator;}
569  void setThresholdLongSpeed(const PxF32 f) {mThresholdLongitudinalSpeed = f;}
570  PxF32 getThresholdLongSpeed() const {return mThresholdLongitudinalSpeed;}
571  void setLowForwardSpeedSubStepCount(const PxU32 f) {mLowForwardSpeedSubStepCount = f;}
572  PxU32 getLowForwardSpeedSubStepCount() const {return mLowForwardSpeedSubStepCount;}
573  void setHighForwardSpeedSubStepCount(const PxU32 f) {mHighForwardSpeedSubStepCount = f;}
574  PxU32 getHighForwardSpeedSubStepCount() const {return mHighForwardSpeedSubStepCount;}
575  void setWheelEnabledState(const PxU32 wheel, const bool state) {if(state) {enableWheel(wheel);} else {disableWheel(wheel);}}
576  bool getWheelEnabledState(const PxU32 wheel) const {return !getIsWheelDisabled(wheel);}
577  PxU32 getNbWheelEnabledState() const {return mNbActiveWheels;}
578  PxU32 getNbAntiRollBars4() const { return mNbAntiRollBars4; }
579  PxU32 getNbAntiRollBarData() const {return mNbActiveAntiRollBars;}
580  void setAntiRollBarData(const PxU32 id, const PxVehicleAntiRollBarData& antiRoll);
583 //~serialization
584 };
586 
591 {
592 //= ATTENTION! =====================================================================================
593 // Changing the data layout of this class breaks the binary serialization format. See comments for
594 // PX_BINARY_SERIAL_VERSION. If a modification is required, please adjust the getBinaryMetaData
595 // function. If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
596 // accordingly.
597 //==================================================================================================
598 public:
599 
600  friend class PxVehicleWheels;
601  friend class PxVehicleDrive4W;
602  friend class PxVehicleDriveTank;
603  friend class PxVehicleUpdate;
604 
607 
612  void setToRestState();
613 
618  void setTireForceShaderFunction(PxVehicleComputeTireForce tireForceShaderFn);
619 
625  void setTireForceShaderData(const PxU32 tireId, const void* tireForceShaderData);
626 
630  const void* getTireForceShaderData(const PxU32 tireId) const;
631 
637  void setWheelRotationSpeed(const PxU32 wheelIdx, const PxReal speed);
638 
642  PxReal getWheelRotationSpeed(const PxU32 wheelIdx) const;
643 
649  void setWheelRotationAngle(const PxU32 wheelIdx, const PxReal angle);
650 
654  PxReal getWheelRotationAngle(const PxU32 wheelIdx) const;
655 
662  void setUserData(const PxU32 tireIdx, void* userData);
663 
667  void* getUserData(const PxU32 tireIdx) const;
668 
675  void copy(const PxVehicleWheelsDynData& src, const PxU32 srcWheel, const PxU32 trgWheel);
676 
677 private:
678 
682  PxVehicleWheels4DynData* mWheels4DynData;
683 
687  bool isValid() const;
688 
692  PxVehicleTireForceCalculator* mTireForceCalculators;
693 
698  void** mUserDatas;
699 
704 
709 
710  PxU32 mPad[3];
711 
715  static PxU32 computeByteSize(const PxU32 numWheels);
716  static PxU8* patchUpPointers(const PxU32 numWheels, PxVehicleWheelsDynData* dynData, PxU8* ptr);
717  PxVehicleWheelsDynData(const PxU32 numWheels);
718 
719 //serialization
720 public:
721  static void getBinaryMetaData(PxOutputStream& stream);
722  PxU32 getNbWheelRotationSpeed() const { return mNbActiveWheels; }
723  PxU32 getNbWheelRotationAngle() const { return mNbActiveWheels; }
724  PxVehicleWheels4DynData* getWheel4DynData() const { return mWheels4DynData; }
725 //~serialization
726 };
728 
733 class PxVehicleWheels : public PxBase
734 {
735 //= ATTENTION! =====================================================================================
736 // Changing the data layout of this class breaks the binary serialization format. See comments for
737 // PX_BINARY_SERIAL_VERSION. If a modification is required, please adjust the getBinaryMetaData
738 // function. If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION
739 // accordingly.
740 //==================================================================================================
741 public:
742 
743  friend class PxVehicleUpdate;
744  friend class PxVehicleConstraintShader;
745 
750  PX_FORCE_INLINE PxU32 getVehicleType() const {return mType;}
751 
756 
760  PX_FORCE_INLINE const PxRigidDynamic* getRigidDynamicActor() const {return mActor;}
761 
766  PxReal computeForwardSpeed() const;
767 
772  PxReal computeSidewaysSpeed() const;
773 
778 
783 
784 protected:
785 
789  void setToRestState();
790 
794  bool isValid() const;
795 
799  static PxU32 computeByteSize(const PxU32 nbWheels);
800  static PxU8* patchupPointers(const PxU32 nbWheels, PxVehicleWheels* vehWheels, PxU8* ptr);
801  virtual void init(const PxU32 numWheels);
802 
807  void free();
808 
809  /*
810  \brief Deferred deletion.
811  */
812  void onConstraintRelease();
813 
817  void setup
818  (PxPhysics* physics, PxRigidDynamic* vehActor,
819  const PxVehicleWheelsSimData& wheelsData,
820  const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels);
821 
826 
827 private:
828 
834 
836 
837 protected:
838 
843 
844 #if PX_P64_FAMILY
845  PxU8 mPad0[14];
846 #else
847  PxU8 mPad0[14];
848 #endif
849 
850 //serialization
851 public:
852  virtual void requiresObjects(PxProcessPxBaseCallback& c);
853  virtual const char* getConcreteTypeName() const { return "PxVehicleWheels"; }
854  virtual bool isKindOf(const char* name) const { return !::strcmp("PxVehicleWheels", name) || PxBase::isKindOf(name); }
855  virtual void preExportDataReset() {}
856  virtual void exportExtraData(PxSerializationContext&);
857  void importExtraData(PxDeserializationContext&);
858  void resolveReferences(PxDeserializationContext&);
859  static void getBinaryMetaData(PxOutputStream& stream);
860  PX_FORCE_INLINE PxU32 getNbNonDrivenWheels() const { return mNbNonDrivenWheels; }
861  PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags) {}
862  PxVehicleWheels(PxBaseFlags baseFlags) : PxBase(baseFlags), mWheelsSimData(PxEmpty) {}
863  virtual ~PxVehicleWheels() {}
864  virtual void release() { free(); }
865 //~serialization
866 };
867 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleWheels) & 15));
868 
869 #if !PX_DOXYGEN
870 } // namespace physx
871 #endif
872 
874 #endif //PX_VEHICLE_WHEELS_H
Definition: GuContactBuffer.h:37
+
PX_FORCE_INLINE PxU32 getNbNonDrivenWheels() const
Definition: PxVehicleWheels.h:860
+
PxU32 getNbWheelRotationAngle() const
Definition: PxVehicleWheels.h:723
+
PxU32 mNbNonDrivenWheels
Count the number of constraint connectors that have hit their callback when deleting a vehicle...
Definition: PxVehicleWheels.h:833
#define PX_MAX_NB_WHEELS
This number is the maximum number of wheels allowed for a vehicle.
Definition: PxVehicleSDK.h:81
-
~PxVehicleWheelsDynData()
Definition: PxVehicleWheels.h:549
-
PxU8 mType
Vehicle type (eVehicleDriveTypes)
Definition: PxVehicleWheels.h:780
-
PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags)
Definition: PxVehicleWheels.h:799
+
~PxVehicleWheelsDynData()
Definition: PxVehicleWheels.h:606
+
PxU8 mType
Vehicle type (eVehicleDriveTypes)
Definition: PxVehicleWheels.h:842
+
PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags)
Definition: PxVehicleWheels.h:861
Definition: PxVehicleComponents.h:960
-
~PxVehicleWheelsSimData()
Definition: PxVehicleWheels.h:525
+
~PxVehicleWheelsSimData()
Definition: PxVehicleWheels.h:582
+
PxU32 mFlags
The vehicle wheel simulation flags.
Definition: PxVehicleWheels.h:536
PxRigidDynamic represents a dynamic rigid simulation object in the physics SDK.
Definition: PxRigidDynamic.h:83
float PxF32
Definition: PxSimpleTypes.h:76
PxFilterData is user-definable data which gets passed into the collision filtering shader and/or call...
Definition: PxFiltering.h:366
-
PxU32 getNbSuspTravelDirection() const
Definition: PxVehicleWheels.h:504
+
PxU32 getNbSuspTravelDirection() const
Definition: PxVehicleWheels.h:561
Data structure with instanced dynamics data and configuration data of a vehicle with no drive model...
Definition: PxVehicleNoDrive.h:56
-
PxU32 getNbWheelShapeMapping() const
Definition: PxVehicleWheels.h:509
-
PxF32 getThresholdLongSpeed() const
Definition: PxVehicleWheels.h:513
+
PxU32 getNbWheelShapeMapping() const
Definition: PxVehicleWheels.h:566
+
PxF32 getThresholdLongSpeed() const
Definition: PxVehicleWheels.h:570
-
PxU32 getNbAntiRollBars4() const
Definition: PxVehicleWheels.h:521
+
PxU32 getNbAntiRollBars4() const
Definition: PxVehicleWheels.h:578
Definition: PxVehicleComponents.h:818
Abstract class for collision shapes.
Definition: PxShape.h:142
#define PX_FORCE_INLINE
Definition: PxPreprocessor.h:346
Definition: PxVehicleComponents.h:1178
-
void ** mUserDatas
A userData pointer can be stored for each wheel.
Definition: PxVehicleWheels.h:641
+
void ** mUserDatas
A userData pointer can be stored for each wheel.
Definition: PxVehicleWheels.h:698
float PxReal
Definition: PxSimpleTypes.h:78
-
PxF32 mMinLongSlipDenominator
Minimum long slip denominator.
Definition: PxVehicleWheels.h:477
+
PxF32 mMinLongSlipDenominator
Minimum long slip denominator.
Definition: PxVehicleWheels.h:529
virtual bool isKindOf(const char *superClass) const
Returns whether a given type name matches with the type of this instance.
Definition: PxBase.h:178
-
PX_FORCE_INLINE PxU32 getVehicleType() const
Return the type of vehicle.
Definition: PxVehicleWheels.h:693
-
PxU32 getNbWheelRotationSpeed() const
Definition: PxVehicleWheels.h:665
-
PX_FORCE_INLINE const PxVehicleTireLoadFilterData & getTireLoadFilterData() const
Return the data that describes the filtering of the tire load to produce smoother handling at large t...
Definition: PxVehicleWheels.h:197
-
PxF32 getMinLongSlipDenominator() const
Definition: PxVehicleWheels.h:511
-
Data structure with instanced dynamics data for wheels.
Definition: PxVehicleWheels.h:533
-
virtual ~PxVehicleWheels()
Definition: PxVehicleWheels.h:801
-
PxU32 mLowForwardSpeedSubStepCount
Number of sub-steps that will be performed if the longitudinal speed of the vehicle is smaller than m...
Definition: PxVehicleWheels.h:466
+
PX_FORCE_INLINE PxU32 getVehicleType() const
Return the type of vehicle.
Definition: PxVehicleWheels.h:750
+
PxU32 getNbWheelRotationSpeed() const
Definition: PxVehicleWheels.h:722
+
PX_FORCE_INLINE const PxVehicleTireLoadFilterData & getTireLoadFilterData() const
Return the data that describes the filtering of the tire load to produce smoother handling at large t...
Definition: PxVehicleWheels.h:229
+
PxF32 getMinLongSlipDenominator() const
Definition: PxVehicleWheels.h:568
+
Data structure with instanced dynamics data for wheels.
Definition: PxVehicleWheels.h:590
+
virtual ~PxVehicleWheels()
Definition: PxVehicleWheels.h:863
+
PxU32 mLowForwardSpeedSubStepCount
Number of sub-steps that will be performed if the longitudinal speed of the vehicle is smaller than m...
Definition: PxVehicleWheels.h:518
void(* PxVehicleComputeTireForce)(const void *shaderData, const PxF32 tireFriction, const PxF32 longSlip, const PxF32 latSlip, const PxF32 camber, const PxF32 wheelOmega, const PxF32 wheelRadius, const PxF32 recipWheelRadius, const PxF32 restTireLoad, const PxF32 normalisedTireLoad, const PxF32 tireLoad, const PxF32 gravity, const PxF32 recipGravity, PxF32 &wheelTorque, PxF32 &tireLongForceMag, PxF32 &tireLatForceMag, PxF32 &tireAlignMoment)
Prototype of shader function that is used to compute wheel torque and tire forces.
Definition: PxVehicleShaders.h:65
-
PxVehicleWheelsDynData mWheelsDynData
Data describing the dynamic state of all wheels/suspension/tires.
Definition: PxVehicleWheels.h:725
-
PxU32 getLowForwardSpeedSubStepCount() const
Definition: PxVehicleWheels.h:515
-
void setThresholdLongSpeed(const PxF32 f)
Definition: PxVehicleWheels.h:512
-
virtual bool isKindOf(const char *name) const
Returns whether a given type name matches with the type of this instance.
Definition: PxVehicleWheels.h:792
-
PxVehicleWheels4SimData * mWheels4SimData
Wheels data organised in blocks of 4 wheels.
Definition: PxVehicleWheels.h:422
-
PX_FORCE_INLINE const PxRigidDynamic * getRigidDynamicActor() const
Get const ptr to PxRigidDynamic instance that is the vehicle&#39;s physx representation.
Definition: PxVehicleWheels.h:703
-
PxU32 getNbWheelData() const
Definition: PxVehicleWheels.h:503
+
PxVehicleWheelsDynData mWheelsDynData
Data describing the dynamic state of all wheels/suspension/tires.
Definition: PxVehicleWheels.h:782
+
PxU32 getLowForwardSpeedSubStepCount() const
Definition: PxVehicleWheels.h:572
+
void setThresholdLongSpeed(const PxF32 f)
Definition: PxVehicleWheels.h:569
+
virtual bool isKindOf(const char *name) const
Returns whether a given type name matches with the type of this instance.
Definition: PxVehicleWheels.h:854
+
PxVehicleWheels4SimData * mWheels4SimData
Wheels data organised in blocks of 4 wheels.
Definition: PxVehicleWheels.h:474
+
PX_FORCE_INLINE const PxRigidDynamic * getRigidDynamicActor() const
Get const ptr to PxRigidDynamic instance that is the vehicle&#39;s physx representation.
Definition: PxVehicleWheels.h:760
+
PxU32 getNbWheelData() const
Definition: PxVehicleWheels.h:560
PxU16 PxType
Definition: PxBase.h:49
-
virtual const char * getConcreteTypeName() const
Returns string name of dynamic type.
Definition: PxVehicleWheels.h:791
-
PxVehicleWheels4DynData * mWheels4DynData
Dynamics data arranged in blocks of 4 wheels.
Definition: PxVehicleWheels.h:625
+
virtual const char * getConcreteTypeName() const
Returns string name of dynamic type.
Definition: PxVehicleWheels.h:853
+
PxVehicleWheels4DynData * mWheels4DynData
Dynamics data arranged in blocks of 4 wheels.
Definition: PxVehicleWheels.h:682
Output stream class for I/O.
Definition: PxIO.h:114
-
PxU32 mHighForwardSpeedSubStepCount
Number of sub-steps that will be performed if the longitudinal speed of the vehicle is greater than o...
Definition: PxVehicleWheels.h:472
-
void setLowForwardSpeedSubStepCount(const PxU32 f)
Definition: PxVehicleWheels.h:514
+
PxFlags< PxVehicleWheelsSimFlag::Enum, PxU32 > PxVehicleWheelsSimFlags
Collection of set bits defined in PxVehicleWheelsSimFlag.
Definition: PxVehicleWheels.h:84
+
PxU32 mHighForwardSpeedSubStepCount
Number of sub-steps that will be performed if the longitudinal speed of the vehicle is greater than o...
Definition: PxVehicleWheels.h:524
+
void setLowForwardSpeedSubStepCount(const PxU32 f)
Definition: PxVehicleWheels.h:571
-
PxVehicleWheelsSimData()
Definition: PxVehicleWheels.h:524
-
PxU32 getNbWheels4() const
Definition: PxVehicleWheels.h:501
-
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:59
-
PX_FORCE_INLINE PxRigidDynamic * getRigidDynamicActor()
Get non-const ptr to PxRigidDynamic instance that is the vehicle&#39;s physx representation.
Definition: PxVehicleWheels.h:698
-
PxU32 mNbActiveWheels
Number of actual wheels (<=(mNbWheels4*4))
Definition: PxVehicleWheels.h:432
-
virtual void release()
Releases the PxBase instance, please check documentation of release in derived class.
Definition: PxVehicleWheels.h:802
-
PxVehicleWheels4DynData * getWheel4DynData() const
Definition: PxVehicleWheels.h:667
-
PxU32 mNbActiveAntiRollBars
Number of active anti-roll bars.
Definition: PxVehicleWheels.h:447
-
PxU32 getNbWheelCentreOffset() const
Definition: PxVehicleWheels.h:508
-
PxU32 getNbWheels() const
Return the number of wheels.
Definition: PxVehicleWheels.h:120
-
PxVehicleWheelsSimData(const PxEMPTY)
Definition: PxVehicleWheels.h:499
+
PxVehicleWheelsSimData()
Definition: PxVehicleWheels.h:581
+
PxU32 getNbWheels4() const
Definition: PxVehicleWheels.h:558
+
Data structure describing configuration data of a vehicle with up to 20 wheels.
Definition: PxVehicleWheels.h:91
+
PX_FORCE_INLINE PxRigidDynamic * getRigidDynamicActor()
Get non-const ptr to PxRigidDynamic instance that is the vehicle&#39;s physx representation.
Definition: PxVehicleWheels.h:755
+
PxU32 mNbActiveWheels
Number of actual wheels (<=(mNbWheels4*4))
Definition: PxVehicleWheels.h:484
+
virtual void release()
Releases the PxBase instance, please check documentation of release in derived class.
Definition: PxVehicleWheels.h:864
+
PxVehicleWheels4DynData * getWheel4DynData() const
Definition: PxVehicleWheels.h:724
+
PxU32 mNbActiveAntiRollBars
Number of active anti-roll bars.
Definition: PxVehicleWheels.h:499
+
PxU32 getNbWheelCentreOffset() const
Definition: PxVehicleWheels.h:565
+
PxU32 getNbWheels() const
Return the number of wheels.
Definition: PxVehicleWheels.h:152
+
PxU16 flags
a set of Px1DConstraintFlags
Definition: PxConstraintDesc.h:110
+
PxVehicleWheelsSimData(const PxEMPTY)
Definition: PxVehicleWheels.h:556
uint8_t PxU8
Definition: PxSimpleTypes.h:75
-
PxVehicleAntiRollBarData * mAntiRollBars
Anti-roll bars.
Definition: PxVehicleWheels.h:437
-
PxU32 mNbWheels4
Number of blocks of 4 wheels.
Definition: PxVehicleWheels.h:427
-
PxVehicleTireForceCalculator * mTireForceCalculators
Shader data and function for tire force calculations.
Definition: PxVehicleWheels.h:635
-
bool getWheelEnabledState(const PxU32 wheel) const
Definition: PxVehicleWheels.h:519
-
PxU32 getNbSuspensionData() const
Definition: PxVehicleWheels.h:502
+
PxVehicleAntiRollBarData * mAntiRollBars
Anti-roll bars.
Definition: PxVehicleWheels.h:489
+
PxU32 mNbWheels4
Number of blocks of 4 wheels.
Definition: PxVehicleWheels.h:479
+
PxVehicleTireForceCalculator * mTireForceCalculators
Shader data and function for tire force calculations.
Definition: PxVehicleWheels.h:692
+
bool getWheelEnabledState(const PxU32 wheel) const
Definition: PxVehicleWheels.h:576
+
PxU32 getNbSuspensionData() const
Definition: PxVehicleWheels.h:559
Definition: PxVehicleComponents.h:1138
-
virtual void preExportDataReset()
Definition: PxVehicleWheels.h:793
-
PxU32 getNbTireData() const
Definition: PxVehicleWheels.h:505
+
virtual void preExportDataReset()
Definition: PxVehicleWheels.h:855
+
PxU32 getNbTireData() const
Definition: PxVehicleWheels.h:562
#define PX_COMPILE_TIME_ASSERT(exp)
Definition: PxPreprocessor.h:429
-
PxVehicleWheels(PxBaseFlags baseFlags)
Definition: PxVehicleWheels.h:800
-
void setWheelEnabledState(const PxU32 wheel, const bool state)
Definition: PxVehicleWheels.h:518
-
PxU32 mNbActiveWheels
Number of wheels (mNbActiveWheels <= (mNbWheels4*4))
Definition: PxVehicleWheels.h:651
+
PxVehicleWheels(PxBaseFlags baseFlags)
Definition: PxVehicleWheels.h:862
+
void setWheelEnabledState(const PxU32 wheel, const bool state)
Definition: PxVehicleWheels.h:575
+
PxU32 mNbActiveWheels
Number of wheels (mNbActiveWheels <= (mNbWheels4*4))
Definition: PxVehicleWheels.h:708
Data structure with instanced dynamics data and configuration data of a vehicle with up to 4 driven w...
Definition: PxVehicleDrive4W.h:176
-
PxF32 mThresholdLongitudinalSpeed
Threshold longitudinal speed used to decide whether to use mLowForwardSpeedSubStepCount or mHighForwa...
Definition: PxVehicleWheels.h:460
+
PxF32 mThresholdLongitudinalSpeed
Threshold longitudinal speed used to decide whether to use mLowForwardSpeedSubStepCount or mHighForwa...
Definition: PxVehicleWheels.h:512
int32_t PxI32
Definition: PxSimpleTypes.h:70
-
PxU8 mOnConstraintReleaseCounter
Definition: PxVehicleWheels.h:773
-
PxVehicleWheelsDynData()
Definition: PxVehicleWheels.h:548
-
PxU32 getNbAntiRollBars() const
Return the number of unique anti-roll bars that have been added with addAntiRollBarData.
Definition: PxVehicleWheels.h:179
-
PxU32 getNbAntiRollBarData() const
Definition: PxVehicleWheels.h:522
-
PxVehicleWheelsSimData mWheelsSimData
Data describing the setup of all the wheels/suspensions/tires.
Definition: PxVehicleWheels.h:720
-
Data structure with instanced dynamics data and configuration data of a vehicle with just wheels...
Definition: PxVehicleWheels.h:676
+
PxU8 mOnConstraintReleaseCounter
Definition: PxVehicleWheels.h:835
+
PxVehicleWheelsDynData()
Definition: PxVehicleWheels.h:605
+
Flags to configure the vehicle wheel simulation.
Definition: PxVehicleWheels.h:60
+
PxU32 getNbAntiRollBars() const
Return the number of unique anti-roll bars that have been added with addAntiRollBarData.
Definition: PxVehicleWheels.h:211
+
PxU32 getNbAntiRollBarData() const
Definition: PxVehicleWheels.h:579
+
PxVehicleWheelsSimData mWheelsSimData
Data describing the setup of all the wheels/suspensions/tires.
Definition: PxVehicleWheels.h:777
+
Data structure with instanced dynamics data and configuration data of a vehicle with just wheels...
Definition: PxVehicleWheels.h:733
PxEMPTY
Definition: Px.h:70
-
PxU32 getNbWheelEnabledState() const
Definition: PxVehicleWheels.h:520
+
PxU32 getNbWheelEnabledState() const
Definition: PxVehicleWheels.h:577
Binary deserialization context class.
Definition: PxSerialFramework.h:174
Material class to represent a set of surface properties.
Definition: PxMaterial.h:143
-
void setHighForwardSpeedSubStepCount(const PxU32 f)
Definition: PxVehicleWheels.h:516
-
PxU32 mNbAntiRollBars4
2 anti-rollbars allocated for each block of 4 wheels.
Definition: PxVehicleWheels.h:442
- +
void setHighForwardSpeedSubStepCount(const PxU32 f)
Definition: PxVehicleWheels.h:573
+
PxU32 mNbAntiRollBars4
2 anti-rollbars allocated for each block of 4 wheels.
Definition: PxVehicleWheels.h:494
+
Container for bitfield flag variables associated with a specific enum type.
Definition: PxFlags.h:73
Abstract singleton factory class used for instancing objects in the Physics SDK.
Definition: PxPhysics.h:71
-
PxU32 getHighForwardSpeedSubStepCount() const
Definition: PxVehicleWheels.h:517
+
Enum
Definition: PxVehicleWheels.h:62
+
PxU32 getHighForwardSpeedSubStepCount() const
Definition: PxVehicleWheels.h:574
uint32_t PxU32
Definition: Px.h:48
-
PxRigidDynamic * mActor
The rigid body actor that represents the vehicle in the PhysX SDK.
Definition: PxVehicleWheels.h:763
+
PxRigidDynamic * mActor
The rigid body actor that represents the vehicle in the PhysX SDK.
Definition: PxVehicleWheels.h:825
Tire load variation can be strongly dependent on the time-step so it is a good idea to filter it to g...
Definition: PxVehicleComponents.h:762
-
PxU32 mNbWheels4
Number of blocks of 4 wheels.
Definition: PxVehicleWheels.h:646
-
PxU32 getNbSuspForceAppPointOffset() const
Definition: PxVehicleWheels.h:506
+
PxU32 mNbWheels4
Number of blocks of 4 wheels.
Definition: PxVehicleWheels.h:703
+
PxU32 getNbSuspForceAppPointOffset() const
Definition: PxVehicleWheels.h:563
Data structure with instanced dynamics data and configuration data of a tank.
Definition: PxVehicleDriveTank.h:150
Base class for objects that can be members of a PxCollection.
Definition: PxBase.h:73
Binary serialization context class.
Definition: PxSerialFramework.h:99
-
PxU32 getNbTireForceAppPointOffset() const
Definition: PxVehicleWheels.h:507
+
PxU32 getNbTireForceAppPointOffset() const
Definition: PxVehicleWheels.h:564
Callback class used to process PxBase objects.
Definition: PxSerialFramework.h:81
-
PxU32 getNbSceneQueryFilterData() const
Definition: PxVehicleWheels.h:510
-
PxVehicleTireLoadFilterData mNormalisedLoadFilter
Graph to filter normalised load.
Definition: PxVehicleWheels.h:417
+
PxU32 getNbSceneQueryFilterData() const
Definition: PxVehicleWheels.h:567
+
PxVehicleTireLoadFilterData mNormalisedLoadFilter
Graph to filter normalised load.
Definition: PxVehicleWheels.h:469
3 Element vector class.
Definition: PxVec3.h:49
Definition: Px.h:72
diff --git a/physx/documentation/PhysXAPI/files/PxWindowsIntrinsics_8h.html b/physx/documentation/PhysXAPI/files/PxWindowsIntrinsics_8h.html index 2b61f4d8f..6ed7a8308 100644 --- a/physx/documentation/PhysXAPI/files/PxWindowsIntrinsics_8h.html +++ b/physx/documentation/PhysXAPI/files/PxWindowsIntrinsics_8h.html @@ -646,7 +646,7 @@

diff --git a/physx/documentation/PhysXAPI/files/PxWindowsIntrinsics_8h_source.html b/physx/documentation/PhysXAPI/files/PxWindowsIntrinsics_8h_source.html index 469d5b784..cf334839a 100644 --- a/physx/documentation/PhysXAPI/files/PxWindowsIntrinsics_8h_source.html +++ b/physx/documentation/PhysXAPI/files/PxWindowsIntrinsics_8h_source.html @@ -116,7 +116,7 @@ diff --git a/physx/documentation/PhysXAPI/files/Px_8h.html b/physx/documentation/PhysXAPI/files/Px_8h.html index 21dc4149d..b0406a87a 100644 --- a/physx/documentation/PhysXAPI/files/Px_8h.html +++ b/physx/documentation/PhysXAPI/files/Px_8h.html @@ -174,7 +174,7 @@ diff --git a/physx/documentation/PhysXAPI/files/Px_8h_source.html b/physx/documentation/PhysXAPI/files/Px_8h_source.html index 119ff24f7..b75ec4464 100644 --- a/physx/documentation/PhysXAPI/files/Px_8h_source.html +++ b/physx/documentation/PhysXAPI/files/Px_8h_source.html @@ -117,7 +117,7 @@ diff --git a/physx/documentation/PhysXAPI/files/Pxc_8h_source.html b/physx/documentation/PhysXAPI/files/Pxc_8h_source.html index 5aed66e13..0e0565719 100644 --- a/physx/documentation/PhysXAPI/files/Pxc_8h_source.html +++ b/physx/documentation/PhysXAPI/files/Pxc_8h_source.html @@ -86,7 +86,7 @@
Pxc.h
-Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 
31 #ifndef PX_COOKING_NX
32 #define PX_COOKING_NX
33 
34 #include "foundation/Px.h"
35 
36 // define API function declaration
37 #if !defined PX_PHYSX_STATIC_LIB
38  #if PX_WINDOWS_FAMILY
39  #if defined PX_PHYSX_COOKING_EXPORTS
40  #define PX_PHYSX_COOKING_API __declspec(dllexport)
41  #else
42  #define PX_PHYSX_COOKING_API __declspec(dllimport)
43  #endif
44  #elif PX_UNIX_FAMILY
45  #define PX_PHYSX_COOKING_API PX_UNIX_EXPORT
46  #endif
47 #endif
48 
49 #if !defined(PX_PHYSX_COOKING_API)
50  #define PX_PHYSX_COOKING_API
51 #endif
52 
53 #ifndef PX_C_EXPORT
54  #define PX_C_EXPORT extern "C"
55 #endif
56 
57 #endif
+Go to the documentation of this file.
1 //
2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions
4 // are met:
5 // * Redistributions of source code must retain the above copyright
6 // notice, this list of conditions and the following disclaimer.
7 // * Redistributions in binary form must reproduce the above copyright
8 // notice, this list of conditions and the following disclaimer in the
9 // documentation and/or other materials provided with the distribution.
10 // * Neither the name of NVIDIA CORPORATION nor the names of its
11 // contributors may be used to endorse or promote products derived
12 // from this software without specific prior written permission.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
15 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 //
26 // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved.
27 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29 
30 
31 #ifndef PX_COOKING_NX
32 #define PX_COOKING_NX
33 
34 #include "foundation/Px.h"
35 
36 // define API function declaration
37 #if !defined PX_PHYSX_STATIC_LIB
38  #if (PX_WINDOWS_FAMILY || PX_XBOXONE || PX_PS4)
39  #if defined PX_PHYSX_COOKING_EXPORTS
40  #define PX_PHYSX_COOKING_API __declspec(dllexport)
41  #else
42  #define PX_PHYSX_COOKING_API __declspec(dllimport)
43  #endif
44  #elif PX_UNIX_FAMILY
45  #define PX_PHYSX_COOKING_API PX_UNIX_EXPORT
46  #endif
47 #endif
48 
49 #if !defined(PX_PHYSX_COOKING_API)
50  #define PX_PHYSX_COOKING_API
51 #endif
52 
53 #ifndef PX_C_EXPORT
54  #define PX_C_EXPORT extern "C"
55 #endif
56 
57 #endif
diff --git a/physx/documentation/PhysXAPI/files/annotated.html b/physx/documentation/PhysXAPI/files/annotated.html index e99eec7c5..fc38977dd 100644 --- a/physx/documentation/PhysXAPI/files/annotated.html +++ b/physx/documentation/PhysXAPI/files/annotated.html @@ -402,87 +402,89 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Functions

 PX_COMPILE_TIME_ASSERT (0==(sizeof(PxVehicleChassisData)&0x0f))
 CPxSolverContactDesc
 CPxSolverTypeEnum for selecting the type of solver used for the simulation
 CPxSpatialForce
 CPxSphereGeometryA class representing the geometry of a sphere
 CPxSphericalJointA joint which behaves in a similar way to a ball and socket
 CPxSphericalJointFlagFlags specific to the spherical joint
 CPxSpring
 CPxStridedData
 CPxStrideIteratorIterator class for iterating over arrays of data that may be interleaved with other data
 CPxStringTableTable to manage strings. Strings allocated through this object are expected to be owned by this object
 CPxStringTableExtFactory class for creating PxStringTable with a specific allocator
 CPxSweepBufferNReturns touching sweep hits to the user in a fixed size array embedded in the buffer class
 CPxSweepHitStores results of sweep queries
 CPxTGSSolverBodyData
 CPxTGSSolverBodyTxInertia
 CPxTGSSolverBodyVel
 CPxTGSSolverConstraintPrepDesc
 CPxTGSSolverConstraintPrepDescBase
 CPxTGSSolverContactDesc
 CPxTolerancesScaleClass to define the scale at which simulation runs. Most simulation tolerances are calculated in terms of the values here
 CPxTransformClass representing a rigid euclidean transform as a quaternion and a vector
 CPxTriangleTriangle class
 CPxTriangleMeshA triangle mesh, also called a 'polygon soup'
 CPxTriangleMeshCookingResultResult from triangle mesh cooking
 CPxTriangleMeshDescDescriptor class for PxTriangleMesh
 CPxTriangleMeshFlagFlags for the mesh geometry properties
 CPxTriangleMeshGeometryTriangle mesh geometry class
 CPxTriggerPairDescriptor for a trigger pair
 CPxTriggerPairFlagCollection of flags providing information on trigger report pairs
 CPxTypedStridedData
 CPxTypeInfoStructure containing per-type information for types inheriting from PxBase
 CPxUserControllerHitReportUser callback class for character controller events
 CPxVec22 Element vector class
 CPxVec33 Element vector class
 CPxVec44 Element vector class
 CPxVehicleAckermannGeometryData
 CPxVehicleAntiRollBarData
 CPxVehicleAutoBoxData
 CPxVehicleChassisData
 CPxVehicleClutchAccuracyModeChoose between a potentially more expensive but more accurate solution to the clutch model or a potentially cheaper but less accurate solution
 CPxVehicleClutchData
 CPxVehicleConcreteTypeAn enumeration of concrete vehicle classes inheriting from PxBase
 CPxVehicleConcurrentUpdateDataStructure containing data that is computed for a vehicle and its wheels during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied
 CPxVehicleCopyDynamicsMapUsed by PxVehicleCopyDynamicsData
 CPxVehicleDifferential4WData
 CPxVehicleDifferentialNWData
 CPxVehicleDrivableSurfaceToTireFrictionPairsFriction for each combination of driving surface type and tire type
 CPxVehicleDrivableSurfaceTypeDriving surface type. Each PxMaterial is associated with a corresponding PxVehicleDrivableSurfaceType
 CPxVehicleDriveA complete vehicle with instance dynamics data and configuration data for wheels and engine,clutch,gears,autobox
 CPxVehicleDrive4WData structure with instanced dynamics data and configuration data of a vehicle with up to 4 driven wheels and up to 16 non-driven wheels
 CPxVehicleDrive4WControlThe control inputs for a PxVehicleDrive4W
 CPxVehicleDrive4WRawInputDataUsed to produce smooth vehicle driving control values from analog and digital inputs
 CPxVehicleDrive4WWheelOrderThe ordering of the driven and steered wheels of a PxVehicleDrive4W
 CPxVehicleDriveDynDataData structure with instanced dynamics data for vehicle with engine, clutch, gears, autobox
 CPxVehicleDriveNWData structure with instanced dynamics data and configuration data of a vehicle with up to PX_MAX_NB_WHEELS driven wheels
 CPxVehicleDriveNWControlThe control inputs for a PxVehicleDriveNW
 CPxVehicleDriveNWRawInputDataUsed to produce smooth vehicle driving control values from analog and digital inputs
 CPxVehicleDriveSimDataData structure describing non-wheel configuration data of a vehicle that has engine, gears, clutch, and auto-box
 CPxVehicleDriveSimData4WData structure describing the drive model components of a vehicle with up to 4 driven wheels and up to 16 un-driven wheels. The drive model incorporates engine, clutch, gears, autobox, differential, and Ackermann steer correction
 CPxVehicleDriveSimDataNWData structure describing configuration data of a vehicle with up to PX_MAX_NB_WHEELS driven equally through the differential. The vehicle has an engine, clutch, gears, autobox, differential
 CPxVehicleDriveTankData structure with instanced dynamics data and configuration data of a tank
 CPxVehicleDriveTankControlThe control inputs for a PxVehicleDriveTank
 CPxVehicleDriveTankControlModelTwo driving models are supported
 CPxVehicleDriveTankRawInputDataUsed to produce smooth analog tank control values from analog and digital inputs
 CPxVehicleDriveTankWheelOrderThe ordering of the wheels of a PxVehicleDriveTank
 CPxVehicleEngineData
 CPxVehicleGearsData
 CPxVehicleKeySmoothingDataUsed to produce smooth vehicle driving control values from key inputs
 CPxVehicleNoDriveData structure with instanced dynamics data and configuration data of a vehicle with no drive model
 CPxVehiclePadSmoothingDataUsed to produce smooth analog vehicle control values from analog inputs
 CPxVehicleSuspensionData
 CPxVehicleTireData
 CPxVehicleTireLoadFilterDataTire load variation can be strongly dependent on the time-step so it is a good idea to filter it to give less jerky handling behavior
 CPxVehicleTypes
 CPxVehicleUpdateMode
 CPxVehicleWheelConcurrentUpdateDataStructure containing data that is computed for a wheel during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied
 CPxVehicleWheelData
 CPxVehicleWheelQueryResult
 CPxVehicleWheelsData structure with instanced dynamics data and configuration data of a vehicle with just wheels
 CPxVehicleWheelsDynDataData structure with instanced dynamics data for wheels
 CPxVehicleWheelsSimDataData structure describing configuration data of a vehicle with up to 20 wheels
 CPxVisualizationParameterDebug visualization parameters
 CPxWheelQueryResultStructure containing data describing the non-persistent state of each suspension/wheel/tire unit. This structure is filled out in PxVehicleUpdates and PxVehicleUpdateSingleVehicleAndStoreTelemetryData
 CRaycastCCDManagerRaycast-CCD manager
 CPxSpatialVelocity
 CPxSphereGeometryA class representing the geometry of a sphere
 CPxSphericalJointA joint which behaves in a similar way to a ball and socket
 CPxSphericalJointFlagFlags specific to the spherical joint
 CPxSpring
 CPxStridedData
 CPxStrideIteratorIterator class for iterating over arrays of data that may be interleaved with other data
 CPxStringTableTable to manage strings. Strings allocated through this object are expected to be owned by this object
 CPxStringTableExtFactory class for creating PxStringTable with a specific allocator
 CPxSweepBufferNReturns touching sweep hits to the user in a fixed size array embedded in the buffer class
 CPxSweepHitStores results of sweep queries
 CPxTGSSolverBodyData
 CPxTGSSolverBodyTxInertia
 CPxTGSSolverBodyVel
 CPxTGSSolverConstraintPrepDesc
 CPxTGSSolverConstraintPrepDescBase
 CPxTGSSolverContactDesc
 CPxTolerancesScaleClass to define the scale at which simulation runs. Most simulation tolerances are calculated in terms of the values here
 CPxTransformClass representing a rigid euclidean transform as a quaternion and a vector
 CPxTriangleTriangle class
 CPxTriangleMeshA triangle mesh, also called a 'polygon soup'
 CPxTriangleMeshCookingResultResult from triangle mesh cooking
 CPxTriangleMeshDescDescriptor class for PxTriangleMesh
 CPxTriangleMeshFlagFlags for the mesh geometry properties
 CPxTriangleMeshGeometryTriangle mesh geometry class
 CPxTriggerPairDescriptor for a trigger pair
 CPxTriggerPairFlagCollection of flags providing information on trigger report pairs
 CPxTypedStridedData
 CPxTypeInfoStructure containing per-type information for types inheriting from PxBase
 CPxUserControllerHitReportUser callback class for character controller events
 CPxVec22 Element vector class
 CPxVec33 Element vector class
 CPxVec44 Element vector class
 CPxVehicleAckermannGeometryData
 CPxVehicleAntiRollBarData
 CPxVehicleAutoBoxData
 CPxVehicleChassisData
 CPxVehicleClutchAccuracyModeChoose between a potentially more expensive but more accurate solution to the clutch model or a potentially cheaper but less accurate solution
 CPxVehicleClutchData
 CPxVehicleConcreteTypeAn enumeration of concrete vehicle classes inheriting from PxBase
 CPxVehicleConcurrentUpdateDataStructure containing data that is computed for a vehicle and its wheels during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied
 CPxVehicleCopyDynamicsMapUsed by PxVehicleCopyDynamicsData
 CPxVehicleDifferential4WData
 CPxVehicleDifferentialNWData
 CPxVehicleDrivableSurfaceToTireFrictionPairsFriction for each combination of driving surface type and tire type
 CPxVehicleDrivableSurfaceTypeDriving surface type. Each PxMaterial is associated with a corresponding PxVehicleDrivableSurfaceType
 CPxVehicleDriveA complete vehicle with instance dynamics data and configuration data for wheels and engine,clutch,gears,autobox
 CPxVehicleDrive4WData structure with instanced dynamics data and configuration data of a vehicle with up to 4 driven wheels and up to 16 non-driven wheels
 CPxVehicleDrive4WControlThe control inputs for a PxVehicleDrive4W
 CPxVehicleDrive4WRawInputDataUsed to produce smooth vehicle driving control values from analog and digital inputs
 CPxVehicleDrive4WWheelOrderThe ordering of the driven and steered wheels of a PxVehicleDrive4W
 CPxVehicleDriveDynDataData structure with instanced dynamics data for vehicle with engine, clutch, gears, autobox
 CPxVehicleDriveNWData structure with instanced dynamics data and configuration data of a vehicle with up to PX_MAX_NB_WHEELS driven wheels
 CPxVehicleDriveNWControlThe control inputs for a PxVehicleDriveNW
 CPxVehicleDriveNWRawInputDataUsed to produce smooth vehicle driving control values from analog and digital inputs
 CPxVehicleDriveSimDataData structure describing non-wheel configuration data of a vehicle that has engine, gears, clutch, and auto-box
 CPxVehicleDriveSimData4WData structure describing the drive model components of a vehicle with up to 4 driven wheels and up to 16 un-driven wheels. The drive model incorporates engine, clutch, gears, autobox, differential, and Ackermann steer correction
 CPxVehicleDriveSimDataNWData structure describing configuration data of a vehicle with up to PX_MAX_NB_WHEELS driven equally through the differential. The vehicle has an engine, clutch, gears, autobox, differential
 CPxVehicleDriveTankData structure with instanced dynamics data and configuration data of a tank
 CPxVehicleDriveTankControlThe control inputs for a PxVehicleDriveTank
 CPxVehicleDriveTankControlModelTwo driving models are supported
 CPxVehicleDriveTankRawInputDataUsed to produce smooth analog tank control values from analog and digital inputs
 CPxVehicleDriveTankWheelOrderThe ordering of the wheels of a PxVehicleDriveTank
 CPxVehicleEngineData
 CPxVehicleGearsData
 CPxVehicleKeySmoothingDataUsed to produce smooth vehicle driving control values from key inputs
 CPxVehicleNoDriveData structure with instanced dynamics data and configuration data of a vehicle with no drive model
 CPxVehiclePadSmoothingDataUsed to produce smooth analog vehicle control values from analog inputs
 CPxVehicleSuspensionData
 CPxVehicleTireData
 CPxVehicleTireLoadFilterDataTire load variation can be strongly dependent on the time-step so it is a good idea to filter it to give less jerky handling behavior
 CPxVehicleTypes
 CPxVehicleUpdateMode
 CPxVehicleWheelConcurrentUpdateDataStructure containing data that is computed for a wheel during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied
 CPxVehicleWheelData
 CPxVehicleWheelQueryResult
 CPxVehicleWheelsData structure with instanced dynamics data and configuration data of a vehicle with just wheels
 CPxVehicleWheelsDynDataData structure with instanced dynamics data for wheels
 CPxVehicleWheelsSimDataData structure describing configuration data of a vehicle with up to 20 wheels
 CPxVehicleWheelsSimFlagFlags to configure the vehicle wheel simulation
 CPxVisualizationParameterDebug visualization parameters
 CPxWheelQueryResultStructure containing data describing the non-persistent state of each suspension/wheel/tire unit. This structure is filled out in PxVehicleUpdates and PxVehicleUpdateSingleVehicleAndStoreTelemetryData
 CRaycastCCDManagerRaycast-CCD manager
diff --git a/physx/documentation/PhysXAPI/files/annotated_dup.js b/physx/documentation/PhysXAPI/files/annotated_dup.js index 976bfddee..32d0f100b 100644 --- a/physx/documentation/PhysXAPI/files/annotated_dup.js +++ b/physx/documentation/PhysXAPI/files/annotated_dup.js @@ -301,6 +301,7 @@ var annotated_dup = [ "PxSolverContactDesc", "structPxSolverContactDesc.html", "structPxSolverContactDesc" ], [ "PxSolverType", "structPxSolverType.html", "structPxSolverType" ], [ "PxSpatialForce", "structPxSpatialForce.html", "structPxSpatialForce" ], + [ "PxSpatialVelocity", "structPxSpatialVelocity.html", "structPxSpatialVelocity" ], [ "PxSphereGeometry", "classPxSphereGeometry.html", "classPxSphereGeometry" ], [ "PxSphericalJoint", "classPxSphericalJoint.html", "classPxSphericalJoint" ], [ "PxSphericalJointFlag", "structPxSphericalJointFlag.html", "structPxSphericalJointFlag" ], @@ -379,6 +380,7 @@ var annotated_dup = [ "PxVehicleWheels", "classPxVehicleWheels.html", "classPxVehicleWheels" ], [ "PxVehicleWheelsDynData", "classPxVehicleWheelsDynData.html", "classPxVehicleWheelsDynData" ], [ "PxVehicleWheelsSimData", "classPxVehicleWheelsSimData.html", "classPxVehicleWheelsSimData" ], + [ "PxVehicleWheelsSimFlag", "structPxVehicleWheelsSimFlag.html", "structPxVehicleWheelsSimFlag" ], [ "PxVisualizationParameter", "structPxVisualizationParameter.html", "structPxVisualizationParameter" ], [ "PxWheelQueryResult", "structPxWheelQueryResult.html", "structPxWheelQueryResult" ], [ "RaycastCCDManager", "classRaycastCCDManager.html", "classRaycastCCDManager" ] diff --git a/physx/documentation/PhysXAPI/files/classPxArticulationCache-members.html b/physx/documentation/PhysXAPI/files/classPxArticulationCache-members.html index 00b85d6c8..f388acb11 100644 --- a/physx/documentation/PhysXAPI/files/classPxArticulationCache-members.html +++ b/physx/documentation/PhysXAPI/files/classPxArticulationCache-members.html @@ -94,6 +94,8 @@ eACCELERATION enum valuePxArticulationCache eALL enum valuePxArticulationCache eFORCE enum valuePxArticulationCache + eLINKACCELERATION enum valuePxArticulationCache + eLINKVELOCITY enum valuePxArticulationCache Enum enum namePxArticulationCache ePOSITION enum valuePxArticulationCache eROOT enum valuePxArticulationCache @@ -104,6 +106,8 @@ jointPositionPxArticulationCache jointVelocityPxArticulationCache lambdaPxArticulationCache + linkAccelerationPxArticulationCache + linkVelocityPxArticulationCache massMatrixPxArticulationCache PxArticulationCache()PxArticulationCacheinline rootLinkDataPxArticulationCache diff --git a/physx/documentation/PhysXAPI/files/classPxArticulationCache.html b/physx/documentation/PhysXAPI/files/classPxArticulationCache.html index 010b8f9cd..780fb26bb 100644 --- a/physx/documentation/PhysXAPI/files/classPxArticulationCache.html +++ b/physx/documentation/PhysXAPI/files/classPxArticulationCache.html @@ -98,11 +98,12 @@
Collaboration graph
- - - - - + + + + + +
[legend]
@@ -114,8 +115,10 @@ ePOSITION = (1 << 2), eFORCE = (1 << 3),
-  eROOT = (1 << 4), -eALL = (eVELOCITY | eACCELERATION | ePOSITION| eROOT) +  eLINKVELOCITY = (1 << 4), +eLINKACCELERATION = (1 << 5), +eROOT = (1 << 6), +eALL = (eVELOCITY | eACCELERATION | ePOSITION| eLINKVELOCITY | eLINKACCELERATION | eROOT )
} @@ -141,6 +144,10 @@ + + + + @@ -175,6 +182,10 @@

eFORCE 

+ + @@ -319,6 +330,34 @@

+ + + +

◆ linkAcceleration

+ +
+
+

 
 
PxReal * jointForce
 
PxSpatialVelocitylinkVelocity
 
PxSpatialVelocitylinkAcceleration
 
PxArticulationRootLinkDatarootLinkData
 
PxReal * coefficientMatrix

The joint forces this frame. Note, the application should provide these values for the forward dynamic. If the application is using inverse dynamic, this is the joint force returned.

eLINKVELOCITY 

The link velocities this frame.

+
eLINKACCELERATION 

The link accelerations this frame.

+
eROOT 

Root link transform, velocity and acceleration. Note, when the application call applyCache with eROOT flag, it won't apply root link's acceleration to the simulation.

eALL 
+ + + +
PxSpatialVelocity* PxArticulationCache::linkAcceleration
+
+ +
+
+ +

◆ linkVelocity

+ +
+
+ + + + +
PxSpatialVelocity* PxArticulationCache::linkVelocity
+
+
diff --git a/physx/documentation/PhysXAPI/files/classPxArticulationCache.js b/physx/documentation/PhysXAPI/files/classPxArticulationCache.js index a7f82adaa..444e0dcd7 100644 --- a/physx/documentation/PhysXAPI/files/classPxArticulationCache.js +++ b/physx/documentation/PhysXAPI/files/classPxArticulationCache.js @@ -5,6 +5,8 @@ var classPxArticulationCache = [ "eACCELERATION", "classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea9bfa940c74c9da6b9ce0a27c9f6bd8f8", null ], [ "ePOSITION", "classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea74109d30461c72534eb5a36baf352e6a", null ], [ "eFORCE", "classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea89efd599f1473d4a795b89fb71c5012a", null ], + [ "eLINKVELOCITY", "classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14eacaf9eee2de38014ce959feb30fba9d1b", null ], + [ "eLINKACCELERATION", "classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea1ee0f9a7f94765e59bc93944a434af54", null ], [ "eROOT", "classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea6066321f08d523d0b73cfbdf2b44041c", null ], [ "eALL", "classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea86872df915168195ac00a5cb1033ee29", null ] ] ], @@ -17,6 +19,8 @@ var classPxArticulationCache = [ "jointPosition", "classPxArticulationCache.html#a64e8f0b09d6860f91d7a830c11bdddc9", null ], [ "jointVelocity", "classPxArticulationCache.html#aab37dabd7db43ef927337da7f6ea9f5a", null ], [ "lambda", "classPxArticulationCache.html#aa90b660a293d6ce7984d49e8be270465", null ], + [ "linkAcceleration", "classPxArticulationCache.html#ac67f33a6b89001467a31fd4a3f4afa23", null ], + [ "linkVelocity", "classPxArticulationCache.html#a91adda674694b0f628a07e4ca89bcec5", null ], [ "massMatrix", "classPxArticulationCache.html#a40849b1b079c9b0e517fb7eaea488ccf", null ], [ "rootLinkData", "classPxArticulationCache.html#ae0431d9e6e127c49cf7cc53532b4b393", null ], [ "scratchAllocator", "classPxArticulationCache.html#ac5356bfc4c7b57dec9bdd33c698ae96c", null ], diff --git a/physx/documentation/PhysXAPI/files/classPxArticulationCache__coll__graph.map b/physx/documentation/PhysXAPI/files/classPxArticulationCache__coll__graph.map index 7110c9123..8c00b639a 100644 --- a/physx/documentation/PhysXAPI/files/classPxArticulationCache__coll__graph.map +++ b/physx/documentation/PhysXAPI/files/classPxArticulationCache__coll__graph.map @@ -1,7 +1,8 @@ - - - - - + + + + + + diff --git a/physx/documentation/PhysXAPI/files/classPxArticulationCache__coll__graph.md5 b/physx/documentation/PhysXAPI/files/classPxArticulationCache__coll__graph.md5 index 6d752de57..44e1e2fe1 100644 --- a/physx/documentation/PhysXAPI/files/classPxArticulationCache__coll__graph.md5 +++ b/physx/documentation/PhysXAPI/files/classPxArticulationCache__coll__graph.md5 @@ -1 +1 @@ -a9e8b9ed3f8d3a65ddf7a85db15ab869 \ No newline at end of file +0a2f8739b7c916083ebc6641ef402360 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/classPxArticulationCache__coll__graph.png b/physx/documentation/PhysXAPI/files/classPxArticulationCache__coll__graph.png index 886038e6b..19e2e5a45 100644 Binary files a/physx/documentation/PhysXAPI/files/classPxArticulationCache__coll__graph.png and b/physx/documentation/PhysXAPI/files/classPxArticulationCache__coll__graph.png differ diff --git a/physx/documentation/PhysXAPI/files/classPxArticulationReducedCoordinate-members.html b/physx/documentation/PhysXAPI/files/classPxArticulationReducedCoordinate-members.html index 521a88deb..d23380d52 100644 --- a/physx/documentation/PhysXAPI/files/classPxArticulationReducedCoordinate-members.html +++ b/physx/documentation/PhysXAPI/files/classPxArticulationReducedCoordinate-members.html @@ -115,7 +115,9 @@ getDofs() const =0PxArticulationReducedCoordinatepure virtual getImpl()=0PxArticulationBasepure virtual getImpl() const =0PxArticulationBasepure virtual - getLinks(PxArticulationLink **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0PxArticulationBasepure virtual + getLinkAcceleration(const PxU32 linkId)=0PxArticulationReducedCoordinatepure virtual + getLinks(PxArticulationLink **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0PxArticulationBasepure virtual + getLinkVelocity(const PxU32 linkId)=0PxArticulationReducedCoordinatepure virtual getLoopJoints(PxJoint **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0PxArticulationReducedCoordinatepure virtual getName() const =0PxArticulationBasepure virtual getNbLinks() const =0PxArticulationBasepure virtual diff --git a/physx/documentation/PhysXAPI/files/classPxArticulationReducedCoordinate.html b/physx/documentation/PhysXAPI/files/classPxArticulationReducedCoordinate.html index 3a1c18e0c..a7e42d909 100644 --- a/physx/documentation/PhysXAPI/files/classPxArticulationReducedCoordinate.html +++ b/physx/documentation/PhysXAPI/files/classPxArticulationReducedCoordinate.html @@ -204,6 +204,12 @@ virtual void teleportRootLink (const PxTransform &pose, bool autowake)=0  teleport root link to a new location More...
  +virtual PxSpatialVelocity getLinkVelocity (const PxU32 linkId)=0 + return the link velocity in world space with the associated low-level link index(getLinkIndex()). More...
+  +virtual PxSpatialVelocity getLinkAcceleration (const PxU32 linkId)=0 + return the link acceleration in world space with the associated low-level link index(getLinkIndex()) More...
- Public Member Functions inherited from PxArticulationBase virtual PxScenegetScene () const =0  Retrieves the scene which this articulation belongs to. More...
@@ -1088,6 +1094,76 @@

+

◆ getLinkAcceleration()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual PxSpatialVelocity PxArticulationReducedCoordinate::getLinkAcceleration (const PxU32 linkId)
+
+pure virtual
+
+ +

return the link acceleration in world space with the associated low-level link index(getLinkIndex())

+
Parameters
+ + +
[in]linkIdlow-level link index
+
+
+
See also
getLinkIndex() in PxArticulationLink
+ +
+
+ +

◆ getLinkVelocity()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual PxSpatialVelocity PxArticulationReducedCoordinate::getLinkVelocity (const PxU32 linkId)
+
+pure virtual
+
+ +

return the link velocity in world space with the associated low-level link index(getLinkIndex()).

+
Parameters
+ + +
[in]linkIdlow-level link index
+
+
+
See also
getLinkIndex() in PxArticulationLink
+
diff --git a/physx/documentation/PhysXAPI/files/classPxArticulationReducedCoordinate.js b/physx/documentation/PhysXAPI/files/classPxArticulationReducedCoordinate.js index f580df619..bd09a60d7 100644 --- a/physx/documentation/PhysXAPI/files/classPxArticulationReducedCoordinate.js +++ b/physx/documentation/PhysXAPI/files/classPxArticulationReducedCoordinate.js @@ -21,6 +21,8 @@ var classPxArticulationReducedCoordinate = [ "getCacheDataSize", "classPxArticulationReducedCoordinate.html#a86107c6d84d3132b6a46bb9b2b48666e", null ], [ "getCoefficientMatrixSize", "classPxArticulationReducedCoordinate.html#a54da9e7775e8b619d5172039213beaff", null ], [ "getDofs", "classPxArticulationReducedCoordinate.html#a4d0ed61a1f9a2b2cd18ced0cf9122355", null ], + [ "getLinkAcceleration", "classPxArticulationReducedCoordinate.html#ab51ab4c2ab36f1b409a1aa0468f0fe71", null ], + [ "getLinkVelocity", "classPxArticulationReducedCoordinate.html#a4520151744be7de9835c9f90291468c3", null ], [ "getLoopJoints", "classPxArticulationReducedCoordinate.html#a5a611783b278756d562f4dfe0626af18", null ], [ "getNbLoopJoints", "classPxArticulationReducedCoordinate.html#aa89014cf296753fd9ddffbd62ef46c4c", null ], [ "packJointData", "classPxArticulationReducedCoordinate.html#a32973e41c51f9dd6ed0168c401d620d7", null ], diff --git a/physx/documentation/PhysXAPI/files/classPxBatchQuery.html b/physx/documentation/PhysXAPI/files/classPxBatchQuery.html index bc5156b6d..d9bf4e312 100644 --- a/physx/documentation/PhysXAPI/files/classPxBatchQuery.html +++ b/physx/documentation/PhysXAPI/files/classPxBatchQuery.html @@ -500,7 +500,7 @@

[in]distanceLength of the ray. Needs to be larger than 0. [in]maxTouchHitsMaximum number of hits to record in the touch buffer for this query. Default=0 reports a single blocking hit. If maxTouchHits is set to 0 all hits are treated as blocking by default. [in]hitFlagsSpecifies which properties per hit should be computed and returned in hit array and blocking hit. - [in]filterDataFiltering data passed to the filer shader. See PxQueryFilterData PxBatchQueryPreFilterShader, PxBatchQueryPostFilterShader + [in]filterDataFiltering data passed to the filter shader. See PxQueryFilterData PxBatchQueryPreFilterShader, PxBatchQueryPostFilterShader [in]userDataUser can pass any value in this argument, usually to identify this particular query [in]cacheCached hit shape (optional). Query is tested against cached shape first. If no hit is found the ray gets queried against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit. Note: Using past touching hits as cache will produce incorrect behavior since the cached hit will always be treated as blocking. diff --git a/physx/documentation/PhysXAPI/files/classPxConstraint.html b/physx/documentation/PhysXAPI/files/classPxConstraint.html index 46321b849..06e4e6396 100644 --- a/physx/documentation/PhysXAPI/files/classPxConstraint.html +++ b/physx/documentation/PhysXAPI/files/classPxConstraint.html @@ -139,16 +139,16 @@ virtual void setFlag (PxConstraintFlag::Enum flag, bool value)=0  Set a flag for this constraint. More...
  -virtual void getForce (PxVec3 &linear, PxVec3 &angular) const =0 +virtual void getForce (PxVec3 &linear, PxVec3 &angular) const =0  Retrieve the constraint force most recently applied to maintain this constraint. More...
  virtual bool isValid () const =0  whether the constraint is valid. More...
  -virtual void setBreakForce (PxReal linear, PxReal angular)=0 +virtual void setBreakForce (PxReal linear, PxReal angular)=0  Set the break force and torque thresholds for this constraint. More...
  -virtual void getBreakForce (PxReal &linear, PxReal &angular) const =0 +virtual void getBreakForce (PxReal &linear, PxReal &angular) const =0  Retrieve the constraint break force and torque thresholds. More...
  virtual void setMinResponseThreshold (PxReal threshold)=0 diff --git a/physx/documentation/PhysXAPI/files/classPxD6Joint.html b/physx/documentation/PhysXAPI/files/classPxD6Joint.html index a1a988a6d..6447b4883 100644 --- a/physx/documentation/PhysXAPI/files/classPxD6Joint.html +++ b/physx/documentation/PhysXAPI/files/classPxD6Joint.html @@ -181,10 +181,10 @@ virtual PxTransform getDrivePosition () const =0  Get the drive goal pose. More...
  -virtual void setDriveVelocity (const PxVec3 &linear, const PxVec3 &angular, bool autowake=true)=0 +virtual void setDriveVelocity (const PxVec3 &linear, const PxVec3 &angular, bool autowake=true)=0  Set the target goal velocity for drive. More...
  -virtual void getDriveVelocity (PxVec3 &linear, PxVec3 &angular) const =0 +virtual void getDriveVelocity (PxVec3 &linear, PxVec3 &angular) const =0  Get the target goal velocity for joint drive. More...
  virtual void setProjectionLinearTolerance (PxReal tolerance)=0 diff --git a/physx/documentation/PhysXAPI/files/classPxRigidDynamic.html b/physx/documentation/PhysXAPI/files/classPxRigidDynamic.html index 0873c7250..bd99b9ecd 100644 --- a/physx/documentation/PhysXAPI/files/classPxRigidDynamic.html +++ b/physx/documentation/PhysXAPI/files/classPxRigidDynamic.html @@ -337,13 +337,13 @@ virtual PxReal getStabilizationThreshold () const =0  Returns the mass-normalized kinetic energy below which an actor may participate in stabilization. More...
  -virtual PxRigidDynamicLockFlags getRigidDynamicLockFlags () const =0 +virtual PxRigidDynamicLockFlags getRigidDynamicLockFlags () const =0  Reads the PxRigidDynamic lock flags. More...
  virtual void setRigidDynamicLockFlag (PxRigidDynamicLockFlag::Enum flag, bool value)=0  Raises or clears a particular rigid dynamic lock flag. More...
  -virtual void setRigidDynamicLockFlags (PxRigidDynamicLockFlags flags)=0 +virtual void setRigidDynamicLockFlags (PxRigidDynamicLockFlags flags)=0   virtual void setWakeCounter (PxReal wakeCounterValue)=0  Sets the wake counter for the actor. More...
@@ -638,7 +638,7 @@

- + @@ -1035,7 +1035,7 @@

virtual void PxRigidDynamic::setRigidDynamicLockFlags

- + diff --git a/physx/documentation/PhysXAPI/files/classPxScene.html b/physx/documentation/PhysXAPI/files/classPxScene.html index 530fc7b68..ef42f24cc 100644 --- a/physx/documentation/PhysXAPI/files/classPxScene.html +++ b/physx/documentation/PhysXAPI/files/classPxScene.html @@ -3345,7 +3345,7 @@

[in]

- +
virtual PxRigidDynamicLockFlags PxRigidDynamic::getRigidDynamicLockFlags virtual PxRigidDynamicLockFlags PxRigidDynamic::getRigidDynamicLockFlags ( ) const(PxRigidDynamicLockFlags PxRigidDynamicLockFlags  flags)
distanceLength of the ray. Has to be in the [0, inf) range.
[out]hitCallRaycast hit buffer or callback object used to report raycast hits.
[in]hitFlagsSpecifies which properties per hit should be computed and returned via the hit callback.
[in]filterDataFiltering data passed to the filer shader. See PxQueryFilterData PxBatchQueryPreFilterShader, PxBatchQueryPostFilterShader
[in]filterDataFiltering data passed to the filter shader. See PxQueryFilterData PxBatchQueryPreFilterShader, PxBatchQueryPostFilterShader
[in]filterCallCustom filtering logic (optional). Only used if the corresponding PxQueryFlag flags are set. If NULL, all hits are assumed to be blocking.
[in]cacheCached hit shape (optional). Ray is tested against cached shape first. If no hit is found the ray gets queried against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit. Note: Using past touching hits as cache will produce incorrect behavior since the cached hit will always be treated as blocking.
diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleDrive-members.html b/physx/documentation/PhysXAPI/files/classPxVehicleDrive-members.html index b31b69fce..87b5230f2 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleDrive-members.html +++ b/physx/documentation/PhysXAPI/files/classPxVehicleDrive-members.html @@ -117,27 +117,28 @@ mTypePxVehicleWheelsprotected mWheelsDynDataPxVehicleWheels mWheelsSimDataPxVehicleWheels - patchupPointers(const PxU32 nbWheels, PxVehicleDrive *vehDrive, PxU8 *ptr)PxVehicleDriveprotectedstatic - PxVehicleWheels::patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr)PxVehicleWheelsprotectedstatic - preExportDataReset()PxVehicleWheelsinlinevirtual - PxBase(PxType concreteType, PxBaseFlags baseFlags)PxBaseinlineprotected - PxBase(PxBaseFlags baseFlags)PxBaseinlineprotected - PxVehicleDrive(PxBaseFlags baseFlags)PxVehicleDriveinline - PxVehicleDrive(PxType concreteType, PxBaseFlags baseFlags)PxVehicleDriveinlineprotected - PxVehicleUpdate classPxVehicleDrivefriend - PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags)PxVehicleWheelsinline - PxVehicleWheels(PxBaseFlags baseFlags)PxVehicleWheelsinline - release()PxVehicleWheelsinlinevirtual - requiresObjects(PxProcessPxBaseCallback &c)PxVehicleWheelsvirtual - resolveReferences(PxDeserializationContext &)PxVehicleWheels - setBaseFlag(PxBaseFlag::Enum flag, bool value)PxBaseinline - setBaseFlags(PxBaseFlags inFlags)PxBaseinline - setToRestState()PxVehicleDriveprotected - setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)PxVehicleDriveprotected - typeMatch() constPxBaseinlineprotected - ~PxBase()PxBaseinlineprotectedvirtual - ~PxVehicleDrive()PxVehicleDriveinlineprotected - ~PxVehicleWheels()PxVehicleWheelsinlinevirtual + onConstraintRelease()PxVehicleWheelsprotected + patchupPointers(const PxU32 nbWheels, PxVehicleDrive *vehDrive, PxU8 *ptr)PxVehicleDriveprotectedstatic + PxVehicleWheels::patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr)PxVehicleWheelsprotectedstatic + preExportDataReset()PxVehicleWheelsinlinevirtual + PxBase(PxType concreteType, PxBaseFlags baseFlags)PxBaseinlineprotected + PxBase(PxBaseFlags baseFlags)PxBaseinlineprotected + PxVehicleDrive(PxBaseFlags baseFlags)PxVehicleDriveinline + PxVehicleDrive(PxType concreteType, PxBaseFlags baseFlags)PxVehicleDriveinlineprotected + PxVehicleUpdate classPxVehicleDrivefriend + PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags)PxVehicleWheelsinline + PxVehicleWheels(PxBaseFlags baseFlags)PxVehicleWheelsinline + release()PxVehicleWheelsinlinevirtual + requiresObjects(PxProcessPxBaseCallback &c)PxVehicleWheelsvirtual + resolveReferences(PxDeserializationContext &)PxVehicleWheels + setBaseFlag(PxBaseFlag::Enum flag, bool value)PxBaseinline + setBaseFlags(PxBaseFlags inFlags)PxBaseinline + setToRestState()PxVehicleDriveprotected + setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)PxVehicleDriveprotected + typeMatch() constPxBaseinlineprotected + ~PxBase()PxBaseinlineprotectedvirtual + ~PxVehicleDrive()PxVehicleDriveinlineprotected + ~PxVehicleWheels()PxVehicleWheelsinlinevirtual

diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleDrive.html b/physx/documentation/PhysXAPI/files/classPxVehicleDrive.html index 359231254..4a4604b50 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleDrive.html +++ b/physx/documentation/PhysXAPI/files/classPxVehicleDrive.html @@ -251,6 +251,8 @@ void free ()  Deallocate a PxVehicleWheels instance. More...
  +void onConstraintRelease () +  void setup (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)   - Protected Member Functions inherited from PxBase diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleDrive4W-members.html b/physx/documentation/PhysXAPI/files/classPxVehicleDrive4W-members.html index 0e5a95800..9a63f0f15 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleDrive4W-members.html +++ b/physx/documentation/PhysXAPI/files/classPxVehicleDrive4W-members.html @@ -121,31 +121,32 @@ mTypePxVehicleWheelsprotected mWheelsDynDataPxVehicleWheels mWheelsSimDataPxVehicleWheels - patchupPointers(const PxU32 nbWheels, PxVehicleDrive *vehDrive, PxU8 *ptr)PxVehicleDriveprotectedstatic - PxVehicleWheels::patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr)PxVehicleWheelsprotectedstatic - preExportDataReset()PxVehicleWheelsinlinevirtual - PxBase(PxType concreteType, PxBaseFlags baseFlags)PxBaseinlineprotected - PxBase(PxBaseFlags baseFlags)PxBaseinlineprotected - PxVehicleDrive(PxBaseFlags baseFlags)PxVehicleDriveinline - PxVehicleDrive(PxType concreteType, PxBaseFlags baseFlags)PxVehicleDriveinlineprotected - PxVehicleDrive4W()PxVehicleDrive4Wprotected - PxVehicleDrive4W(PxBaseFlags baseFlags)PxVehicleDrive4Winline - PxVehicleUpdate classPxVehicleDrive4Wfriend - PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags)PxVehicleWheelsinline - PxVehicleWheels(PxBaseFlags baseFlags)PxVehicleWheelsinline - release()PxVehicleWheelsinlinevirtual - requiresObjects(PxProcessPxBaseCallback &c)PxVehicleWheelsvirtual - resolveReferences(PxDeserializationContext &)PxVehicleWheels - setBaseFlag(PxBaseFlag::Enum flag, bool value)PxBaseinline - setBaseFlags(PxBaseFlags inFlags)PxBaseinline - setToRestState()PxVehicleDrive4W - setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData4W &driveData, const PxU32 nbNonDrivenWheels)PxVehicleDrive4W - PxVehicleDrive::setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)PxVehicleDriveprotected - typeMatch() constPxBaseinlineprotected - ~PxBase()PxBaseinlineprotectedvirtual - ~PxVehicleDrive()PxVehicleDriveinlineprotected - ~PxVehicleDrive4W()PxVehicleDrive4Winlineprotected - ~PxVehicleWheels()PxVehicleWheelsinlinevirtual + onConstraintRelease()PxVehicleWheelsprotected + patchupPointers(const PxU32 nbWheels, PxVehicleDrive *vehDrive, PxU8 *ptr)PxVehicleDriveprotectedstatic + PxVehicleWheels::patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr)PxVehicleWheelsprotectedstatic + preExportDataReset()PxVehicleWheelsinlinevirtual + PxBase(PxType concreteType, PxBaseFlags baseFlags)PxBaseinlineprotected + PxBase(PxBaseFlags baseFlags)PxBaseinlineprotected + PxVehicleDrive(PxBaseFlags baseFlags)PxVehicleDriveinline + PxVehicleDrive(PxType concreteType, PxBaseFlags baseFlags)PxVehicleDriveinlineprotected + PxVehicleDrive4W()PxVehicleDrive4Wprotected + PxVehicleDrive4W(PxBaseFlags baseFlags)PxVehicleDrive4Winline + PxVehicleUpdate classPxVehicleDrive4Wfriend + PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags)PxVehicleWheelsinline + PxVehicleWheels(PxBaseFlags baseFlags)PxVehicleWheelsinline + release()PxVehicleWheelsinlinevirtual + requiresObjects(PxProcessPxBaseCallback &c)PxVehicleWheelsvirtual + resolveReferences(PxDeserializationContext &)PxVehicleWheels + setBaseFlag(PxBaseFlag::Enum flag, bool value)PxBaseinline + setBaseFlags(PxBaseFlags inFlags)PxBaseinline + setToRestState()PxVehicleDrive4W + setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData4W &driveData, const PxU32 nbNonDrivenWheels)PxVehicleDrive4W + PxVehicleDrive::setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)PxVehicleDriveprotected + typeMatch() constPxBaseinlineprotected + ~PxBase()PxBaseinlineprotectedvirtual + ~PxVehicleDrive()PxVehicleDriveinlineprotected + ~PxVehicleDrive4W()PxVehicleDrive4Winlineprotected + ~PxVehicleWheels()PxVehicleWheelsinlinevirtual diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleDrive4W.html b/physx/documentation/PhysXAPI/files/classPxVehicleDrive4W.html index 03201fcc0..ecdb3d4cb 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleDrive4W.html +++ b/physx/documentation/PhysXAPI/files/classPxVehicleDrive4W.html @@ -291,6 +291,8 @@ void free ()  Deallocate a PxVehicleWheels instance. More...
  +void onConstraintRelease () +  void setup (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)   - Protected Member Functions inherited from PxBase diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleDriveNW-members.html b/physx/documentation/PhysXAPI/files/classPxVehicleDriveNW-members.html index 4d9dfb07f..334ba0ded 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleDriveNW-members.html +++ b/physx/documentation/PhysXAPI/files/classPxVehicleDriveNW-members.html @@ -121,31 +121,32 @@ mTypePxVehicleWheelsprotected mWheelsDynDataPxVehicleWheels mWheelsSimDataPxVehicleWheels - patchupPointers(const PxU32 nbWheels, PxVehicleDrive *vehDrive, PxU8 *ptr)PxVehicleDriveprotectedstatic - PxVehicleWheels::patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr)PxVehicleWheelsprotectedstatic - preExportDataReset()PxVehicleWheelsinlinevirtual - PxBase(PxType concreteType, PxBaseFlags baseFlags)PxBaseinlineprotected - PxBase(PxBaseFlags baseFlags)PxBaseinlineprotected - PxVehicleDrive(PxBaseFlags baseFlags)PxVehicleDriveinline - PxVehicleDrive(PxType concreteType, PxBaseFlags baseFlags)PxVehicleDriveinlineprotected - PxVehicleDriveNW(PxBaseFlags baseFlags)PxVehicleDriveNWinline - PxVehicleDriveNW()PxVehicleDriveNW - PxVehicleUpdate classPxVehicleDriveNWfriend - PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags)PxVehicleWheelsinline - PxVehicleWheels(PxBaseFlags baseFlags)PxVehicleWheelsinline - release()PxVehicleWheelsinlinevirtual - requiresObjects(PxProcessPxBaseCallback &c)PxVehicleWheelsvirtual - resolveReferences(PxDeserializationContext &)PxVehicleWheels - setBaseFlag(PxBaseFlag::Enum flag, bool value)PxBaseinline - setBaseFlags(PxBaseFlags inFlags)PxBaseinline - setToRestState()PxVehicleDriveNW - setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimDataNW &driveData, const PxU32 nbWheels)PxVehicleDriveNW - PxVehicleDrive::setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)PxVehicleDriveprotected - typeMatch() constPxBaseinlineprotected - ~PxBase()PxBaseinlineprotectedvirtual - ~PxVehicleDrive()PxVehicleDriveinlineprotected - ~PxVehicleDriveNW()PxVehicleDriveNWinline - ~PxVehicleWheels()PxVehicleWheelsinlinevirtual + onConstraintRelease()PxVehicleWheelsprotected + patchupPointers(const PxU32 nbWheels, PxVehicleDrive *vehDrive, PxU8 *ptr)PxVehicleDriveprotectedstatic + PxVehicleWheels::patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr)PxVehicleWheelsprotectedstatic + preExportDataReset()PxVehicleWheelsinlinevirtual + PxBase(PxType concreteType, PxBaseFlags baseFlags)PxBaseinlineprotected + PxBase(PxBaseFlags baseFlags)PxBaseinlineprotected + PxVehicleDrive(PxBaseFlags baseFlags)PxVehicleDriveinline + PxVehicleDrive(PxType concreteType, PxBaseFlags baseFlags)PxVehicleDriveinlineprotected + PxVehicleDriveNW(PxBaseFlags baseFlags)PxVehicleDriveNWinline + PxVehicleDriveNW()PxVehicleDriveNW + PxVehicleUpdate classPxVehicleDriveNWfriend + PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags)PxVehicleWheelsinline + PxVehicleWheels(PxBaseFlags baseFlags)PxVehicleWheelsinline + release()PxVehicleWheelsinlinevirtual + requiresObjects(PxProcessPxBaseCallback &c)PxVehicleWheelsvirtual + resolveReferences(PxDeserializationContext &)PxVehicleWheels + setBaseFlag(PxBaseFlag::Enum flag, bool value)PxBaseinline + setBaseFlags(PxBaseFlags inFlags)PxBaseinline + setToRestState()PxVehicleDriveNW + setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimDataNW &driveData, const PxU32 nbWheels)PxVehicleDriveNW + PxVehicleDrive::setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)PxVehicleDriveprotected + typeMatch() constPxBaseinlineprotected + ~PxBase()PxBaseinlineprotectedvirtual + ~PxVehicleDrive()PxVehicleDriveinlineprotected + ~PxVehicleDriveNW()PxVehicleDriveNWinline + ~PxVehicleWheels()PxVehicleWheelsinlinevirtual diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleDriveNW.html b/physx/documentation/PhysXAPI/files/classPxVehicleDriveNW.html index 3107ceda0..badbd5a2d 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleDriveNW.html +++ b/physx/documentation/PhysXAPI/files/classPxVehicleDriveNW.html @@ -300,6 +300,8 @@ void free ()  Deallocate a PxVehicleWheels instance. More...
  +void onConstraintRelease () +  void setup (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)   - Protected Member Functions inherited from PxBase diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleDriveTank-members.html b/physx/documentation/PhysXAPI/files/classPxVehicleDriveTank-members.html index df7c7196e..785db8bd7 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleDriveTank-members.html +++ b/physx/documentation/PhysXAPI/files/classPxVehicleDriveTank-members.html @@ -124,32 +124,33 @@ mTypePxVehicleWheelsprotected mWheelsDynDataPxVehicleWheels mWheelsSimDataPxVehicleWheels - patchupPointers(const PxU32 nbWheels, PxVehicleDrive *vehDrive, PxU8 *ptr)PxVehicleDriveprotectedstatic - PxVehicleWheels::patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr)PxVehicleWheelsprotectedstatic - preExportDataReset()PxVehicleWheelsinlinevirtual - PxBase(PxType concreteType, PxBaseFlags baseFlags)PxBaseinlineprotected - PxBase(PxBaseFlags baseFlags)PxBaseinlineprotected - PxVehicleDrive(PxBaseFlags baseFlags)PxVehicleDriveinline - PxVehicleDrive(PxType concreteType, PxBaseFlags baseFlags)PxVehicleDriveinlineprotected - PxVehicleDriveTank(PxBaseFlags baseFlags)PxVehicleDriveTankinline - PxVehicleDriveTank()PxVehicleDriveTankprotected - PxVehicleUpdate classPxVehicleDriveTankfriend - PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags)PxVehicleWheelsinline - PxVehicleWheels(PxBaseFlags baseFlags)PxVehicleWheelsinline - release()PxVehicleWheelsinlinevirtual - requiresObjects(PxProcessPxBaseCallback &c)PxVehicleWheelsvirtual - resolveReferences(PxDeserializationContext &)PxVehicleWheels - setBaseFlag(PxBaseFlag::Enum flag, bool value)PxBaseinline - setBaseFlags(PxBaseFlags inFlags)PxBaseinline - setDriveModel(const PxVehicleDriveTankControlModel::Enum driveModel)PxVehicleDriveTankinline - setToRestState()PxVehicleDriveTank - setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData &driveData, const PxU32 nbDrivenWheels)PxVehicleDriveTank - PxVehicleDrive::setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)PxVehicleDriveprotected - typeMatch() constPxBaseinlineprotected - ~PxBase()PxBaseinlineprotectedvirtual - ~PxVehicleDrive()PxVehicleDriveinlineprotected - ~PxVehicleDriveTank()PxVehicleDriveTankinlineprotected - ~PxVehicleWheels()PxVehicleWheelsinlinevirtual + onConstraintRelease()PxVehicleWheelsprotected + patchupPointers(const PxU32 nbWheels, PxVehicleDrive *vehDrive, PxU8 *ptr)PxVehicleDriveprotectedstatic + PxVehicleWheels::patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr)PxVehicleWheelsprotectedstatic + preExportDataReset()PxVehicleWheelsinlinevirtual + PxBase(PxType concreteType, PxBaseFlags baseFlags)PxBaseinlineprotected + PxBase(PxBaseFlags baseFlags)PxBaseinlineprotected + PxVehicleDrive(PxBaseFlags baseFlags)PxVehicleDriveinline + PxVehicleDrive(PxType concreteType, PxBaseFlags baseFlags)PxVehicleDriveinlineprotected + PxVehicleDriveTank(PxBaseFlags baseFlags)PxVehicleDriveTankinline + PxVehicleDriveTank()PxVehicleDriveTankprotected + PxVehicleUpdate classPxVehicleDriveTankfriend + PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags)PxVehicleWheelsinline + PxVehicleWheels(PxBaseFlags baseFlags)PxVehicleWheelsinline + release()PxVehicleWheelsinlinevirtual + requiresObjects(PxProcessPxBaseCallback &c)PxVehicleWheelsvirtual + resolveReferences(PxDeserializationContext &)PxVehicleWheels + setBaseFlag(PxBaseFlag::Enum flag, bool value)PxBaseinline + setBaseFlags(PxBaseFlags inFlags)PxBaseinline + setDriveModel(const PxVehicleDriveTankControlModel::Enum driveModel)PxVehicleDriveTankinline + setToRestState()PxVehicleDriveTank + setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxVehicleDriveSimData &driveData, const PxU32 nbDrivenWheels)PxVehicleDriveTank + PxVehicleDrive::setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)PxVehicleDriveprotected + typeMatch() constPxBaseinlineprotected + ~PxBase()PxBaseinlineprotectedvirtual + ~PxVehicleDrive()PxVehicleDriveinlineprotected + ~PxVehicleDriveTank()PxVehicleDriveTankinlineprotected + ~PxVehicleWheels()PxVehicleWheelsinlinevirtual diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleDriveTank.html b/physx/documentation/PhysXAPI/files/classPxVehicleDriveTank.html index dd0787c9f..1f5c0d41f 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleDriveTank.html +++ b/physx/documentation/PhysXAPI/files/classPxVehicleDriveTank.html @@ -295,6 +295,8 @@ void free ()  Deallocate a PxVehicleWheels instance. More...
  +void onConstraintRelease () +  void setup (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)   - Protected Member Functions inherited from PxBase diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleNoDrive-members.html b/physx/documentation/PhysXAPI/files/classPxVehicleNoDrive-members.html index ad1c2ec75..b48b30437 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleNoDrive-members.html +++ b/physx/documentation/PhysXAPI/files/classPxVehicleNoDrive-members.html @@ -129,30 +129,31 @@ mTypePxVehicleWheelsprotected mWheelsDynDataPxVehicleWheels mWheelsSimDataPxVehicleWheels - patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr)PxVehicleWheelsprotectedstatic - preExportDataReset()PxVehicleWheelsinlinevirtual - PxBase(PxType concreteType, PxBaseFlags baseFlags)PxBaseinlineprotected - PxBase(PxBaseFlags baseFlags)PxBaseinlineprotected - PxVehicleNoDrive(PxBaseFlags baseFlags)PxVehicleNoDriveinline - PxVehicleNoDrive()PxVehicleNoDriveprotected - PxVehicleUpdate classPxVehicleNoDrivefriend - PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags)PxVehicleWheelsinline - PxVehicleWheels(PxBaseFlags baseFlags)PxVehicleWheelsinline - release()PxVehicleWheelsinlinevirtual - requiresObjects(PxProcessPxBaseCallback &c)PxVehicleWheelsvirtual - resolveReferences(PxDeserializationContext &)PxVehicleWheels - setBaseFlag(PxBaseFlag::Enum flag, bool value)PxBaseinline - setBaseFlags(PxBaseFlags inFlags)PxBaseinline - setBrakeTorque(const PxU32 id, const PxReal brakeTorque)PxVehicleNoDrive - setDriveTorque(const PxU32 id, const PxReal driveTorque)PxVehicleNoDrive - setSteerAngle(const PxU32 id, const PxReal steerAngle)PxVehicleNoDrive - setToRestState()PxVehicleNoDrive - setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData)PxVehicleNoDrive - PxVehicleWheels::setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)PxVehicleWheelsprotected - typeMatch() constPxBaseinlineprotected - ~PxBase()PxBaseinlineprotectedvirtual - ~PxVehicleNoDrive()PxVehicleNoDriveinlineprotected - ~PxVehicleWheels()PxVehicleWheelsinlinevirtual + onConstraintRelease()PxVehicleWheelsprotected + patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr)PxVehicleWheelsprotectedstatic + preExportDataReset()PxVehicleWheelsinlinevirtual + PxBase(PxType concreteType, PxBaseFlags baseFlags)PxBaseinlineprotected + PxBase(PxBaseFlags baseFlags)PxBaseinlineprotected + PxVehicleNoDrive(PxBaseFlags baseFlags)PxVehicleNoDriveinline + PxVehicleNoDrive()PxVehicleNoDriveprotected + PxVehicleUpdate classPxVehicleNoDrivefriend + PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags)PxVehicleWheelsinline + PxVehicleWheels(PxBaseFlags baseFlags)PxVehicleWheelsinline + release()PxVehicleWheelsinlinevirtual + requiresObjects(PxProcessPxBaseCallback &c)PxVehicleWheelsvirtual + resolveReferences(PxDeserializationContext &)PxVehicleWheels + setBaseFlag(PxBaseFlag::Enum flag, bool value)PxBaseinline + setBaseFlags(PxBaseFlags inFlags)PxBaseinline + setBrakeTorque(const PxU32 id, const PxReal brakeTorque)PxVehicleNoDrive + setDriveTorque(const PxU32 id, const PxReal driveTorque)PxVehicleNoDrive + setSteerAngle(const PxU32 id, const PxReal steerAngle)PxVehicleNoDrive + setToRestState()PxVehicleNoDrive + setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData)PxVehicleNoDrive + PxVehicleWheels::setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)PxVehicleWheelsprotected + typeMatch() constPxBaseinlineprotected + ~PxBase()PxBaseinlineprotectedvirtual + ~PxVehicleNoDrive()PxVehicleNoDriveinlineprotected + ~PxVehicleWheels()PxVehicleWheelsinlinevirtual diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleNoDrive.html b/physx/documentation/PhysXAPI/files/classPxVehicleNoDrive.html index b7a62415f..89df3f625 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleNoDrive.html +++ b/physx/documentation/PhysXAPI/files/classPxVehicleNoDrive.html @@ -266,6 +266,8 @@ void free ()  Deallocate a PxVehicleWheels instance. More...
  +void onConstraintRelease () +  void setup (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)   - Protected Member Functions inherited from PxBase diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleWheels-members.html b/physx/documentation/PhysXAPI/files/classPxVehicleWheels-members.html index 2f9e408ff..545f45583 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleWheels-members.html +++ b/physx/documentation/PhysXAPI/files/classPxVehicleWheels-members.html @@ -118,24 +118,25 @@ mTypePxVehicleWheelsprotected mWheelsDynDataPxVehicleWheels mWheelsSimDataPxVehicleWheels - patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr)PxVehicleWheelsprotectedstatic - preExportDataReset()PxVehicleWheelsinlinevirtual - PxBase(PxType concreteType, PxBaseFlags baseFlags)PxBaseinlineprotected - PxBase(PxBaseFlags baseFlags)PxBaseinlineprotected - PxVehicleConstraintShader classPxVehicleWheelsfriend - PxVehicleUpdate classPxVehicleWheelsfriend - PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags)PxVehicleWheelsinline - PxVehicleWheels(PxBaseFlags baseFlags)PxVehicleWheelsinline - release()PxVehicleWheelsinlinevirtual - requiresObjects(PxProcessPxBaseCallback &c)PxVehicleWheelsvirtual - resolveReferences(PxDeserializationContext &)PxVehicleWheels - setBaseFlag(PxBaseFlag::Enum flag, bool value)PxBaseinline - setBaseFlags(PxBaseFlags inFlags)PxBaseinline - setToRestState()PxVehicleWheelsprotected - setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)PxVehicleWheelsprotected - typeMatch() constPxBaseinlineprotected - ~PxBase()PxBaseinlineprotectedvirtual - ~PxVehicleWheels()PxVehicleWheelsinlinevirtual + onConstraintRelease()PxVehicleWheelsprotected + patchupPointers(const PxU32 nbWheels, PxVehicleWheels *vehWheels, PxU8 *ptr)PxVehicleWheelsprotectedstatic + preExportDataReset()PxVehicleWheelsinlinevirtual + PxBase(PxType concreteType, PxBaseFlags baseFlags)PxBaseinlineprotected + PxBase(PxBaseFlags baseFlags)PxBaseinlineprotected + PxVehicleConstraintShader classPxVehicleWheelsfriend + PxVehicleUpdate classPxVehicleWheelsfriend + PxVehicleWheels(PxType concreteType, PxBaseFlags baseFlags)PxVehicleWheelsinline + PxVehicleWheels(PxBaseFlags baseFlags)PxVehicleWheelsinline + release()PxVehicleWheelsinlinevirtual + requiresObjects(PxProcessPxBaseCallback &c)PxVehicleWheelsvirtual + resolveReferences(PxDeserializationContext &)PxVehicleWheels + setBaseFlag(PxBaseFlag::Enum flag, bool value)PxBaseinline + setBaseFlags(PxBaseFlags inFlags)PxBaseinline + setToRestState()PxVehicleWheelsprotected + setup(PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)PxVehicleWheelsprotected + typeMatch() constPxBaseinlineprotected + ~PxBase()PxBaseinlineprotectedvirtual + ~PxVehicleWheels()PxVehicleWheelsinlinevirtual diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleWheels.html b/physx/documentation/PhysXAPI/files/classPxVehicleWheels.html index d1b219110..61e234442 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleWheels.html +++ b/physx/documentation/PhysXAPI/files/classPxVehicleWheels.html @@ -226,6 +226,8 @@ void free ()  Deallocate a PxVehicleWheels instance. More...
  +void onConstraintRelease () +  void setup (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels)   - Protected Member Functions inherited from PxBase @@ -765,6 +767,31 @@

+

◆ onConstraintRelease()

+ +
+
+ + + + + +
+ + + + + + + +
void PxVehicleWheels::onConstraintRelease ()
+
+protected
+
+
diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleWheels.js b/physx/documentation/PhysXAPI/files/classPxVehicleWheels.js index 079fa6dc8..5d7d25c21 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleWheels.js +++ b/physx/documentation/PhysXAPI/files/classPxVehicleWheels.js @@ -18,6 +18,7 @@ var classPxVehicleWheels = [ "init", "classPxVehicleWheels.html#ac7de8bfda7bfd8a5c34c85a4c4ac4755", null ], [ "isKindOf", "classPxVehicleWheels.html#af89137887231400e356bc4d2b33052f2", null ], [ "isValid", "classPxVehicleWheels.html#a631f380f7e677ff0247c9dd14a3f6a49", null ], + [ "onConstraintRelease", "classPxVehicleWheels.html#ae6eca099bb7019976fd619338dcbf0c3", null ], [ "patchupPointers", "classPxVehicleWheels.html#a07c073158a6df39214f655f59d130b69", null ], [ "preExportDataReset", "classPxVehicleWheels.html#aec83ecde4a8c2a38a8f4be88b973160a", null ], [ "release", "classPxVehicleWheels.html#a47f6215d5555890bef75e38668596522", null ], diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleWheelsSimData-members.html b/physx/documentation/PhysXAPI/files/classPxVehicleWheelsSimData-members.html index 1e9f0ab4c..e58fc1337 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleWheelsSimData-members.html +++ b/physx/documentation/PhysXAPI/files/classPxVehicleWheelsSimData-members.html @@ -98,40 +98,42 @@ free()PxVehicleWheelsSimData getAntiRollBarData(const PxU32 antiRollId) constPxVehicleWheelsSimData getBinaryMetaData(PxOutputStream &stream)PxVehicleWheelsSimDatastatic - getHighForwardSpeedSubStepCount() constPxVehicleWheelsSimDatainline - getIsWheelDisabled(const PxU32 wheel) constPxVehicleWheelsSimData - getLowForwardSpeedSubStepCount() constPxVehicleWheelsSimDatainline - getMinLongSlipDenominator() constPxVehicleWheelsSimDatainline - getNbAntiRollBarData() constPxVehicleWheelsSimDatainline - getNbAntiRollBars() constPxVehicleWheelsSimDatainline - getNbAntiRollBars4() constPxVehicleWheelsSimDatainline - getNbSceneQueryFilterData() constPxVehicleWheelsSimDatainline - getNbSuspensionData() constPxVehicleWheelsSimDatainline - getNbSuspForceAppPointOffset() constPxVehicleWheelsSimDatainline - getNbSuspTravelDirection() constPxVehicleWheelsSimDatainline - getNbTireData() constPxVehicleWheelsSimDatainline - getNbTireForceAppPointOffset() constPxVehicleWheelsSimDatainline - getNbWheelCentreOffset() constPxVehicleWheelsSimDatainline - getNbWheelData() constPxVehicleWheelsSimDatainline - getNbWheelEnabledState() constPxVehicleWheelsSimDatainline - getNbWheels() constPxVehicleWheelsSimDatainline - getNbWheels4() constPxVehicleWheelsSimDatainline - getNbWheelShapeMapping() constPxVehicleWheelsSimDatainline - getSceneQueryFilterData(const PxU32 suspId) constPxVehicleWheelsSimData - getSuspensionData(const PxU32 id) constPxVehicleWheelsSimData - getSuspForceAppPointOffset(const PxU32 id) constPxVehicleWheelsSimData - getSuspTravelDirection(const PxU32 id) constPxVehicleWheelsSimData - getThresholdLongSpeed() constPxVehicleWheelsSimDatainline - getTireData(const PxU32 id) constPxVehicleWheelsSimData - getTireForceAppPointOffset(const PxU32 id) constPxVehicleWheelsSimData - getTireLoadFilterData() constPxVehicleWheelsSimDatainline - getWheelCentreOffset(const PxU32 id) constPxVehicleWheelsSimData - getWheelData(const PxU32 id) constPxVehicleWheelsSimData - getWheelEnabledState(const PxU32 wheel) constPxVehicleWheelsSimDatainline - getWheelShapeMapping(const PxU32 wheelId) constPxVehicleWheelsSimData - isValid() constPxVehicleWheelsSimDataprivate - mActiveWheelsBitmapBufferPxVehicleWheelsSimDataprivate - mAntiRollBarsPxVehicleWheelsSimDataprivate + getFlags() constPxVehicleWheelsSimData + getHighForwardSpeedSubStepCount() constPxVehicleWheelsSimDatainline + getIsWheelDisabled(const PxU32 wheel) constPxVehicleWheelsSimData + getLowForwardSpeedSubStepCount() constPxVehicleWheelsSimDatainline + getMinLongSlipDenominator() constPxVehicleWheelsSimDatainline + getNbAntiRollBarData() constPxVehicleWheelsSimDatainline + getNbAntiRollBars() constPxVehicleWheelsSimDatainline + getNbAntiRollBars4() constPxVehicleWheelsSimDatainline + getNbSceneQueryFilterData() constPxVehicleWheelsSimDatainline + getNbSuspensionData() constPxVehicleWheelsSimDatainline + getNbSuspForceAppPointOffset() constPxVehicleWheelsSimDatainline + getNbSuspTravelDirection() constPxVehicleWheelsSimDatainline + getNbTireData() constPxVehicleWheelsSimDatainline + getNbTireForceAppPointOffset() constPxVehicleWheelsSimDatainline + getNbWheelCentreOffset() constPxVehicleWheelsSimDatainline + getNbWheelData() constPxVehicleWheelsSimDatainline + getNbWheelEnabledState() constPxVehicleWheelsSimDatainline + getNbWheels() constPxVehicleWheelsSimDatainline + getNbWheels4() constPxVehicleWheelsSimDatainline + getNbWheelShapeMapping() constPxVehicleWheelsSimDatainline + getSceneQueryFilterData(const PxU32 suspId) constPxVehicleWheelsSimData + getSuspensionData(const PxU32 id) constPxVehicleWheelsSimData + getSuspForceAppPointOffset(const PxU32 id) constPxVehicleWheelsSimData + getSuspTravelDirection(const PxU32 id) constPxVehicleWheelsSimData + getThresholdLongSpeed() constPxVehicleWheelsSimDatainline + getTireData(const PxU32 id) constPxVehicleWheelsSimData + getTireForceAppPointOffset(const PxU32 id) constPxVehicleWheelsSimData + getTireLoadFilterData() constPxVehicleWheelsSimDatainline + getWheelCentreOffset(const PxU32 id) constPxVehicleWheelsSimData + getWheelData(const PxU32 id) constPxVehicleWheelsSimData + getWheelEnabledState(const PxU32 wheel) constPxVehicleWheelsSimDatainline + getWheelShapeMapping(const PxU32 wheelId) constPxVehicleWheelsSimData + isValid() constPxVehicleWheelsSimDataprivate + mActiveWheelsBitmapBufferPxVehicleWheelsSimDataprivate + mAntiRollBarsPxVehicleWheelsSimDataprivate + mFlagsPxVehicleWheelsSimDataprivate mHighForwardSpeedSubStepCountPxVehicleWheelsSimDataprivate mLowForwardSpeedSubStepCountPxVehicleWheelsSimDataprivate mMinLongSlipDenominatorPxVehicleWheelsSimDataprivate @@ -140,21 +142,21 @@ mNbAntiRollBars4PxVehicleWheelsSimDataprivate mNbWheels4PxVehicleWheelsSimDataprivate mNormalisedLoadFilterPxVehicleWheelsSimDataprivate - mPadPxVehicleWheelsSimDataprivate - mThresholdLongitudinalSpeedPxVehicleWheelsSimDataprivate - mWheels4SimDataPxVehicleWheelsSimDataprivate - operator=(const PxVehicleWheelsSimData &src)PxVehicleWheelsSimData - patchUpPointers(const PxU32 numWheels, PxVehicleWheelsSimData *simData, PxU8 *ptrIn)PxVehicleWheelsSimDataprivatestatic - PxVehicleDrive4W classPxVehicleWheelsSimDatafriend - PxVehicleDriveTank classPxVehicleWheelsSimDatafriend - PxVehicleNoDrive classPxVehicleWheelsSimDatafriend - PxVehicleUpdate classPxVehicleWheelsSimDatafriend - PxVehicleWheels classPxVehicleWheelsSimDatafriend - PxVehicleWheelsSimData(const PxU32 numWheels)PxVehicleWheelsSimDataprivate - PxVehicleWheelsSimData(const PxEMPTY)PxVehicleWheelsSimDatainline - PxVehicleWheelsSimData()PxVehicleWheelsSimDatainline - setAntiRollBarData(const PxU32 id, const PxVehicleAntiRollBarData &antiRoll)PxVehicleWheelsSimData - setChassisMass(const PxF32 chassisMass)PxVehicleWheelsSimData + mThresholdLongitudinalSpeedPxVehicleWheelsSimDataprivate + mWheels4SimDataPxVehicleWheelsSimDataprivate + operator=(const PxVehicleWheelsSimData &src)PxVehicleWheelsSimData + patchUpPointers(const PxU32 numWheels, PxVehicleWheelsSimData *simData, PxU8 *ptrIn)PxVehicleWheelsSimDataprivatestatic + PxVehicleDrive4W classPxVehicleWheelsSimDatafriend + PxVehicleDriveTank classPxVehicleWheelsSimDatafriend + PxVehicleNoDrive classPxVehicleWheelsSimDatafriend + PxVehicleUpdate classPxVehicleWheelsSimDatafriend + PxVehicleWheels classPxVehicleWheelsSimDatafriend + PxVehicleWheelsSimData(const PxU32 numWheels)PxVehicleWheelsSimDataprivate + PxVehicleWheelsSimData(const PxEMPTY)PxVehicleWheelsSimDatainline + PxVehicleWheelsSimData()PxVehicleWheelsSimDatainline + setAntiRollBarData(const PxU32 id, const PxVehicleAntiRollBarData &antiRoll)PxVehicleWheelsSimData + setChassisMass(const PxF32 chassisMass)PxVehicleWheelsSimData + setFlags(PxVehicleWheelsSimFlags flags)PxVehicleWheelsSimData setHighForwardSpeedSubStepCount(const PxU32 f)PxVehicleWheelsSimDatainline setLowForwardSpeedSubStepCount(const PxU32 f)PxVehicleWheelsSimDatainline setMinLongSlipDenominator(const PxReal minLongSlipDenominator)PxVehicleWheelsSimData diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleWheelsSimData.html b/physx/documentation/PhysXAPI/files/classPxVehicleWheelsSimData.html index 6509906fe..061326779 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleWheelsSimData.html +++ b/physx/documentation/PhysXAPI/files/classPxVehicleWheelsSimData.html @@ -210,6 +210,12 @@ void setMinLongSlipDenominator (const PxReal minLongSlipDenominator)  Set the minimum denominator used in the longitudinal slip calculation. More...
  +void setFlags (PxVehicleWheelsSimFlags flags) + Set the vehicle wheel simulation flags. More...
+  +PxVehicleWheelsSimFlags getFlags () const + Return the vehicle wheel simulation flags. More...
+   PxVehicleWheelsSimData (const PxEMPTY)   PxU32 getNbWheels4 () const @@ -325,8 +331,9 @@ PxF32 mMinLongSlipDenominator  Minimum long slip denominator. More...
  -PxU32 mPad [1] -  +PxU32 mFlags + The vehicle wheel simulation flags. More...
+  @@ -727,6 +734,27 @@

+ + + +

◆ getFlags()

+ +
+
+

Friends

+ + + + + + +
PxVehicleWheelsSimFlags PxVehicleWheelsSimData::getFlags () const
+
+ +

Return the vehicle wheel simulation flags.

+
Returns
The values of the flags.
+
See also
PxVehicleWheelsSimFlag
+
@@ -1617,6 +1645,34 @@

Note
This function assumes that the suspensions equally share the load of the chassis mass. It also assumes that the suspension will have a particular natural frequency and damping ratio that is typical of a standard car. If either of these assumptions is broken then each suspension will need to be individually configured with custom strength, damping rate, and sprung mass.
See also
allocate
+ + + +

◆ setFlags()

+ +
+
+ + + + + + + + +
void PxVehicleWheelsSimData::setFlags (PxVehicleWheelsSimFlags flags)
+
+ +

Set the vehicle wheel simulation flags.

+
Parameters
+ + +
[in]flagsThe flags to set (see PxVehicleWheelsSimFlags).
+
+
+

Default: no flag set

+
See also
PxVehicleWheelsSimFlag
+
@@ -2354,6 +2410,31 @@

+

◆ mFlags

+ +
+
+ + + + + +
+ + + + +
PxU32 PxVehicleWheelsSimData::mFlags
+
+private
+
+ +

The vehicle wheel simulation flags.

+
See also
PxVehicleWheelsSimFlags
+
@@ -2547,28 +2628,6 @@

See also
setTireLoadFilterData, getTireLoadFilterData
- - - -

◆ mPad

- -
-
- - - - - -
- - - - -
PxU32 PxVehicleWheelsSimData::mPad[1]
-
-private
-
-
diff --git a/physx/documentation/PhysXAPI/files/classPxVehicleWheelsSimData.js b/physx/documentation/PhysXAPI/files/classPxVehicleWheelsSimData.js index 9c65e770d..027f23105 100644 --- a/physx/documentation/PhysXAPI/files/classPxVehicleWheelsSimData.js +++ b/physx/documentation/PhysXAPI/files/classPxVehicleWheelsSimData.js @@ -13,6 +13,7 @@ var classPxVehicleWheelsSimData = [ "free", "classPxVehicleWheelsSimData.html#a2b6c609e342fd3f9fabc3e064602115b", null ], [ "getAntiRollBarData", "classPxVehicleWheelsSimData.html#aff980eb99861f377bbf46c069ab00e49", null ], [ "getBinaryMetaData", "classPxVehicleWheelsSimData.html#aab3d21ee63effbae8e311bb3efac0a8f", null ], + [ "getFlags", "classPxVehicleWheelsSimData.html#a52131b5c5288c9eeea1d3c647d4c079f", null ], [ "getHighForwardSpeedSubStepCount", "classPxVehicleWheelsSimData.html#ad196c5b249c937b0ff7ccc433dee4dc4", null ], [ "getIsWheelDisabled", "classPxVehicleWheelsSimData.html#ab1828f78ed0726902a20354e317348d9", null ], [ "getLowForwardSpeedSubStepCount", "classPxVehicleWheelsSimData.html#aa8d627458b6df7e72440ea2c9c948bba", null ], @@ -49,6 +50,7 @@ var classPxVehicleWheelsSimData = [ "patchUpPointers", "classPxVehicleWheelsSimData.html#a7b605042d1ef0fbd4dd84491e058c1cf", null ], [ "setAntiRollBarData", "classPxVehicleWheelsSimData.html#ae8706a8f39a630ba469414fb814fe206", null ], [ "setChassisMass", "classPxVehicleWheelsSimData.html#ac022268fa66b80edb6bb9b078923ba99", null ], + [ "setFlags", "classPxVehicleWheelsSimData.html#a3720f1b1894f707381a5a54e61996d7d", null ], [ "setHighForwardSpeedSubStepCount", "classPxVehicleWheelsSimData.html#ad959b05b234cf8b132d3e0a62072641a", null ], [ "setLowForwardSpeedSubStepCount", "classPxVehicleWheelsSimData.html#a0fd598dcbca75814aab13fb002cac976", null ], [ "setMinLongSlipDenominator", "classPxVehicleWheelsSimData.html#a940016ddd052f0c763a21fe776fdcc9d", null ], @@ -72,6 +74,7 @@ var classPxVehicleWheelsSimData = [ "PxVehicleWheels", "classPxVehicleWheelsSimData.html#ab770b7d25d1a8fee9b2a5ea18d57f345", null ], [ "mActiveWheelsBitmapBuffer", "classPxVehicleWheelsSimData.html#a4e21be9e2da937a316f856524fe3087d", null ], [ "mAntiRollBars", "classPxVehicleWheelsSimData.html#a4aee60fadd73239cce5a3f65985fc1e1", null ], + [ "mFlags", "classPxVehicleWheelsSimData.html#ac19a8182d65219347b5310b6b40b0f34", null ], [ "mHighForwardSpeedSubStepCount", "classPxVehicleWheelsSimData.html#ac1943de7f8ac21f0193b2151a81087fe", null ], [ "mLowForwardSpeedSubStepCount", "classPxVehicleWheelsSimData.html#aa3fc3742262302f5a92a0275731261ad", null ], [ "mMinLongSlipDenominator", "classPxVehicleWheelsSimData.html#a958f0894fd6d5e55bf26655f3bc25c04", null ], @@ -80,7 +83,6 @@ var classPxVehicleWheelsSimData = [ "mNbAntiRollBars4", "classPxVehicleWheelsSimData.html#af7cd42c61e92b3f0ca987d98821ff8e0", null ], [ "mNbWheels4", "classPxVehicleWheelsSimData.html#a4eb4e2dd1f12fb78783861fc2be928f3", null ], [ "mNormalisedLoadFilter", "classPxVehicleWheelsSimData.html#aff3bd1bcc605c0027c60d8c67d3192b6", null ], - [ "mPad", "classPxVehicleWheelsSimData.html#a7baa295b6de37e9b30c12d24a898d67c", null ], [ "mThresholdLongitudinalSpeed", "classPxVehicleWheelsSimData.html#a5073af89ff08314d2868b1f3a0cb2869", null ], [ "mWheels4SimData", "classPxVehicleWheelsSimData.html#a22c00f3cbb49c94119b0f667d266904f", null ] ]; \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/classes.html b/physx/documentation/PhysXAPI/files/classes.html index 873fd8bf5..339d25309 100644 --- a/physx/documentation/PhysXAPI/files/classes.html +++ b/physx/documentation/PhysXAPI/files/classes.html @@ -89,90 +89,90 @@
c | n | p | r
- - - + + + + - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + +
  c  
-
PxConstraintConnector   PxDominanceGroupPair   PxPairFilteringMode   PxTask (physx)   
PxConstraintExtIDs   PxErrorCallback   PxPairFlag   PxTaskManager (physx)   
ContactBuffer (physx::Gu)   PxConstraintFlag   PxErrorCode   PxPhysics   PxTaskType (physx)   
ContactPoint (physx::Gu)   PxConstraintInfo   PxExtendedContact   PxPhysicsInsertionCallback   PxTGSSolverBodyData   
PxConstraintConnector   PxDominanceGroupPair   PxPairFilteringMode   PxSweepHit   
PxConstraintExtIDs   PxErrorCallback   PxPairFlag   PxTask (physx)   
ContactBuffer (physx::Gu)   PxConstraintFlag   PxErrorCode   PxPhysics   PxTaskManager (physx)   
ContactPoint (physx::Gu)   PxConstraintInfo   PxExtendedContact   PxPhysicsInsertionCallback   PxTaskType (physx)   
  n  
-
PxConstraintInvMassScale   PxExtendedVec3   PxPlane   PxTGSSolverBodyTxInertia   
PxConstraintShaderTable   PxFeatherstoneArticulationData   PxPlaneGeometry   PxTGSSolverBodyVel   
NarrowPhaseParams (physx::Gu)   PxConstraintSolveHint   PxFeatherstoneArticulationJointData   PxPrismaticJoint   PxTGSSolverConstraintPrepDesc   
PxConstraintInvMassScale   PxExtendedVec3   PxPlane   PxTGSSolverBodyData   
PxConstraintShaderTable   PxFeatherstoneArticulationData   PxPlaneGeometry   PxTGSSolverBodyTxInertia   
NarrowPhaseParams (physx::Gu)   PxConstraintSolveHint   PxFeatherstoneArticulationJointData   PxPrismaticJoint   PxTGSSolverBodyVel   
  p  
-
PxConstraintVisualizationFlag   PxFeatherstoneArticulationLinkData   PxPrismaticJointFlag   PxTGSSolverConstraintPrepDescBase   
PxConstraintVisualizer   PxFileBuf   PxProcessPxBaseCallback   PxTGSSolverContactDesc   
Px1DConstraint   PxContact   PxFilterData   PxProfilerCallback (physx)   PxTolerancesScale   
Px1DConstraintFlag   PxContactJoint   PxFilterFlag   PxProfileScoped (physx)   PxTransform   
PxActor   PxContactModifyCallback   PxFilterObjectFlag   PxPruningStructure   PxTriangle   
PxActorFlag   PxContactModifyPair   PxFilterObjectType   PxPruningStructureType   PxTriangleMesh   
PxActorShape   PxContactPair   PxFilterOp   PxPvd   PxTriangleMeshCookingResult   
PxActorType   PxContactPairExtraDataItem   PxFixedJoint   PxPvdInstrumentationFlag   PxTriangleMeshDesc   
PxActorTypeFlag   PxContactPairExtraDataIterator   PxFixedSizeLookupTable   PxPvdSceneClient   PxTriangleMeshFlag   
PxAggregate   PxContactPairExtraDataType   PxFlags   PxPvdSceneFlag   PxTriangleMeshGeometry   
PxAllocatorCallback   PxContactPairFlag   PxForceMode   PxPvdTransport   PxTriggerPair   
PxArticulation   PxContactPairHeader   PxFoundation   PxPvdUpdateType   PxTriggerPairFlag   
PxArticulationAxis   PxContactPairHeaderFlag   PxFrictionType   PxQuat   PxTypedStridedData   
PxArticulationBase   PxContactPairIndex   PxgDynamicsMemoryConfig   PxQueryCache   PxTypeInfo   
PxArticulationCache   PxContactPairPoint   PxGeometry   PxQueryFilterCallback   PxUserControllerHitReport   
PxArticulationDrive   PxContactPairPose   PxGeometryHolder   PxQueryFilterData   PxVec2   
PxArticulationDriveCache   PxContactPairVelocity   PxGeometryQuery   PxQueryFlag   PxVec3   
PxArticulationDriveType   PxContactPatch   PxGeometryType   PxQueryHit   PxVec4   
PxArticulationFlag   PxContactRecorder   PxGroupsMask   PxQueryHitType   PxVehicleAckermannGeometryData   
PxArticulationJoint   PxContactSet   PxHeightField   PxRaycastBufferN   PxVehicleAntiRollBarData   
PxArticulationJointBase   PxContactStreamIterator   PxHeightFieldDesc   PxRaycastHit   PxVehicleAutoBoxData   
PxArticulationJointData   PxController   PxHeightFieldFlag   PxRenderBuffer   PxVehicleChassisData   
PxArticulationJointDriveType   PxControllerBehaviorCallback   PxHeightFieldFormat   PxRepXInstantiationArgs   PxVehicleClutchAccuracyMode   
PxArticulationJointReducedCoordinate   PxControllerBehaviorFlag   PxHeightFieldGeometry   PxRepXObject   PxVehicleClutchData   
PxArticulationJointType   PxControllerCollisionFlag   PxHeightFieldMaterial   PxRepXSerializer   PxVehicleConcreteType   
PxArticulationLimit   PxControllerDebugRenderFlag   PxHeightFieldSample   PxRevoluteJoint   PxVehicleConcurrentUpdateData   
PxArticulationLink   PxControllerDesc   PxHeightFieldTessFlag   PxRevoluteJointFlag   PxVehicleCopyDynamicsMap   
PxArticulationMotion   PxControllerFilterCallback   PxHitBuffer   PxRigidActor   PxVehicleDifferential4WData   
PxArticulationReducedCoordinate   PxControllerFilters   PxHitCallback   PxRigidActorExt   PxVehicleDifferentialNWData   
PxArticulationRootLinkData   PxControllerHit   PxHitFlag   PxRigidBody   PxVehicleDrivableSurfaceToTireFrictionPairs   
PxAssertHandler   PxControllerManager   PxHullPolygon   PxRigidBodyData   PxVehicleDrivableSurfaceType   
PxBase   PxControllerNonWalkableMode   PxImmediateConstraint   PxRigidBodyExt   PxVehicleDrive   
PxBaseFlag   PxControllerObstacleHit   PxInputData   PxRigidBodyFlag   PxVehicleDrive4W   
PxBaseTask (physx)   PxControllerShapeHit   PxInputStream   PxRigidDynamic   PxVehicleDrive4WControl   
PxBatchQuery   PxControllerShapeType   PxJacobianRow   PxRigidDynamicLockFlag   PxVehicleDrive4WRawInputData   
PxBatchQueryDesc   PxControllersHit   PxJoint   PxRigidStatic   PxVehicleDrive4WWheelOrder   
PxBatchQueryMemory   PxControllerState   PxJointActorIndex   PxScene   PxVehicleDriveDynData   
PxBatchQueryResult   PxControllerStats   PxJointAngularLimitPair   PxSceneDesc   PxVehicleDriveNW   
PxBatchQueryStatus   PxConverterReportMode   PxJointConcreteType   PxSceneFlag   PxVehicleDriveNWControl   
PxBinaryConverter   PxConvexFlag   PxJointLimitCone   PxSceneLimits   PxVehicleDriveNWRawInputData   
PxBitAndDataT   PxConvexMesh   PxJointLimitParameters   PxSceneQueryExt   PxVehicleDriveSimData   
PxBoundedData   PxConvexMeshCookingResult   PxJointLimitPyramid   PxSceneQueryUpdateMode   PxVehicleDriveSimData4W   
PxBounds3   PxConvexMeshCookingType   PxJointLinearLimit   PxSceneReadLock   PxVehicleDriveSimDataNW   
PxBoxController   PxConvexMeshDesc   PxJointLinearLimitPair   PxSceneWriteLock   PxVehicleDriveTank   
PxBoxControllerDesc   PxConvexMeshGeometry   PxLightCpuTask (physx)   PxSerialization   PxVehicleDriveTankControl   
PxBoxGeometry   PxConvexMeshGeometryFlag   PxLinkData   PxSerializationContext   PxVehicleDriveTankControlModel   
PxBoxObstacle   PxCooking   PxLocationHit   PxSerializationRegistry   PxVehicleDriveTankRawInputData   
PxBroadPhaseCallback   PxCookingParams   PxLockedData   PxSerializer   PxVehicleDriveTankWheelOrder   
PxBroadPhaseCaps   PxCpuDispatcher (physx)   PxMassModificationProps   PxSerializerDefaultAdapter   PxVehicleEngineData   
PxBroadPhaseExt   PxD6Axis   PxMassProperties   PxShape   PxVehicleGearsData   
PxBroadPhaseRegion   PxD6Drive   PxMat33   PxShapeExt   PxVehicleKeySmoothingData   
PxBroadPhaseRegionInfo   PxD6Joint   PxMat44   PxShapeFlag   PxVehicleNoDrive   
PxBroadPhaseType   PxD6JointDrive   PxMaterial   PxSimpleTriangleMesh   PxVehiclePadSmoothingData   
PxBVH33MidphaseDesc   PxD6JointDriveFlag   PxMaterialFlag   PxSimulationEventCallback   PxVehicleSuspensionData   
PxBVH33TriangleMesh   PxD6Motion   PxMeshCookingHint   PxSimulationFilterCallback   PxVehicleTireData   
PxBVH34MidphaseDesc   PxDataAccessFlag   PxMeshFlag   PxSimulationStatistics   PxVehicleTireLoadFilterData   
PxBVH34TriangleMesh   PxDebugColor   PxMeshGeometryFlag   PxSolverBody   PxVehicleTypes   
PxBVHStructure   PxDebugLine   PxMeshMidPhase   PxSolverBodyData   PxVehicleUpdateMode   
PxBVHStructureDesc   PxDebugPoint   PxMeshOverlapUtil   PxSolverConstraintDesc   PxVehicleWheelConcurrentUpdateData   
PxCache   PxDebugText   PxMeshPreprocessingFlag   PxSolverConstraintPrepDesc   PxVehicleWheelData   
PxCacheAllocator   PxDebugTriangle   PxMeshQuery   PxSolverConstraintPrepDescBase   PxVehicleWheelQueryResult   
PxCapsuleClimbingMode   PxDefaultAllocator   PxMeshScale   PxSolverContactDesc   PxVehicleWheels   
PxCapsuleController   PxDefaultCpuDispatcher   PxMetaDataEntry   PxSolverType   PxVehicleWheelsDynData   
PxCapsuleControllerDesc   PxDefaultErrorCallback   PxMetaDataFlag   PxSpatialForce   PxVehicleWheelsSimData   
PxCapsuleGeometry   PxDefaultFileInputData   PxMidphaseDesc   PxSphereGeometry   PxVisualizationParameter   
PxCapsuleObstacle   PxDefaultFileOutputStream   PxModifiableContact   PxSphericalJoint   PxWheelQueryResult   
PxCCDContactModifyCallback   PxDefaultMemoryInputData   PxMutableLinkData   PxSphericalJointFlag   PxSerialization::PxXmlMiscParameter   
PxCollection   PxDefaultMemoryOutputStream   PxObstacle   PxSpring   
  r  
+
PxConstraintVisualizationFlag   PxFeatherstoneArticulationLinkData   PxPrismaticJointFlag   PxTGSSolverConstraintPrepDesc   
PxConstraintVisualizer   PxFileBuf   PxProcessPxBaseCallback   PxTGSSolverConstraintPrepDescBase   
Px1DConstraint   PxContact   PxFilterData   PxProfilerCallback (physx)   PxTGSSolverContactDesc   
Px1DConstraintFlag   PxContactJoint   PxFilterFlag   PxProfileScoped (physx)   PxTolerancesScale   
PxActor   PxContactModifyCallback   PxFilterObjectFlag   PxPruningStructure   PxTransform   
PxActorFlag   PxContactModifyPair   PxFilterObjectType   PxPruningStructureType   PxTriangle   
PxActorShape   PxContactPair   PxFilterOp   PxPvd   PxTriangleMesh   
PxActorType   PxContactPairExtraDataItem   PxFixedJoint   PxPvdInstrumentationFlag   PxTriangleMeshCookingResult   
PxActorTypeFlag   PxContactPairExtraDataIterator   PxFixedSizeLookupTable   PxPvdSceneClient   PxTriangleMeshDesc   
PxAggregate   PxContactPairExtraDataType   PxFlags   PxPvdSceneFlag   PxTriangleMeshFlag   
PxAllocatorCallback   PxContactPairFlag   PxForceMode   PxPvdTransport   PxTriangleMeshGeometry   
PxArticulation   PxContactPairHeader   PxFoundation   PxPvdUpdateType   PxTriggerPair   
PxArticulationAxis   PxContactPairHeaderFlag   PxFrictionType   PxQuat   PxTriggerPairFlag   
PxArticulationBase   PxContactPairIndex   PxgDynamicsMemoryConfig   PxQueryCache   PxTypedStridedData   
PxArticulationCache   PxContactPairPoint   PxGeometry   PxQueryFilterCallback   PxTypeInfo   
PxArticulationDrive   PxContactPairPose   PxGeometryHolder   PxQueryFilterData   PxUserControllerHitReport   
PxArticulationDriveCache   PxContactPairVelocity   PxGeometryQuery   PxQueryFlag   PxVec2   
PxArticulationDriveType   PxContactPatch   PxGeometryType   PxQueryHit   PxVec3   
PxArticulationFlag   PxContactRecorder   PxGroupsMask   PxQueryHitType   PxVec4   
PxArticulationJoint   PxContactSet   PxHeightField   PxRaycastBufferN   PxVehicleAckermannGeometryData   
PxArticulationJointBase   PxContactStreamIterator   PxHeightFieldDesc   PxRaycastHit   PxVehicleAntiRollBarData   
PxArticulationJointData   PxController   PxHeightFieldFlag   PxRenderBuffer   PxVehicleAutoBoxData   
PxArticulationJointDriveType   PxControllerBehaviorCallback   PxHeightFieldFormat   PxRepXInstantiationArgs   PxVehicleChassisData   
PxArticulationJointReducedCoordinate   PxControllerBehaviorFlag   PxHeightFieldGeometry   PxRepXObject   PxVehicleClutchAccuracyMode   
PxArticulationJointType   PxControllerCollisionFlag   PxHeightFieldMaterial   PxRepXSerializer   PxVehicleClutchData   
PxArticulationLimit   PxControllerDebugRenderFlag   PxHeightFieldSample   PxRevoluteJoint   PxVehicleConcreteType   
PxArticulationLink   PxControllerDesc   PxHeightFieldTessFlag   PxRevoluteJointFlag   PxVehicleConcurrentUpdateData   
PxArticulationMotion   PxControllerFilterCallback   PxHitBuffer   PxRigidActor   PxVehicleCopyDynamicsMap   
PxArticulationReducedCoordinate   PxControllerFilters   PxHitCallback   PxRigidActorExt   PxVehicleDifferential4WData   
PxArticulationRootLinkData   PxControllerHit   PxHitFlag   PxRigidBody   PxVehicleDifferentialNWData   
PxAssertHandler   PxControllerManager   PxHullPolygon   PxRigidBodyData   PxVehicleDrivableSurfaceToTireFrictionPairs   
PxBase   PxControllerNonWalkableMode   PxImmediateConstraint   PxRigidBodyExt   PxVehicleDrivableSurfaceType   
PxBaseFlag   PxControllerObstacleHit   PxInputData   PxRigidBodyFlag   PxVehicleDrive   
PxBaseTask (physx)   PxControllerShapeHit   PxInputStream   PxRigidDynamic   PxVehicleDrive4W   
PxBatchQuery   PxControllerShapeType   PxJacobianRow   PxRigidDynamicLockFlag   PxVehicleDrive4WControl   
PxBatchQueryDesc   PxControllersHit   PxJoint   PxRigidStatic   PxVehicleDrive4WRawInputData   
PxBatchQueryMemory   PxControllerState   PxJointActorIndex   PxScene   PxVehicleDrive4WWheelOrder   
PxBatchQueryResult   PxControllerStats   PxJointAngularLimitPair   PxSceneDesc   PxVehicleDriveDynData   
PxBatchQueryStatus   PxConverterReportMode   PxJointConcreteType   PxSceneFlag   PxVehicleDriveNW   
PxBinaryConverter   PxConvexFlag   PxJointLimitCone   PxSceneLimits   PxVehicleDriveNWControl   
PxBitAndDataT   PxConvexMesh   PxJointLimitParameters   PxSceneQueryExt   PxVehicleDriveNWRawInputData   
PxBoundedData   PxConvexMeshCookingResult   PxJointLimitPyramid   PxSceneQueryUpdateMode   PxVehicleDriveSimData   
PxBounds3   PxConvexMeshCookingType   PxJointLinearLimit   PxSceneReadLock   PxVehicleDriveSimData4W   
PxBoxController   PxConvexMeshDesc   PxJointLinearLimitPair   PxSceneWriteLock   PxVehicleDriveSimDataNW   
PxBoxControllerDesc   PxConvexMeshGeometry   PxLightCpuTask (physx)   PxSerialization   PxVehicleDriveTank   
PxBoxGeometry   PxConvexMeshGeometryFlag   PxLinkData   PxSerializationContext   PxVehicleDriveTankControl   
PxBoxObstacle   PxCooking   PxLocationHit   PxSerializationRegistry   PxVehicleDriveTankControlModel   
PxBroadPhaseCallback   PxCookingParams   PxLockedData   PxSerializer   PxVehicleDriveTankRawInputData   
PxBroadPhaseCaps   PxCpuDispatcher (physx)   PxMassModificationProps   PxSerializerDefaultAdapter   PxVehicleDriveTankWheelOrder   
PxBroadPhaseExt   PxD6Axis   PxMassProperties   PxShape   PxVehicleEngineData   
PxBroadPhaseRegion   PxD6Drive   PxMat33   PxShapeExt   PxVehicleGearsData   
PxBroadPhaseRegionInfo   PxD6Joint   PxMat44   PxShapeFlag   PxVehicleKeySmoothingData   
PxBroadPhaseType   PxD6JointDrive   PxMaterial   PxSimpleTriangleMesh   PxVehicleNoDrive   
PxBVH33MidphaseDesc   PxD6JointDriveFlag   PxMaterialFlag   PxSimulationEventCallback   PxVehiclePadSmoothingData   
PxBVH33TriangleMesh   PxD6Motion   PxMeshCookingHint   PxSimulationFilterCallback   PxVehicleSuspensionData   
PxBVH34MidphaseDesc   PxDataAccessFlag   PxMeshFlag   PxSimulationStatistics   PxVehicleTireData   
PxBVH34TriangleMesh   PxDebugColor   PxMeshGeometryFlag   PxSolverBody   PxVehicleTireLoadFilterData   
PxBVHStructure   PxDebugLine   PxMeshMidPhase   PxSolverBodyData   PxVehicleTypes   
PxBVHStructureDesc   PxDebugPoint   PxMeshOverlapUtil   PxSolverConstraintDesc   PxVehicleUpdateMode   
PxCache   PxDebugText   PxMeshPreprocessingFlag   PxSolverConstraintPrepDesc   PxVehicleWheelConcurrentUpdateData   
PxCacheAllocator   PxDebugTriangle   PxMeshQuery   PxSolverConstraintPrepDescBase   PxVehicleWheelData   
PxCapsuleClimbingMode   PxDefaultAllocator   PxMeshScale   PxSolverContactDesc   PxVehicleWheelQueryResult   
PxCapsuleController   PxDefaultCpuDispatcher   PxMetaDataEntry   PxSolverType   PxVehicleWheels   
PxCapsuleControllerDesc   PxDefaultErrorCallback   PxMetaDataFlag   PxSpatialForce   PxVehicleWheelsDynData   
PxCapsuleGeometry   PxDefaultFileInputData   PxMidphaseDesc   PxSpatialVelocity   PxVehicleWheelsSimData   
PxCapsuleObstacle   PxDefaultFileOutputStream   PxModifiableContact   PxSphereGeometry   PxVehicleWheelsSimFlag   
PxCCDContactModifyCallback   PxDefaultMemoryInputData   PxMutableLinkData   PxSphericalJoint   PxVisualizationParameter   
PxCollection   PxDefaultMemoryOutputStream   PxObstacle   PxSphericalJointFlag   PxWheelQueryResult   
PxCollectionExt   PxDelayLoadHook   PxObstacleContext   PxSpring   PxSerialization::PxXmlMiscParameter   
PxCombineMode   PxDeletionEventFlag   PxOutputStream   PxStridedData   
  r  
PxCollectionExt   PxDelayLoadHook   PxObstacleContext   PxStridedData   
PxCombineMode   PxDeletionEventFlag   PxOutputStream   PxStrideIterator   RaycastCCDManager   
PxConcreteType   PxDeletionListener   PxOverlapBufferN   PxStringTable   
PxConstraint   PxDeserializationContext   PxOverlapHit   PxStringTableExt   
PxConstraintAllocator   PxDistanceJoint   PxPackValidation   PxSweepBufferN   
PxConstraintBatchHeader   PxDistanceJointFlag   PxPadding   PxSweepHit   
PxConcreteType   PxDeletionListener   PxOverlapBufferN   PxStrideIterator   
PxConstraint   PxDeserializationContext   PxOverlapHit   PxStringTable   RaycastCCDManager   
PxConstraintAllocator   PxDistanceJoint   PxPackValidation   PxStringTableExt   
PxConstraintBatchHeader   PxDistanceJointFlag   PxPadding   PxSweepBufferN   
c | n | p | r
diff --git a/physx/documentation/PhysXAPI/files/dir_000001_000003.html b/physx/documentation/PhysXAPI/files/dir_000001_000003.html index 7fbcad323..39d29ab23 100644 --- a/physx/documentation/PhysXAPI/files/dir_000001_000003.html +++ b/physx/documentation/PhysXAPI/files/dir_000001_000003.html @@ -82,7 +82,7 @@
-

geomutils → packman-repo Relation

File in include/geomutilsIncludes file in packman-repo
GuContactPoint.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxVec3.h
+

geomutils → packman-repo Relation

File in include/geomutilsIncludes file in packman-repo
GuContactPoint.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxVec3.h
diff --git a/physx/documentation/PhysXAPI/files/dir_000008_000003.html b/physx/documentation/PhysXAPI/files/dir_000008_000003.html index dbcd686c2..0277203f8 100644 --- a/physx/documentation/PhysXAPI/files/dir_000008_000003.html +++ b/physx/documentation/PhysXAPI/files/dir_000008_000003.html @@ -82,7 +82,7 @@
-

foundation → packman-repo Relation

File in include/foundationIncludes file in packman-repo
PxAssert.hPxShared-public / 1.1.trunk.25954437 / include / foundation / Px.h
PxFoundationConfig.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxPreprocessor.h
PxMathUtils.hPxShared-public / 1.1.trunk.25954437 / include / foundation / Px.h
+

foundation → packman-repo Relation

File in include/foundationIncludes file in packman-repo
PxAssert.hPxShared-public / 1.1.trunk.26829735 / include / foundation / Px.h
PxFoundationConfig.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxPreprocessor.h
PxMathUtils.hPxShared-public / 1.1.trunk.26829735 / include / foundation / Px.h
diff --git a/physx/documentation/PhysXAPI/files/dir_000009_000003.html b/physx/documentation/PhysXAPI/files/dir_000009_000003.html index bde76a194..947becbac 100644 --- a/physx/documentation/PhysXAPI/files/dir_000009_000003.html +++ b/physx/documentation/PhysXAPI/files/dir_000009_000003.html @@ -82,7 +82,7 @@ +

common → packman-repo Relation

File in include/commonIncludes file in packman-repo
PxBase.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxFlags.h
PxCoreUtilityTypes.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxMemory.h
PxMetaData.hPxShared-public / 1.1.trunk.26829735 / include / foundation / Px.h
PxMetaData.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxIO.h
PxMetaDataFlags.hPxShared-public / 1.1.trunk.26829735 / include / foundation / Px.h
PxPhysXCommonConfig.hPxShared-public / 1.1.trunk.26829735 / include / foundation / Px.h
PxProfileZone.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxProfiler.h
PxRenderBuffer.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxBounds3.h
PxRenderBuffer.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxMat33.h
PxRenderBuffer.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxVec3.h
PxSerializer.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxAllocatorCallback.h
PxStringTable.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxPreprocessor.h
windows / PxWindowsDelayLoadHook.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxPreprocessor.h
diff --git a/physx/documentation/PhysXAPI/files/dir_000010_000003.html b/physx/documentation/PhysXAPI/files/dir_000010_000003.html index 2fd6fb3b7..c9dffff4c 100644 --- a/physx/documentation/PhysXAPI/files/dir_000010_000003.html +++ b/physx/documentation/PhysXAPI/files/dir_000010_000003.html @@ -82,7 +82,7 @@
-

extensions → packman-repo Relation

File in include/extensionsIncludes file in packman-repo
PxConstraintExt.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxPreprocessor.h
PxD6Joint.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxFlags.h
PxDefaultAllocator.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxAllocatorCallback.h
PxDefaultErrorCallback.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxErrorCallback.h
PxDefaultStreams.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxIO.h
PxExtensionsAPI.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxErrorCallback.h
PxJoint.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxTransform.h
PxJointLimit.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxMath.h
PxMassProperties.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxMat33.h
PxMassProperties.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxMath.h
PxMassProperties.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxQuat.h
PxMassProperties.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxTransform.h
PxMassProperties.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxVec3.h
PxRaycastCCD.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxVec3.h
PxRepXSimpleType.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxSimpleTypes.h
PxSerialization.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxIO.h
PxSimpleFactory.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxPlane.h
PxSimpleFactory.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxTransform.h
PxStringTableExt.hPxShared-public / 1.1.trunk.25954437 / include / foundation / Px.h
+

extensions → packman-repo Relation

File in include/extensionsIncludes file in packman-repo
PxConstraintExt.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxPreprocessor.h
PxD6Joint.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxFlags.h
PxDefaultAllocator.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxAllocatorCallback.h
PxDefaultErrorCallback.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxErrorCallback.h
PxDefaultStreams.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxIO.h
PxExtensionsAPI.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxErrorCallback.h
PxJoint.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxTransform.h
PxJointLimit.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxMath.h
PxMassProperties.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxMat33.h
PxMassProperties.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxMath.h
PxMassProperties.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxQuat.h
PxMassProperties.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxTransform.h
PxMassProperties.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxVec3.h
PxRaycastCCD.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxVec3.h
PxRepXSimpleType.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxSimpleTypes.h
PxSerialization.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxIO.h
PxSimpleFactory.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxPlane.h
PxSimpleFactory.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxTransform.h
PxStringTableExt.hPxShared-public / 1.1.trunk.26829735 / include / foundation / Px.h
diff --git a/physx/documentation/PhysXAPI/files/dir_000011_000003.html b/physx/documentation/PhysXAPI/files/dir_000011_000003.html index 15ba5b60a..fca432717 100644 --- a/physx/documentation/PhysXAPI/files/dir_000011_000003.html +++ b/physx/documentation/PhysXAPI/files/dir_000011_000003.html @@ -82,7 +82,7 @@ +

characterkinematic → packman-repo Relation

File in include/characterkinematicIncludes file in packman-repo
PxController.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxErrorCallback.h
PxControllerManager.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxErrorCallback.h
PxControllerManager.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxFlags.h
PxExtended.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxTransform.h
diff --git a/physx/documentation/PhysXAPI/files/dir_000012_000003.html b/physx/documentation/PhysXAPI/files/dir_000012_000003.html index a1a053a0b..6d0aa3881 100644 --- a/physx/documentation/PhysXAPI/files/dir_000012_000003.html +++ b/physx/documentation/PhysXAPI/files/dir_000012_000003.html @@ -82,7 +82,7 @@
-

geometry → packman-repo Relation

File in include/geometryIncludes file in packman-repo
PxBoxGeometry.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxVec3.h
PxBVHStructure.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxBounds3.h
PxBVHStructure.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxTransform.h
PxConvexMesh.hPxShared-public / 1.1.trunk.25954437 / include / foundation / Px.h
PxGeometry.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxFlags.h
PxGeometry.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxMath.h
PxGeometryHelpers.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxPlane.h
PxGeometryHelpers.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxTransform.h
PxGeometryHelpers.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxUnionCast.h
PxHeightFieldFlag.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxFlags.h
PxHeightFieldSample.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxBitAndData.h
PxMeshScale.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxMat33.h
PxPlaneGeometry.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxPlane.h
PxPlaneGeometry.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxTransform.h
PxSimpleTriangleMesh.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxFlags.h
PxSimpleTriangleMesh.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxVec3.h
PxTriangle.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxVec3.h
PxTriangleMesh.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxBounds3.h
PxTriangleMesh.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxVec3.h
+

geometry → packman-repo Relation

File in include/geometryIncludes file in packman-repo
PxBoxGeometry.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxVec3.h
PxBVHStructure.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxBounds3.h
PxBVHStructure.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxTransform.h
PxConvexMesh.hPxShared-public / 1.1.trunk.26829735 / include / foundation / Px.h
PxGeometry.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxFlags.h
PxGeometry.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxMath.h
PxGeometryHelpers.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxPlane.h
PxGeometryHelpers.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxTransform.h
PxGeometryHelpers.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxUnionCast.h
PxHeightFieldFlag.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxFlags.h
PxHeightFieldSample.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxBitAndData.h
PxMeshScale.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxMat33.h
PxPlaneGeometry.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxPlane.h
PxPlaneGeometry.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxTransform.h
PxSimpleTriangleMesh.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxFlags.h
PxSimpleTriangleMesh.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxVec3.h
PxTriangle.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxVec3.h
PxTriangleMesh.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxBounds3.h
PxTriangleMesh.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxVec3.h
diff --git a/physx/documentation/PhysXAPI/files/dir_000013_000003.html b/physx/documentation/PhysXAPI/files/dir_000013_000003.html index 5993ad0f6..d71b739b0 100644 --- a/physx/documentation/PhysXAPI/files/dir_000013_000003.html +++ b/physx/documentation/PhysXAPI/files/dir_000013_000003.html @@ -82,7 +82,7 @@ +

cooking → packman-repo Relation

File in include/cookingIncludes file in packman-repo
PxBVH33MidphaseDesc.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxPreprocessor.h
PxBVH33MidphaseDesc.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxSimpleTypes.h
PxBVH34MidphaseDesc.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxPreprocessor.h
PxBVH34MidphaseDesc.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxSimpleTypes.h
PxBVHStructureDesc.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxBounds3.h
PxBVHStructureDesc.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxTransform.h
Pxc.hPxShared-public / 1.1.trunk.26829735 / include / foundation / Px.h
PxConvexMeshDesc.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxFlags.h
PxConvexMeshDesc.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxVec3.h
diff --git a/physx/documentation/PhysXAPI/files/dir_000014_000003.html b/physx/documentation/PhysXAPI/files/dir_000014_000003.html index c5e6f2807..2c8c9d0f1 100644 --- a/physx/documentation/PhysXAPI/files/dir_000014_000003.html +++ b/physx/documentation/PhysXAPI/files/dir_000014_000003.html @@ -82,7 +82,7 @@
-

collision → packman-repo Relation

File in include/collisionIncludes file in packman-repo
PxCollisionDefs.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxMat33.h
PxCollisionDefs.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxVec3.h
+

collision → packman-repo Relation

File in include/collisionIncludes file in packman-repo
PxCollisionDefs.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxMat33.h
PxCollisionDefs.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxVec3.h
diff --git a/physx/documentation/PhysXAPI/files/dir_000015_000003.html b/physx/documentation/PhysXAPI/files/dir_000015_000003.html index bfd8022ec..6b1658352 100644 --- a/physx/documentation/PhysXAPI/files/dir_000015_000003.html +++ b/physx/documentation/PhysXAPI/files/dir_000015_000003.html @@ -82,7 +82,7 @@ +

task → packman-repo Relation

File in include/taskIncludes file in packman-repo
PxCpuDispatcher.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxSimpleTypes.h
PxTaskDefine.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxPreprocessor.h
PxTaskManager.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxErrorCallback.h
PxTaskManager.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxSimpleTypes.h
diff --git a/physx/documentation/PhysXAPI/files/dir_000016_000003.html b/physx/documentation/PhysXAPI/files/dir_000016_000003.html index 1aa2ada56..df5af92cc 100644 --- a/physx/documentation/PhysXAPI/files/dir_000016_000003.html +++ b/physx/documentation/PhysXAPI/files/dir_000016_000003.html @@ -82,7 +82,7 @@
-

cudamanager → packman-repo Relation

File in include/cudamanagerIncludes file in packman-repo
PxCudaContextManager.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxPreprocessor.h
PxCudaMemoryManager.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxPreprocessor.h
+

cudamanager → packman-repo Relation

File in include/cudamanagerIncludes file in packman-repo
PxCudaContextManager.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxPreprocessor.h
PxCudaMemoryManager.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxPreprocessor.h
diff --git a/physx/documentation/PhysXAPI/files/dir_000017_000003.html b/physx/documentation/PhysXAPI/files/dir_000017_000003.html index 0db06329d..f7ebcedeb 100644 --- a/physx/documentation/PhysXAPI/files/dir_000017_000003.html +++ b/physx/documentation/PhysXAPI/files/dir_000017_000003.html @@ -82,7 +82,7 @@
-

filebuf → packman-repo Relation

File in include/filebufIncludes file in packman-repo
PxFileBuf.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxSimpleTypes.h
+

filebuf → packman-repo Relation

File in include/filebufIncludes file in packman-repo
PxFileBuf.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxSimpleTypes.h
diff --git a/physx/documentation/PhysXAPI/files/dir_000019_000003.html b/physx/documentation/PhysXAPI/files/dir_000019_000003.html index b0babb383..65068123f 100644 --- a/physx/documentation/PhysXAPI/files/dir_000019_000003.html +++ b/physx/documentation/PhysXAPI/files/dir_000019_000003.html @@ -82,7 +82,7 @@ +

pvd → packman-repo Relation

File in include/pvdIncludes file in packman-repo
PxPvd.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxFlags.h
PxPvd.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxProfiler.h
PxPvdSceneClient.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxFlags.h
PxPvdTransport.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxErrors.h
PxPvdTransport.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxFlags.h
diff --git a/physx/documentation/PhysXAPI/files/dir_000020_000003.html b/physx/documentation/PhysXAPI/files/dir_000020_000003.html index 30d48fb35..a80537eee 100644 --- a/physx/documentation/PhysXAPI/files/dir_000020_000003.html +++ b/physx/documentation/PhysXAPI/files/dir_000020_000003.html @@ -82,7 +82,7 @@ +

solver → packman-repo Relation

File in include/solverIncludes file in packman-repo
PxSolverDefs.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxMat33.h
PxSolverDefs.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxTransform.h
PxSolverDefs.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxVec3.h
diff --git a/physx/documentation/PhysXAPI/files/dir_000022_000003.html b/physx/documentation/PhysXAPI/files/dir_000022_000003.html index 693a5bfff..42d7d9b8c 100644 --- a/physx/documentation/PhysXAPI/files/dir_000022_000003.html +++ b/physx/documentation/PhysXAPI/files/dir_000022_000003.html @@ -82,7 +82,7 @@ +

vehicle → packman-repo Relation

File in include/vehicleIncludes file in packman-repo
PxVehicleComponents.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxMemory.h
PxVehicleComponents.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxVec3.h
PxVehicleSDK.hPxShared-public / 1.1.trunk.26829735 / include / foundation / Px.h
PxVehicleShaders.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxSimpleTypes.h
PxVehicleTireFriction.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxSimpleTypes.h
PxVehicleUpdate.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxMemory.h
PxVehicleUpdate.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxSimpleTypes.h
PxVehicleUpdate.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxTransform.h
PxVehicleUtil.hPxShared-public / 1.1.trunk.26829735 / include / foundation / Px.h
PxVehicleUtilSetup.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxSimpleTypes.h
PxVehicleUtilTelemetry.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxSimpleTypes.h
PxVehicleUtilTelemetry.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxVec3.h
PxVehicleWheels.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxSimpleTypes.h
diff --git a/physx/documentation/PhysXAPI/files/dir_000023_000003.html b/physx/documentation/PhysXAPI/files/dir_000023_000003.html index c67b67221..036bd6a38 100644 --- a/physx/documentation/PhysXAPI/files/dir_000023_000003.html +++ b/physx/documentation/PhysXAPI/files/dir_000023_000003.html @@ -82,7 +82,7 @@
-

windows → packman-repo Relation

File in include/common/windowsIncludes file in packman-repo
PxWindowsDelayLoadHook.hPxShared-public / 1.1.trunk.25954437 / include / foundation / PxPreprocessor.h
+

windows → packman-repo Relation

File in include/common/windowsIncludes file in packman-repo
PxWindowsDelayLoadHook.hPxShared-public / 1.1.trunk.26829735 / include / foundation / PxPreprocessor.h
diff --git a/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3.html b/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3.html index 043e16345..0a2282381 100644 --- a/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3.html +++ b/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3.html @@ -91,7 +91,7 @@
PxShared-public
- + @@ -99,7 +99,7 @@ - +

Directories

directory  1.1.trunk.25954437
directory  1.1.trunk.26829735
 
diff --git a/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3_dep.map b/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3_dep.map index e29f1b41e..955e458ee 100644 --- a/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3_dep.map +++ b/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3_dep.map @@ -1,5 +1,5 @@ - + diff --git a/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3_dep.md5 b/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3_dep.md5 index 7b565653d..e545314f5 100644 --- a/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3_dep.md5 +++ b/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3_dep.md5 @@ -1 +1 @@ -b50a3bf453fb907e3a9671b9c2a42e42 \ No newline at end of file +0351f818f8e22e83f1c8d46fe8208e6d \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3_dep.png b/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3_dep.png index 65041c5ab..9a2ac6123 100644 Binary files a/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3_dep.png and b/physx/documentation/PhysXAPI/files/dir_00da2edea9258cb4cbcc8589efdac5c3_dep.png differ diff --git a/physx/documentation/PhysXAPI/files/dir_6177b942d3265bc2ffafad5c9d66b446_dep.map b/physx/documentation/PhysXAPI/files/dir_6177b942d3265bc2ffafad5c9d66b446_dep.map deleted file mode 100644 index 63a316b5f..000000000 --- a/physx/documentation/PhysXAPI/files/dir_6177b942d3265bc2ffafad5c9d66b446_dep.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/physx/documentation/PhysXAPI/files/dir_6177b942d3265bc2ffafad5c9d66b446_dep.md5 b/physx/documentation/PhysXAPI/files/dir_6177b942d3265bc2ffafad5c9d66b446_dep.md5 deleted file mode 100644 index 91285c8d8..000000000 --- a/physx/documentation/PhysXAPI/files/dir_6177b942d3265bc2ffafad5c9d66b446_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -c4f115a51b8fdc53858707565d783b10 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/dir_6177b942d3265bc2ffafad5c9d66b446_dep.png b/physx/documentation/PhysXAPI/files/dir_6177b942d3265bc2ffafad5c9d66b446_dep.png deleted file mode 100644 index a996da95e..000000000 Binary files a/physx/documentation/PhysXAPI/files/dir_6177b942d3265bc2ffafad5c9d66b446_dep.png and /dev/null differ diff --git a/physx/documentation/PhysXAPI/files/dir_6177b942d3265bc2ffafad5c9d66b446.html b/physx/documentation/PhysXAPI/files/dir_6f03ca2356a29c1b04631ac8beeccc6d.html similarity index 81% rename from physx/documentation/PhysXAPI/files/dir_6177b942d3265bc2ffafad5c9d66b446.html rename to physx/documentation/PhysXAPI/files/dir_6f03ca2356a29c1b04631ac8beeccc6d.html index 77575fee5..d30ecb875 100644 --- a/physx/documentation/PhysXAPI/files/dir_6177b942d3265bc2ffafad5c9d66b446.html +++ b/physx/documentation/PhysXAPI/files/dir_6f03ca2356a29c1b04631ac8beeccc6d.html @@ -63,7 +63,7 @@
@@ -89,17 +89,17 @@
Directory dependency graph for include:
-
include
- - - - +
include
+ + + +
- +

Directories

directory  foundation
directory  foundation
 
@@ -108,7 +108,7 @@ diff --git a/physx/documentation/PhysXAPI/files/dir_6f03ca2356a29c1b04631ac8beeccc6d_dep.map b/physx/documentation/PhysXAPI/files/dir_6f03ca2356a29c1b04631ac8beeccc6d_dep.map new file mode 100644 index 000000000..7534c49b5 --- /dev/null +++ b/physx/documentation/PhysXAPI/files/dir_6f03ca2356a29c1b04631ac8beeccc6d_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/physx/documentation/PhysXAPI/files/dir_6f03ca2356a29c1b04631ac8beeccc6d_dep.md5 b/physx/documentation/PhysXAPI/files/dir_6f03ca2356a29c1b04631ac8beeccc6d_dep.md5 new file mode 100644 index 000000000..3074c176f --- /dev/null +++ b/physx/documentation/PhysXAPI/files/dir_6f03ca2356a29c1b04631ac8beeccc6d_dep.md5 @@ -0,0 +1 @@ +e0a5c2a7850a73a6bd3b3356ce19992e \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/dir_6f03ca2356a29c1b04631ac8beeccc6d_dep.png b/physx/documentation/PhysXAPI/files/dir_6f03ca2356a29c1b04631ac8beeccc6d_dep.png new file mode 100644 index 000000000..0c0a675c8 Binary files /dev/null and b/physx/documentation/PhysXAPI/files/dir_6f03ca2356a29c1b04631ac8beeccc6d_dep.png differ diff --git a/physx/documentation/PhysXAPI/files/dir_9b5b1e4133be9d3163d82df1d3b72c71.html b/physx/documentation/PhysXAPI/files/dir_72a80d6153a31b0ccdb1435c1b01e02c.html similarity index 82% rename from physx/documentation/PhysXAPI/files/dir_9b5b1e4133be9d3163d82df1d3b72c71.html rename to physx/documentation/PhysXAPI/files/dir_72a80d6153a31b0ccdb1435c1b01e02c.html index f4eb58b35..cca67bd59 100644 --- a/physx/documentation/PhysXAPI/files/dir_9b5b1e4133be9d3163d82df1d3b72c71.html +++ b/physx/documentation/PhysXAPI/files/dir_72a80d6153a31b0ccdb1435c1b01e02c.html @@ -5,7 +5,7 @@ -1.1.trunk.25954437 Directory Reference +1.1.trunk.26829735 Directory Reference @@ -63,7 +63,7 @@
@@ -83,23 +83,23 @@
-
1.1.trunk.25954437 Directory Reference
+
1.1.trunk.26829735 Directory Reference
-Directory dependency graph for 1.1.trunk.25954437:
+Directory dependency graph for 1.1.trunk.26829735:
-
1.1.trunk.25954437
- - - +
1.1.trunk.26829735
+ + +
- +

Directories

directory  include
directory  include
 
@@ -108,7 +108,7 @@ diff --git a/physx/documentation/PhysXAPI/files/dir_72a80d6153a31b0ccdb1435c1b01e02c_dep.map b/physx/documentation/PhysXAPI/files/dir_72a80d6153a31b0ccdb1435c1b01e02c_dep.map new file mode 100644 index 000000000..68e0f9b65 --- /dev/null +++ b/physx/documentation/PhysXAPI/files/dir_72a80d6153a31b0ccdb1435c1b01e02c_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/physx/documentation/PhysXAPI/files/dir_72a80d6153a31b0ccdb1435c1b01e02c_dep.md5 b/physx/documentation/PhysXAPI/files/dir_72a80d6153a31b0ccdb1435c1b01e02c_dep.md5 new file mode 100644 index 000000000..24795489b --- /dev/null +++ b/physx/documentation/PhysXAPI/files/dir_72a80d6153a31b0ccdb1435c1b01e02c_dep.md5 @@ -0,0 +1 @@ +5d5539f7eea1cf8ed52a75365d1c62b6 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/dir_72a80d6153a31b0ccdb1435c1b01e02c_dep.png b/physx/documentation/PhysXAPI/files/dir_72a80d6153a31b0ccdb1435c1b01e02c_dep.png new file mode 100644 index 000000000..6969acb5f Binary files /dev/null and b/physx/documentation/PhysXAPI/files/dir_72a80d6153a31b0ccdb1435c1b01e02c_dep.png differ diff --git a/physx/documentation/PhysXAPI/files/dir_7385c16f4c0eeea85f1fa3575a085920_dep.map b/physx/documentation/PhysXAPI/files/dir_7385c16f4c0eeea85f1fa3575a085920_dep.map deleted file mode 100644 index 8627ae28f..000000000 --- a/physx/documentation/PhysXAPI/files/dir_7385c16f4c0eeea85f1fa3575a085920_dep.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/physx/documentation/PhysXAPI/files/dir_7385c16f4c0eeea85f1fa3575a085920_dep.md5 b/physx/documentation/PhysXAPI/files/dir_7385c16f4c0eeea85f1fa3575a085920_dep.md5 deleted file mode 100644 index 94c5876da..000000000 --- a/physx/documentation/PhysXAPI/files/dir_7385c16f4c0eeea85f1fa3575a085920_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -320e4b76f506bc88cd3790e9cb875abb \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/dir_9b5b1e4133be9d3163d82df1d3b72c71_dep.map b/physx/documentation/PhysXAPI/files/dir_9b5b1e4133be9d3163d82df1d3b72c71_dep.map deleted file mode 100644 index e439a6296..000000000 --- a/physx/documentation/PhysXAPI/files/dir_9b5b1e4133be9d3163d82df1d3b72c71_dep.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/physx/documentation/PhysXAPI/files/dir_9b5b1e4133be9d3163d82df1d3b72c71_dep.md5 b/physx/documentation/PhysXAPI/files/dir_9b5b1e4133be9d3163d82df1d3b72c71_dep.md5 deleted file mode 100644 index 95fcc2e3d..000000000 --- a/physx/documentation/PhysXAPI/files/dir_9b5b1e4133be9d3163d82df1d3b72c71_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -701af7e25b9a246447052e13d167f595 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/dir_9b5b1e4133be9d3163d82df1d3b72c71_dep.png b/physx/documentation/PhysXAPI/files/dir_9b5b1e4133be9d3163d82df1d3b72c71_dep.png deleted file mode 100644 index 9f5f0f803..000000000 Binary files a/physx/documentation/PhysXAPI/files/dir_9b5b1e4133be9d3163d82df1d3b72c71_dep.png and /dev/null differ diff --git a/physx/documentation/PhysXAPI/files/dir_9c6030af5b8b31a09740a18704922068_dep.map b/physx/documentation/PhysXAPI/files/dir_9c6030af5b8b31a09740a18704922068_dep.map deleted file mode 100644 index be1daa755..000000000 --- a/physx/documentation/PhysXAPI/files/dir_9c6030af5b8b31a09740a18704922068_dep.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/physx/documentation/PhysXAPI/files/dir_9c6030af5b8b31a09740a18704922068_dep.md5 b/physx/documentation/PhysXAPI/files/dir_9c6030af5b8b31a09740a18704922068_dep.md5 deleted file mode 100644 index 6919572b3..000000000 --- a/physx/documentation/PhysXAPI/files/dir_9c6030af5b8b31a09740a18704922068_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -4ad9e388a7eb03179d8b83bcf4303180 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/dir_9c6030af5b8b31a09740a18704922068.html b/physx/documentation/PhysXAPI/files/dir_9e51b010860f2ba13922cbc4c25c5868.html similarity index 82% rename from physx/documentation/PhysXAPI/files/dir_9c6030af5b8b31a09740a18704922068.html rename to physx/documentation/PhysXAPI/files/dir_9e51b010860f2ba13922cbc4c25c5868.html index fd67a82d3..d19275e61 100644 --- a/physx/documentation/PhysXAPI/files/dir_9c6030af5b8b31a09740a18704922068.html +++ b/physx/documentation/PhysXAPI/files/dir_9e51b010860f2ba13922cbc4c25c5868.html @@ -63,7 +63,7 @@
@@ -89,10 +89,10 @@
Directory dependency graph for unix:
-
unix
- - - +
unix
+ + +
@@ -107,7 +107,7 @@ diff --git a/physx/documentation/PhysXAPI/files/dir_9e51b010860f2ba13922cbc4c25c5868_dep.map b/physx/documentation/PhysXAPI/files/dir_9e51b010860f2ba13922cbc4c25c5868_dep.map new file mode 100644 index 000000000..bb3a0f565 --- /dev/null +++ b/physx/documentation/PhysXAPI/files/dir_9e51b010860f2ba13922cbc4c25c5868_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/physx/documentation/PhysXAPI/files/dir_9e51b010860f2ba13922cbc4c25c5868_dep.md5 b/physx/documentation/PhysXAPI/files/dir_9e51b010860f2ba13922cbc4c25c5868_dep.md5 new file mode 100644 index 000000000..0ac067f0a --- /dev/null +++ b/physx/documentation/PhysXAPI/files/dir_9e51b010860f2ba13922cbc4c25c5868_dep.md5 @@ -0,0 +1 @@ +b21842a3e4b285d83b331ffeed10a150 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/dir_9c6030af5b8b31a09740a18704922068_dep.png b/physx/documentation/PhysXAPI/files/dir_9e51b010860f2ba13922cbc4c25c5868_dep.png similarity index 100% rename from physx/documentation/PhysXAPI/files/dir_9c6030af5b8b31a09740a18704922068_dep.png rename to physx/documentation/PhysXAPI/files/dir_9e51b010860f2ba13922cbc4c25c5868_dep.png diff --git a/physx/documentation/PhysXAPI/files/dir_ac2273a3ce2667868214b992b7ea6958_dep.map b/physx/documentation/PhysXAPI/files/dir_ac2273a3ce2667868214b992b7ea6958_dep.map deleted file mode 100644 index c30f6c2fb..000000000 --- a/physx/documentation/PhysXAPI/files/dir_ac2273a3ce2667868214b992b7ea6958_dep.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/physx/documentation/PhysXAPI/files/dir_ac2273a3ce2667868214b992b7ea6958_dep.md5 b/physx/documentation/PhysXAPI/files/dir_ac2273a3ce2667868214b992b7ea6958_dep.md5 deleted file mode 100644 index 1751f8518..000000000 --- a/physx/documentation/PhysXAPI/files/dir_ac2273a3ce2667868214b992b7ea6958_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -2215b05a328d9c05507b52aeefc809ea \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/dir_7385c16f4c0eeea85f1fa3575a085920.html b/physx/documentation/PhysXAPI/files/dir_be757cc58cf168615d484a68ebd394ca.html similarity index 90% rename from physx/documentation/PhysXAPI/files/dir_7385c16f4c0eeea85f1fa3575a085920.html rename to physx/documentation/PhysXAPI/files/dir_be757cc58cf168615d484a68ebd394ca.html index ba99ffca5..18b8bd323 100644 --- a/physx/documentation/PhysXAPI/files/dir_7385c16f4c0eeea85f1fa3575a085920.html +++ b/physx/documentation/PhysXAPI/files/dir_be757cc58cf168615d484a68ebd394ca.html @@ -63,7 +63,7 @@
@@ -89,20 +89,20 @@
Directory dependency graph for foundation:
-
foundation
- - - - - +
foundation
+ + + + +
- + - +

Directories

directory  unix
directory  unix
 
directory  windows
directory  windows
 
+ + + + + + + + + + + + @@ -266,6 +278,51 @@

Returns
Articulation link handle
+ + +
+

◆ PxApplyArticulationCache()

+ +
+
+

@@ -164,7 +164,7 @@ diff --git a/physx/documentation/PhysXAPI/files/dir_be757cc58cf168615d484a68ebd394ca_dep.map b/physx/documentation/PhysXAPI/files/dir_be757cc58cf168615d484a68ebd394ca_dep.map new file mode 100644 index 000000000..ab5539589 --- /dev/null +++ b/physx/documentation/PhysXAPI/files/dir_be757cc58cf168615d484a68ebd394ca_dep.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/physx/documentation/PhysXAPI/files/dir_be757cc58cf168615d484a68ebd394ca_dep.md5 b/physx/documentation/PhysXAPI/files/dir_be757cc58cf168615d484a68ebd394ca_dep.md5 new file mode 100644 index 000000000..b529b8384 --- /dev/null +++ b/physx/documentation/PhysXAPI/files/dir_be757cc58cf168615d484a68ebd394ca_dep.md5 @@ -0,0 +1 @@ +09b3cfd4eaea1c3120ed5401d3493564 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/dir_7385c16f4c0eeea85f1fa3575a085920_dep.png b/physx/documentation/PhysXAPI/files/dir_be757cc58cf168615d484a68ebd394ca_dep.png similarity index 100% rename from physx/documentation/PhysXAPI/files/dir_7385c16f4c0eeea85f1fa3575a085920_dep.png rename to physx/documentation/PhysXAPI/files/dir_be757cc58cf168615d484a68ebd394ca_dep.png diff --git a/physx/documentation/PhysXAPI/files/dir_ac2273a3ce2667868214b992b7ea6958.html b/physx/documentation/PhysXAPI/files/dir_c5bdbb6de40c666bc41474544288fb4c.html similarity index 82% rename from physx/documentation/PhysXAPI/files/dir_ac2273a3ce2667868214b992b7ea6958.html rename to physx/documentation/PhysXAPI/files/dir_c5bdbb6de40c666bc41474544288fb4c.html index 82442b8c2..391775879 100644 --- a/physx/documentation/PhysXAPI/files/dir_ac2273a3ce2667868214b992b7ea6958.html +++ b/physx/documentation/PhysXAPI/files/dir_c5bdbb6de40c666bc41474544288fb4c.html @@ -63,7 +63,7 @@
@@ -89,10 +89,10 @@
Directory dependency graph for windows:
-
windows
- - - +
windows
+ + +
@@ -107,7 +107,7 @@ diff --git a/physx/documentation/PhysXAPI/files/dir_c5bdbb6de40c666bc41474544288fb4c_dep.map b/physx/documentation/PhysXAPI/files/dir_c5bdbb6de40c666bc41474544288fb4c_dep.map new file mode 100644 index 000000000..02f49211a --- /dev/null +++ b/physx/documentation/PhysXAPI/files/dir_c5bdbb6de40c666bc41474544288fb4c_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/physx/documentation/PhysXAPI/files/dir_c5bdbb6de40c666bc41474544288fb4c_dep.md5 b/physx/documentation/PhysXAPI/files/dir_c5bdbb6de40c666bc41474544288fb4c_dep.md5 new file mode 100644 index 000000000..ebc43a82a --- /dev/null +++ b/physx/documentation/PhysXAPI/files/dir_c5bdbb6de40c666bc41474544288fb4c_dep.md5 @@ -0,0 +1 @@ +7a70b01f2da10d8d356477b7494edba2 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/dir_ac2273a3ce2667868214b992b7ea6958_dep.png b/physx/documentation/PhysXAPI/files/dir_c5bdbb6de40c666bc41474544288fb4c_dep.png similarity index 100% rename from physx/documentation/PhysXAPI/files/dir_ac2273a3ce2667868214b992b7ea6958_dep.png rename to physx/documentation/PhysXAPI/files/dir_c5bdbb6de40c666bc41474544288fb4c_dep.png diff --git a/physx/documentation/PhysXAPI/files/functions_a.html b/physx/documentation/PhysXAPI/files/functions_a.html index b7897d885..7df73c160 100644 --- a/physx/documentation/PhysXAPI/files/functions_a.html +++ b/physx/documentation/PhysXAPI/files/functions_a.html @@ -206,6 +206,9 @@

- a -

- +
#define PX_DELETE_SERIALIZER_ADAPTER(x)   { PxSerializer* s = x; if (s) { s->~PxSerializer(); PxGetFoundation().getAllocatorCallback().deallocate(s); } }
 Preprocessor Macro to simplify adapter deletion. More...
 
#define PX_BINARY_SERIAL_VERSION   "9CC88140D6474C72BA8410E38FE6CAB1"
#define PX_BINARY_SERIAL_VERSION   "F193874828914B3A8AC4EFE75AED0247"
 
- + @@ -1822,7 +1822,7 @@

@@ -429,7 +429,7 @@

- +
#define PX_BINARY_SERIAL_VERSION   "9CC88140D6474C72BA8410E38FE6CAB1"#define PX_BINARY_SERIAL_VERSION   "F193874828914B3A8AC4EFE75AED0247"
diff --git a/physx/documentation/PhysXAPI/files/group__foundation.html b/physx/documentation/PhysXAPI/files/group__foundation.html index 32b4484de..734c2d9d2 100644 --- a/physx/documentation/PhysXAPI/files/group__foundation.html +++ b/physx/documentation/PhysXAPI/files/group__foundation.html @@ -186,7 +186,7 @@

 
#define PX_PHYSICS_VERSION_MINOR   1
 
#define PX_PHYSICS_VERSION_BUGFIX   0
#define PX_PHYSICS_VERSION_BUGFIX   1
 
#define PX_PHYSICS_VERSION   ((PX_PHYSICS_VERSION_MAJOR<<24) + (PX_PHYSICS_VERSION_MINOR<<16) + (PX_PHYSICS_VERSION_BUGFIX<<8) + 0)
 
- +
#define PX_PHYSICS_VERSION_BUGFIX   0#define PX_PHYSICS_VERSION_BUGFIX   1

PX_C_EXPORT PX_PHYSX_CORE_API void PxReleaseArticulation (Dy::ArticulationV *articulation)
 Releases an immediate-mode reduced-coordinate articulation. More...
 
PX_C_EXPORT PX_PHYSX_CORE_API PxArticulationCachePxCreateArticulationCache (Dy::ArticulationV *articulation)
 Creates an articulation cache. More...
 
PX_C_EXPORT PX_PHYSX_CORE_API void PxCopyInternalStateToArticulationCache (Dy::ArticulationV *articulation, PxArticulationCache &cache, PxArticulationCacheFlags flag)
 Copy the internal data of the articulation to the cache. More...
 
PX_C_EXPORT PX_PHYSX_CORE_API void PxApplyArticulationCache (Dy::ArticulationV *articulation, PxArticulationCache &cache, PxArticulationCacheFlags flag)
 Apply the user defined data in the cache to the articulation system. More...
 
PX_C_EXPORT PX_PHYSX_CORE_API void PxReleaseArticulationCache (PxArticulationCache &cache)
 Release an articulation cache. More...
 
PX_C_EXPORT PX_PHYSX_CORE_API Dy::ArticulationLinkHandle PxAddArticulationLink (Dy::ArticulationV *articulation, const PxFeatherstoneArticulationLinkData &data, bool isLastLink=false)
 Adds a link to an immediate-mode reduced-coordinate articulation. The articulation becomes the link's owner/parent. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + +
PX_C_EXPORT PX_PHYSX_CORE_API void PxApplyArticulationCache (Dy::ArticulationV * articulation,
PxArticulationCachecache,
PxArticulationCacheFlags flag 
)
+
+ +

Apply the user defined data in the cache to the articulation system.

+
Parameters
+ + + + +
[in]articulationarticulation handle.
[in]cacheArticulation data.
[in]flagDefines which values in the cache will be applied to the articulation
+
+
+
See also
createCache PxCopyInternalStateToArticulationCache
+
@@ -755,6 +812,79 @@

+

◆ PxCopyInternalStateToArticulationCache()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
PX_C_EXPORT PX_PHYSX_CORE_API void PxCopyInternalStateToArticulationCache (Dy::ArticulationV * articulation,
PxArticulationCachecache,
PxArticulationCacheFlags flag 
)
+
+ +

Copy the internal data of the articulation to the cache.

+
Parameters
+ + + + +
[in]articulationarticulation handle.
[in]cacheArticulation data
[in]flagIndicates which values of the articulation system are copied to the cache
+
+
+
See also
createCache PxApplyArticulationCache
+ +
+
+ +

◆ PxCreateArticulationCache()

+ +
+
+ + + + + + + + +
PX_C_EXPORT PX_PHYSX_CORE_API PxArticulationCache* PxCreateArticulationCache (Dy::ArticulationV * articulation)
+
+ +

Creates an articulation cache.

+
Parameters
+ + +
[in]articulationArticulation handle
+
+
+
Returns
Articulation cache
+
See also
PxReleaseArticulationCache
+
@@ -1922,6 +2052,33 @@

See also
PxCreateFeatherstoneArticulation
+ + + +

◆ PxReleaseArticulationCache()

+ +
+
+ + + + + + + + +
PX_C_EXPORT PX_PHYSX_CORE_API void PxReleaseArticulationCache (PxArticulationCachecache)
+
+ +

Release an articulation cache.

+
Parameters
+ + +
[in]cacheThe cache to release
+
+
+
See also
PxCreateArticulationCache PxCopyInternalStateToArticulationCache PxCopyInternalStateToArticulationCache
+
diff --git a/physx/documentation/PhysXAPI/files/group__immediatemode.js b/physx/documentation/PhysXAPI/files/group__immediatemode.js index f30e6381d..f0a3014f7 100644 --- a/physx/documentation/PhysXAPI/files/group__immediatemode.js +++ b/physx/documentation/PhysXAPI/files/group__immediatemode.js @@ -61,6 +61,7 @@ var group__immediatemode = [ "pose", "structPxFeatherstoneArticulationLinkData.html#a0ec3b22259fd3db5b765bf68b18b28af", null ] ] ], [ "PxAddArticulationLink", "group__immediatemode.html#ga8c2749699d2f9e22cfb34ed83a7b80ce", null ], + [ "PxApplyArticulationCache", "group__immediatemode.html#gadcdee80ca02f10c0e31a367c7d30ca91", null ], [ "PxBatchConstraints", "group__immediatemode.html#ga02aa17b8f928f23a16520036c572e862", null ], [ "PxBatchConstraintsTGS", "group__immediatemode.html#ga78e8a4101cc5ede158fd8ae7b9a9d13b", null ], [ "PxComputeUnconstrainedVelocities", "group__immediatemode.html#ga4d9bc901669de439d061962e7ab9509e", null ], @@ -69,6 +70,8 @@ var group__immediatemode = [ "PxConstructSolverBodiesTGS", "group__immediatemode.html#gaaa4db837c3284147da8c85356d969258", null ], [ "PxConstructStaticSolverBody", "group__immediatemode.html#gab1ff672bf5a0569d6cc5f137142b1c1d", null ], [ "PxConstructStaticSolverBodyTGS", "group__immediatemode.html#ga2dc9fa88d851b81cb15e382060e27ec7", null ], + [ "PxCopyInternalStateToArticulationCache", "group__immediatemode.html#ga5d5ba6074b5169c269d7e4c56ac0467d", null ], + [ "PxCreateArticulationCache", "group__immediatemode.html#gaa29d46bee46ce200c9e8a2a6f353c0a1", null ], [ "PxCreateContactConstraints", "group__immediatemode.html#ga02dd00aca33ee58a65f32472719e9b07", null ], [ "PxCreateContactConstraintsTGS", "group__immediatemode.html#ga81189e2221bba32ed064faf2769d9844", null ], [ "PxCreateFeatherstoneArticulation", "group__immediatemode.html#ga86ececaefac85fdb67e6e46332eedc75", null ], @@ -89,6 +92,7 @@ var group__immediatemode = [ "PxIntegrateSolverBodiesTGS", "group__immediatemode.html#gabd1a23fee83c2fab66822275bbcf50bb", null ], [ "PxRegisterImmediateArticulations", "group__immediatemode.html#ga6d8ad8d1a6156da1f4473d4ec4922016", null ], [ "PxReleaseArticulation", "group__immediatemode.html#ga5df3edcbf7b639900668b49ff50eda22", null ], + [ "PxReleaseArticulationCache", "group__immediatemode.html#ga5189b5d63b22e3d7e1da1d94aa6854b7", null ], [ "PxSetJointData", "group__immediatemode.html#ga29ab413fa60db236c4d9ef93081f6928", null ], [ "PxSetMutableLinkData", "group__immediatemode.html#ga404f7b347df78a632073246c46c173ec", null ], [ "PxSolveConstraints", "group__immediatemode.html#gae59ded2b77c594a690169036785f2ef5", null ], diff --git a/physx/documentation/PhysXAPI/files/group__physics.html b/physx/documentation/PhysXAPI/files/group__physics.html index 32b302d94..623fa7729 100644 --- a/physx/documentation/PhysXAPI/files/group__physics.html +++ b/physx/documentation/PhysXAPI/files/group__physics.html @@ -138,6 +138,8 @@   struct  PxSpatialForce   +struct  PxSpatialVelocity +  struct  PxArticulationRootLinkData   class  PxArticulationCache @@ -484,8 +486,8 @@ typedef PxFlags< PxRigidBodyFlag::Enum, PxU8 > PxRigidBodyFlags  collection of set bits defined in PxRigidBodyFlag. More...
  -typedef PxFlags< PxRigidDynamicLockFlag::Enum, PxU16 > PxRigidDynamicLockFlags -  +typedef PxFlags< PxRigidDynamicLockFlag::Enum, PxU8 > PxRigidDynamicLockFlags +  typedef PxU8 PxDominanceGroup   typedef PxFlags< PxActorTypeFlag::Enum, PxU16 > PxActorTypeFlags @@ -1738,14 +1740,14 @@

-

◆ PxRigidDynamicLockFlags

+ +

◆ PxRigidDynamicLockFlags

diff --git a/physx/documentation/PhysXAPI/files/group__physics.js b/physx/documentation/PhysXAPI/files/group__physics.js index 60a878ddd..9a3efd715 100644 --- a/physx/documentation/PhysXAPI/files/group__physics.js +++ b/physx/documentation/PhysXAPI/files/group__physics.js @@ -221,6 +221,12 @@ var group__physics = [ "pad1", "structPxSpatialForce.html#aee182664c6f1807eb945d3c83ac746b3", null ], [ "torque", "structPxSpatialForce.html#a0c350e4c06721f54057740e212d5c0e3", null ] ] ], + [ "PxSpatialVelocity", "structPxSpatialVelocity.html", [ + [ "angular", "structPxSpatialVelocity.html#a9f786fd589f7cdd251bce4533740a3dc", null ], + [ "linear", "structPxSpatialVelocity.html#ac02baccbfcfc70da86f7e26a927e2f6c", null ], + [ "pad0", "structPxSpatialVelocity.html#a02e82818206391c9ece02f9422ba159d", null ], + [ "pad1", "structPxSpatialVelocity.html#a1873df39ae53892ee11f61eecf4493ac", null ] + ] ], [ "PxArticulationRootLinkData", "structPxArticulationRootLinkData.html", [ [ "transform", "structPxArticulationRootLinkData.html#af0dcfa25c769c89fd405eeaed52b3c1f", null ], [ "worldAngAccel", "structPxArticulationRootLinkData.html#ab1502e0364f2784bb5465415256ac778", null ], @@ -234,6 +240,8 @@ var group__physics = [ "eACCELERATION", "classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea9bfa940c74c9da6b9ce0a27c9f6bd8f8", null ], [ "ePOSITION", "classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea74109d30461c72534eb5a36baf352e6a", null ], [ "eFORCE", "classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea89efd599f1473d4a795b89fb71c5012a", null ], + [ "eLINKVELOCITY", "classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14eacaf9eee2de38014ce959feb30fba9d1b", null ], + [ "eLINKACCELERATION", "classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea1ee0f9a7f94765e59bc93944a434af54", null ], [ "eROOT", "classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea6066321f08d523d0b73cfbdf2b44041c", null ], [ "eALL", "classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea86872df915168195ac00a5cb1033ee29", null ] ] ], @@ -246,6 +254,8 @@ var group__physics = [ "jointPosition", "classPxArticulationCache.html#a64e8f0b09d6860f91d7a830c11bdddc9", null ], [ "jointVelocity", "classPxArticulationCache.html#aab37dabd7db43ef927337da7f6ea9f5a", null ], [ "lambda", "classPxArticulationCache.html#aa90b660a293d6ce7984d49e8be270465", null ], + [ "linkAcceleration", "classPxArticulationCache.html#ac67f33a6b89001467a31fd4a3f4afa23", null ], + [ "linkVelocity", "classPxArticulationCache.html#a91adda674694b0f628a07e4ca89bcec5", null ], [ "massMatrix", "classPxArticulationCache.html#a40849b1b079c9b0e517fb7eaea488ccf", null ], [ "rootLinkData", "classPxArticulationCache.html#ae0431d9e6e127c49cf7cc53532b4b393", null ], [ "scratchAllocator", "classPxArticulationCache.html#ac5356bfc4c7b57dec9bdd33c698ae96c", null ], @@ -274,6 +284,8 @@ var group__physics = [ "getCacheDataSize", "classPxArticulationReducedCoordinate.html#a86107c6d84d3132b6a46bb9b2b48666e", null ], [ "getCoefficientMatrixSize", "classPxArticulationReducedCoordinate.html#a54da9e7775e8b619d5172039213beaff", null ], [ "getDofs", "classPxArticulationReducedCoordinate.html#a4d0ed61a1f9a2b2cd18ced0cf9122355", null ], + [ "getLinkAcceleration", "classPxArticulationReducedCoordinate.html#ab51ab4c2ab36f1b409a1aa0468f0fe71", null ], + [ "getLinkVelocity", "classPxArticulationReducedCoordinate.html#a4520151744be7de9835c9f90291468c3", null ], [ "getLoopJoints", "classPxArticulationReducedCoordinate.html#a5a611783b278756d562f4dfe0626af18", null ], [ "getNbLoopJoints", "classPxArticulationReducedCoordinate.html#aa89014cf296753fd9ddffbd62ef46c4c", null ], [ "packJointData", "classPxArticulationReducedCoordinate.html#a32973e41c51f9dd6ed0168c401d620d7", null ], @@ -1392,7 +1404,7 @@ var group__physics = [ "PxPairFlags", "group__physics.html#gacacbeccf757e60dbf45089ef382681d9", null ], [ "PxRaycastQueryResult", "group__physics.html#ga5d8a1dc3627cf1442f40d91a5ec6b4e3", null ], [ "PxRigidBodyFlags", "group__physics.html#ga2ab6803c803ae6372791ff060068c6a1", null ], - [ "PxRigidDynamicLockFlags", "group__physics.html#gab35e15599f740af43f399ed4ad9f04e8", null ], + [ "PxRigidDynamicLockFlags", "group__physics.html#ga5ff75d3f2ba94c58e7f8f928b11ebb8d", null ], [ "PxSceneFlags", "group__physics.html#ga54a626a9a6d80543048bffc654814704", null ], [ "PxShapeFlags", "group__physics.html#ga18053d8127ddb5ed5609e4c748b6ad0d", null ], [ "PxSimulationFilterShader", "group__physics.html#ga235380b2a5b3cc89a4cd89d089d72b33", null ], diff --git a/physx/documentation/PhysXAPI/files/group__vehicle.html b/physx/documentation/PhysXAPI/files/group__vehicle.html index bd2777b3c..62eb6b493 100644 --- a/physx/documentation/PhysXAPI/files/group__vehicle.html +++ b/physx/documentation/PhysXAPI/files/group__vehicle.html @@ -211,6 +211,9 @@ class  PxVehicleCopyDynamicsMap  Used by PxVehicleCopyDynamicsData. More...
  +struct  PxVehicleWheelsSimFlag + Flags to configure the vehicle wheel simulation. More...
+  class  PxVehicleWheelsSimData  Data structure describing configuration data of a vehicle with up to 20 wheels. More...
  @@ -235,6 +238,9 @@ typedef void(* PxVehicleComputeTireForce) (const void *shaderData, const PxF32 tireFriction, const PxF32 longSlip, const PxF32 latSlip, const PxF32 camber, const PxF32 wheelOmega, const PxF32 wheelRadius, const PxF32 recipWheelRadius, const PxF32 restTireLoad, const PxF32 normalisedTireLoad, const PxF32 tireLoad, const PxF32 gravity, const PxF32 recipGravity, PxF32 &wheelTorque, PxF32 &tireLongForceMag, PxF32 &tireLatForceMag, PxF32 &tireAlignMoment)  Prototype of shader function that is used to compute wheel torque and tire forces. More...
  +typedef PxFlags< PxVehicleWheelsSimFlag::Enum, PxU32PxVehicleWheelsSimFlags + Collection of set bits defined in PxVehicleWheelsSimFlag. More...
+  @@ -388,6 +394,23 @@

See also
PxVehicleWheelsDynData::setTireForceShaderFunction, PxVehicleWheelsDynData::setTireForceShaderData
+ + + +

◆ PxVehicleWheelsSimFlags

+ +
+
+

Functions

+ + + +
typedef PxFlags<PxVehicleWheelsSimFlag::Enum, PxU32> PxVehicleWheelsSimFlags
+
+ +

Collection of set bits defined in PxVehicleWheelsSimFlag.

+
See also
PxVehicleWheelsSimFlag
+

Function Documentation

diff --git a/physx/documentation/PhysXAPI/files/group__vehicle.js b/physx/documentation/PhysXAPI/files/group__vehicle.js index 0ea6d2c23..67802269d 100644 --- a/physx/documentation/PhysXAPI/files/group__vehicle.js +++ b/physx/documentation/PhysXAPI/files/group__vehicle.js @@ -662,6 +662,11 @@ var group__vehicle = [ "sourceWheelIds", "classPxVehicleCopyDynamicsMap.html#a722820ae9c733991667bfb5c2956efe5", null ], [ "targetWheelIds", "classPxVehicleCopyDynamicsMap.html#a202a481ce5d1ce5dc79f951935ad34ce", null ] ] ], + [ "PxVehicleWheelsSimFlag", "structPxVehicleWheelsSimFlag.html", [ + [ "Enum", "structPxVehicleWheelsSimFlag.html#ae22cac8835a33a55a7bddc2223638d60", [ + [ "eLIMIT_SUSPENSION_EXPANSION_VELOCITY", "structPxVehicleWheelsSimFlag.html#ae22cac8835a33a55a7bddc2223638d60a75d4ea0ed70a2383d36939a947f50849", null ] + ] ] + ] ], [ "PxVehicleWheelsSimData", "classPxVehicleWheelsSimData.html", [ [ "PxVehicleWheelsSimData", "classPxVehicleWheelsSimData.html#a8faa5ac1e9fc745e521224cc3e6750d8", null ], [ "PxVehicleWheelsSimData", "classPxVehicleWheelsSimData.html#a9fbfa747a9ef9fe0cc1deef89a5b1238", null ], @@ -676,6 +681,7 @@ var group__vehicle = [ "free", "classPxVehicleWheelsSimData.html#a2b6c609e342fd3f9fabc3e064602115b", null ], [ "getAntiRollBarData", "classPxVehicleWheelsSimData.html#aff980eb99861f377bbf46c069ab00e49", null ], [ "getBinaryMetaData", "classPxVehicleWheelsSimData.html#aab3d21ee63effbae8e311bb3efac0a8f", null ], + [ "getFlags", "classPxVehicleWheelsSimData.html#a52131b5c5288c9eeea1d3c647d4c079f", null ], [ "getHighForwardSpeedSubStepCount", "classPxVehicleWheelsSimData.html#ad196c5b249c937b0ff7ccc433dee4dc4", null ], [ "getIsWheelDisabled", "classPxVehicleWheelsSimData.html#ab1828f78ed0726902a20354e317348d9", null ], [ "getLowForwardSpeedSubStepCount", "classPxVehicleWheelsSimData.html#aa8d627458b6df7e72440ea2c9c948bba", null ], @@ -712,6 +718,7 @@ var group__vehicle = [ "patchUpPointers", "classPxVehicleWheelsSimData.html#a7b605042d1ef0fbd4dd84491e058c1cf", null ], [ "setAntiRollBarData", "classPxVehicleWheelsSimData.html#ae8706a8f39a630ba469414fb814fe206", null ], [ "setChassisMass", "classPxVehicleWheelsSimData.html#ac022268fa66b80edb6bb9b078923ba99", null ], + [ "setFlags", "classPxVehicleWheelsSimData.html#a3720f1b1894f707381a5a54e61996d7d", null ], [ "setHighForwardSpeedSubStepCount", "classPxVehicleWheelsSimData.html#ad959b05b234cf8b132d3e0a62072641a", null ], [ "setLowForwardSpeedSubStepCount", "classPxVehicleWheelsSimData.html#a0fd598dcbca75814aab13fb002cac976", null ], [ "setMinLongSlipDenominator", "classPxVehicleWheelsSimData.html#a940016ddd052f0c763a21fe776fdcc9d", null ], @@ -735,6 +742,7 @@ var group__vehicle = [ "PxVehicleWheels", "classPxVehicleWheelsSimData.html#ab770b7d25d1a8fee9b2a5ea18d57f345", null ], [ "mActiveWheelsBitmapBuffer", "classPxVehicleWheelsSimData.html#a4e21be9e2da937a316f856524fe3087d", null ], [ "mAntiRollBars", "classPxVehicleWheelsSimData.html#a4aee60fadd73239cce5a3f65985fc1e1", null ], + [ "mFlags", "classPxVehicleWheelsSimData.html#ac19a8182d65219347b5310b6b40b0f34", null ], [ "mHighForwardSpeedSubStepCount", "classPxVehicleWheelsSimData.html#ac1943de7f8ac21f0193b2151a81087fe", null ], [ "mLowForwardSpeedSubStepCount", "classPxVehicleWheelsSimData.html#aa3fc3742262302f5a92a0275731261ad", null ], [ "mMinLongSlipDenominator", "classPxVehicleWheelsSimData.html#a958f0894fd6d5e55bf26655f3bc25c04", null ], @@ -743,7 +751,6 @@ var group__vehicle = [ "mNbAntiRollBars4", "classPxVehicleWheelsSimData.html#af7cd42c61e92b3f0ca987d98821ff8e0", null ], [ "mNbWheels4", "classPxVehicleWheelsSimData.html#a4eb4e2dd1f12fb78783861fc2be928f3", null ], [ "mNormalisedLoadFilter", "classPxVehicleWheelsSimData.html#aff3bd1bcc605c0027c60d8c67d3192b6", null ], - [ "mPad", "classPxVehicleWheelsSimData.html#a7baa295b6de37e9b30c12d24a898d67c", null ], [ "mThresholdLongitudinalSpeed", "classPxVehicleWheelsSimData.html#a5073af89ff08314d2868b1f3a0cb2869", null ], [ "mWheels4SimData", "classPxVehicleWheelsSimData.html#a22c00f3cbb49c94119b0f667d266904f", null ] ] ], @@ -799,6 +806,7 @@ var group__vehicle = [ "init", "classPxVehicleWheels.html#ac7de8bfda7bfd8a5c34c85a4c4ac4755", null ], [ "isKindOf", "classPxVehicleWheels.html#af89137887231400e356bc4d2b33052f2", null ], [ "isValid", "classPxVehicleWheels.html#a631f380f7e677ff0247c9dd14a3f6a49", null ], + [ "onConstraintRelease", "classPxVehicleWheels.html#ae6eca099bb7019976fd619338dcbf0c3", null ], [ "patchupPointers", "classPxVehicleWheels.html#a07c073158a6df39214f655f59d130b69", null ], [ "preExportDataReset", "classPxVehicleWheels.html#aec83ecde4a8c2a38a8f4be88b973160a", null ], [ "release", "classPxVehicleWheels.html#a47f6215d5555890bef75e38668596522", null ], @@ -819,6 +827,7 @@ var group__vehicle = [ "PX_DEBUG_VEHICLE_ON", "group__vehicle.html#ga0c3a7dea79cf9968bd350a49ce0fd770", null ], [ "PX_MAX_NB_WHEELS", "group__vehicle.html#gaa52f6479b78eccd706af05e1e0a0c43f", null ], [ "PxVehicleComputeTireForce", "group__vehicle.html#ga2b7b927dd3d949d50a3f42c695264f43", null ], + [ "PxVehicleWheelsSimFlags", "group__vehicle.html#gab5de07a7bd475df4e4c41f3f11ddcdb5", null ], [ "PX_COMPILE_TIME_ASSERT", "group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc", null ], [ "PxCloseVehicleSDK", "group__vehicle.html#ga9e1512107497cdfcc620b575d3c135e6", null ], [ "PxInitVehicleSDK", "group__vehicle.html#gaa7aaf3de1f2da04c2617a36d053398ca", null ], diff --git a/physx/documentation/PhysXAPI/files/hierarchy.html b/physx/documentation/PhysXAPI/files/hierarchy.html index e92e586a3..346213773 100644 --- a/physx/documentation/PhysXAPI/files/hierarchy.html +++ b/physx/documentation/PhysXAPI/files/hierarchy.html @@ -435,80 +435,82 @@  CPxSolverContactDesc  CPxSolverTypeEnum for selecting the type of solver used for the simulation  CPxSpatialForce - CPxSphericalJointFlagFlags specific to the spherical joint - CPxSpring - CPxD6JointDriveParameters for configuring the drive model of a PxD6Joint - CPxStridedData - CPxBoundedData - CPxStrideIterator< T >Iterator class for iterating over arrays of data that may be interleaved with other data - CPxStringTableTable to manage strings. Strings allocated through this object are expected to be owned by this object - CPxStringTableExtFactory class for creating PxStringTable with a specific allocator - Cphysx::PxTaskManagerThe PxTaskManager interface - Cphysx::PxTaskTypeIdentifies the type of each heavyweight PxTask object - CPxTGSSolverBodyData - CPxTGSSolverBodyTxInertia - CPxTGSSolverBodyVel - CPxTGSSolverConstraintPrepDescBase - CPxTGSSolverConstraintPrepDesc - CPxTGSSolverContactDesc - CPxTolerancesScaleClass to define the scale at which simulation runs. Most simulation tolerances are calculated in terms of the values here - CPxTransformClass representing a rigid euclidean transform as a quaternion and a vector - CPxTriangleTriangle class - CPxTriangleMeshCookingResultResult from triangle mesh cooking - CPxTriangleMeshFlagFlags for the mesh geometry properties - CPxTriggerPairDescriptor for a trigger pair - CPxTriggerPairFlagCollection of flags providing information on trigger report pairs - CPxTypedStridedData< TDataType > - CPxTypedStridedData< PxMaterialTableIndex > - CPxTypeInfo< T >Structure containing per-type information for types inheriting from PxBase - CPxUserControllerHitReportUser callback class for character controller events - CPxVec22 Element vector class - CPxVec33 Element vector class - CPxVec44 Element vector class - CPxVehicleAckermannGeometryData - CPxVehicleAntiRollBarData - CPxVehicleAutoBoxData - CPxVehicleChassisData - CPxVehicleClutchAccuracyModeChoose between a potentially more expensive but more accurate solution to the clutch model or a potentially cheaper but less accurate solution - CPxVehicleClutchData - CPxVehicleConcreteTypeAn enumeration of concrete vehicle classes inheriting from PxBase - CPxVehicleConcurrentUpdateDataStructure containing data that is computed for a vehicle and its wheels during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied - CPxVehicleCopyDynamicsMapUsed by PxVehicleCopyDynamicsData - CPxVehicleDifferential4WData - CPxVehicleDifferentialNWData - CPxVehicleDrivableSurfaceToTireFrictionPairsFriction for each combination of driving surface type and tire type - CPxVehicleDrivableSurfaceTypeDriving surface type. Each PxMaterial is associated with a corresponding PxVehicleDrivableSurfaceType - CPxVehicleDrive4WControlThe control inputs for a PxVehicleDrive4W - CPxVehicleDrive4WRawInputDataUsed to produce smooth vehicle driving control values from analog and digital inputs - CPxVehicleDriveNWRawInputDataUsed to produce smooth vehicle driving control values from analog and digital inputs - CPxVehicleDrive4WWheelOrderThe ordering of the driven and steered wheels of a PxVehicleDrive4W - CPxVehicleDriveDynDataData structure with instanced dynamics data for vehicle with engine, clutch, gears, autobox - CPxVehicleDriveNWControlThe control inputs for a PxVehicleDriveNW - CPxVehicleDriveSimDataData structure describing non-wheel configuration data of a vehicle that has engine, gears, clutch, and auto-box - CPxVehicleDriveSimData4WData structure describing the drive model components of a vehicle with up to 4 driven wheels and up to 16 un-driven wheels. The drive model incorporates engine, clutch, gears, autobox, differential, and Ackermann steer correction - CPxVehicleDriveSimDataNWData structure describing configuration data of a vehicle with up to PX_MAX_NB_WHEELS driven equally through the differential. The vehicle has an engine, clutch, gears, autobox, differential - CPxVehicleDriveTankControlThe control inputs for a PxVehicleDriveTank - CPxVehicleDriveTankControlModelTwo driving models are supported - CPxVehicleDriveTankRawInputDataUsed to produce smooth analog tank control values from analog and digital inputs - CPxVehicleDriveTankWheelOrderThe ordering of the wheels of a PxVehicleDriveTank - CPxVehicleEngineData - CPxVehicleGearsData - CPxVehicleKeySmoothingDataUsed to produce smooth vehicle driving control values from key inputs - CPxVehiclePadSmoothingDataUsed to produce smooth analog vehicle control values from analog inputs - CPxVehicleSuspensionData - CPxVehicleTireData - CPxVehicleTireLoadFilterDataTire load variation can be strongly dependent on the time-step so it is a good idea to filter it to give less jerky handling behavior - CPxVehicleTypes - CPxVehicleUpdateMode - CPxVehicleWheelConcurrentUpdateDataStructure containing data that is computed for a wheel during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied - CPxVehicleWheelData - CPxVehicleWheelQueryResult - CPxVehicleWheelsDynDataData structure with instanced dynamics data for wheels - CPxVehicleWheelsSimDataData structure describing configuration data of a vehicle with up to 20 wheels - CPxVisualizationParameterDebug visualization parameters - CPxWheelQueryResultStructure containing data describing the non-persistent state of each suspension/wheel/tire unit. This structure is filled out in PxVehicleUpdates and PxVehicleUpdateSingleVehicleAndStoreTelemetryData - CPxSerialization::PxXmlMiscParameterAdditional PxScene and PxPhysics options stored in XML serialized data - CRaycastCCDManagerRaycast-CCD manager + CPxSpatialVelocity + CPxSphericalJointFlagFlags specific to the spherical joint + CPxSpring + CPxD6JointDriveParameters for configuring the drive model of a PxD6Joint + CPxStridedData + CPxBoundedData + CPxStrideIterator< T >Iterator class for iterating over arrays of data that may be interleaved with other data + CPxStringTableTable to manage strings. Strings allocated through this object are expected to be owned by this object + CPxStringTableExtFactory class for creating PxStringTable with a specific allocator + Cphysx::PxTaskManagerThe PxTaskManager interface + Cphysx::PxTaskTypeIdentifies the type of each heavyweight PxTask object + CPxTGSSolverBodyData + CPxTGSSolverBodyTxInertia + CPxTGSSolverBodyVel + CPxTGSSolverConstraintPrepDescBase + CPxTGSSolverConstraintPrepDesc + CPxTGSSolverContactDesc + CPxTolerancesScaleClass to define the scale at which simulation runs. Most simulation tolerances are calculated in terms of the values here + CPxTransformClass representing a rigid euclidean transform as a quaternion and a vector + CPxTriangleTriangle class + CPxTriangleMeshCookingResultResult from triangle mesh cooking + CPxTriangleMeshFlagFlags for the mesh geometry properties + CPxTriggerPairDescriptor for a trigger pair + CPxTriggerPairFlagCollection of flags providing information on trigger report pairs + CPxTypedStridedData< TDataType > + CPxTypedStridedData< PxMaterialTableIndex > + CPxTypeInfo< T >Structure containing per-type information for types inheriting from PxBase + CPxUserControllerHitReportUser callback class for character controller events + CPxVec22 Element vector class + CPxVec33 Element vector class + CPxVec44 Element vector class + CPxVehicleAckermannGeometryData + CPxVehicleAntiRollBarData + CPxVehicleAutoBoxData + CPxVehicleChassisData + CPxVehicleClutchAccuracyModeChoose between a potentially more expensive but more accurate solution to the clutch model or a potentially cheaper but less accurate solution + CPxVehicleClutchData + CPxVehicleConcreteTypeAn enumeration of concrete vehicle classes inheriting from PxBase + CPxVehicleConcurrentUpdateDataStructure containing data that is computed for a vehicle and its wheels during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied + CPxVehicleCopyDynamicsMapUsed by PxVehicleCopyDynamicsData + CPxVehicleDifferential4WData + CPxVehicleDifferentialNWData + CPxVehicleDrivableSurfaceToTireFrictionPairsFriction for each combination of driving surface type and tire type + CPxVehicleDrivableSurfaceTypeDriving surface type. Each PxMaterial is associated with a corresponding PxVehicleDrivableSurfaceType + CPxVehicleDrive4WControlThe control inputs for a PxVehicleDrive4W + CPxVehicleDrive4WRawInputDataUsed to produce smooth vehicle driving control values from analog and digital inputs + CPxVehicleDriveNWRawInputDataUsed to produce smooth vehicle driving control values from analog and digital inputs + CPxVehicleDrive4WWheelOrderThe ordering of the driven and steered wheels of a PxVehicleDrive4W + CPxVehicleDriveDynDataData structure with instanced dynamics data for vehicle with engine, clutch, gears, autobox + CPxVehicleDriveNWControlThe control inputs for a PxVehicleDriveNW + CPxVehicleDriveSimDataData structure describing non-wheel configuration data of a vehicle that has engine, gears, clutch, and auto-box + CPxVehicleDriveSimData4WData structure describing the drive model components of a vehicle with up to 4 driven wheels and up to 16 un-driven wheels. The drive model incorporates engine, clutch, gears, autobox, differential, and Ackermann steer correction + CPxVehicleDriveSimDataNWData structure describing configuration data of a vehicle with up to PX_MAX_NB_WHEELS driven equally through the differential. The vehicle has an engine, clutch, gears, autobox, differential + CPxVehicleDriveTankControlThe control inputs for a PxVehicleDriveTank + CPxVehicleDriveTankControlModelTwo driving models are supported + CPxVehicleDriveTankRawInputDataUsed to produce smooth analog tank control values from analog and digital inputs + CPxVehicleDriveTankWheelOrderThe ordering of the wheels of a PxVehicleDriveTank + CPxVehicleEngineData + CPxVehicleGearsData + CPxVehicleKeySmoothingDataUsed to produce smooth vehicle driving control values from key inputs + CPxVehiclePadSmoothingDataUsed to produce smooth analog vehicle control values from analog inputs + CPxVehicleSuspensionData + CPxVehicleTireData + CPxVehicleTireLoadFilterDataTire load variation can be strongly dependent on the time-step so it is a good idea to filter it to give less jerky handling behavior + CPxVehicleTypes + CPxVehicleUpdateMode + CPxVehicleWheelConcurrentUpdateDataStructure containing data that is computed for a wheel during concurrent calls to PxVehicleUpdates but which cannot be safely concurrently applied + CPxVehicleWheelData + CPxVehicleWheelQueryResult + CPxVehicleWheelsDynDataData structure with instanced dynamics data for wheels + CPxVehicleWheelsSimDataData structure describing configuration data of a vehicle with up to 20 wheels + CPxVehicleWheelsSimFlagFlags to configure the vehicle wheel simulation + CPxVisualizationParameterDebug visualization parameters + CPxWheelQueryResultStructure containing data describing the non-persistent state of each suspension/wheel/tire unit. This structure is filled out in PxVehicleUpdates and PxVehicleUpdateSingleVehicleAndStoreTelemetryData + CPxSerialization::PxXmlMiscParameterAdditional PxScene and PxPhysics options stored in XML serialized data + CRaycastCCDManagerRaycast-CCD manager diff --git a/physx/documentation/PhysXAPI/files/hierarchy.js b/physx/documentation/PhysXAPI/files/hierarchy.js index 171dd19a7..56d99c32f 100644 --- a/physx/documentation/PhysXAPI/files/hierarchy.js +++ b/physx/documentation/PhysXAPI/files/hierarchy.js @@ -387,6 +387,7 @@ var hierarchy = ] ], [ "PxSolverType", "structPxSolverType.html", null ], [ "PxSpatialForce", "structPxSpatialForce.html", null ], + [ "PxSpatialVelocity", "structPxSpatialVelocity.html", null ], [ "PxSphericalJointFlag", "structPxSphericalJointFlag.html", null ], [ "PxSpring", "classPxSpring.html", [ [ "PxD6JointDrive", "classPxD6JointDrive.html", null ] @@ -462,6 +463,7 @@ var hierarchy = [ "PxVehicleWheelQueryResult", "structPxVehicleWheelQueryResult.html", null ], [ "PxVehicleWheelsDynData", "classPxVehicleWheelsDynData.html", null ], [ "PxVehicleWheelsSimData", "classPxVehicleWheelsSimData.html", null ], + [ "PxVehicleWheelsSimFlag", "structPxVehicleWheelsSimFlag.html", null ], [ "PxVisualizationParameter", "structPxVisualizationParameter.html", null ], [ "PxWheelQueryResult", "structPxWheelQueryResult.html", null ], [ "PxSerialization::PxXmlMiscParameter", "structPxSerialization_1_1PxXmlMiscParameter.html", null ], diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_115.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_115.md5 index c3c9de361..7209c23f9 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_115.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_115.md5 @@ -1 +1 @@ -a99ef9cc004ab92faf484af14fb48d4a \ No newline at end of file +c53d78d1495071eb6d028b5aadd05301 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_256.map b/physx/documentation/PhysXAPI/files/inherit_graph_256.map index 4f0c10809..0091c342d 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_256.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_256.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_256.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_256.md5 index 3c637cc48..c7cf8f276 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_256.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_256.md5 @@ -1 +1 @@ -f453750debe21cfeb0d05f7fcc3345fc \ No newline at end of file +20faf3ae04f3d1272a63d6b9255ebdc9 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_256.png b/physx/documentation/PhysXAPI/files/inherit_graph_256.png index 11cbd2729..810b18232 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_256.png and b/physx/documentation/PhysXAPI/files/inherit_graph_256.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_257.map b/physx/documentation/PhysXAPI/files/inherit_graph_257.map index 19ea1f857..4f0c10809 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_257.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_257.map @@ -1,4 +1,3 @@ - - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_257.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_257.md5 index c9224ed8c..3c637cc48 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_257.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_257.md5 @@ -1 +1 @@ -edaa853bf0bb6a0378e6b24cfc884946 \ No newline at end of file +f453750debe21cfeb0d05f7fcc3345fc \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_257.png b/physx/documentation/PhysXAPI/files/inherit_graph_257.png index 99bd56080..11cbd2729 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_257.png and b/physx/documentation/PhysXAPI/files/inherit_graph_257.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_258.map b/physx/documentation/PhysXAPI/files/inherit_graph_258.map index c8f1c4a48..19ea1f857 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_258.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_258.map @@ -1,4 +1,4 @@ - - + + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_258.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_258.md5 index d403f814a..c9224ed8c 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_258.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_258.md5 @@ -1 +1 @@ -f628bdad76a955d7d16afa28cc8592de \ No newline at end of file +edaa853bf0bb6a0378e6b24cfc884946 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_258.png b/physx/documentation/PhysXAPI/files/inherit_graph_258.png index 85c5ca77c..99bd56080 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_258.png and b/physx/documentation/PhysXAPI/files/inherit_graph_258.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_259.map b/physx/documentation/PhysXAPI/files/inherit_graph_259.map index 734467e82..c8f1c4a48 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_259.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_259.map @@ -1,3 +1,4 @@ - + + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_259.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_259.md5 index e92935903..d403f814a 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_259.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_259.md5 @@ -1 +1 @@ -5e0940a5ff86e352558feeceec724e1e \ No newline at end of file +f628bdad76a955d7d16afa28cc8592de \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_259.png b/physx/documentation/PhysXAPI/files/inherit_graph_259.png index b07cb2b1c..85c5ca77c 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_259.png and b/physx/documentation/PhysXAPI/files/inherit_graph_259.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_260.map b/physx/documentation/PhysXAPI/files/inherit_graph_260.map index b06e3f635..734467e82 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_260.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_260.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_260.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_260.md5 index 20cddac5e..e92935903 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_260.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_260.md5 @@ -1 +1 @@ -3964f2ba50c791c03d04e307d3db5eae \ No newline at end of file +5e0940a5ff86e352558feeceec724e1e \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_260.png b/physx/documentation/PhysXAPI/files/inherit_graph_260.png index c4f87ecc2..b07cb2b1c 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_260.png and b/physx/documentation/PhysXAPI/files/inherit_graph_260.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_261.map b/physx/documentation/PhysXAPI/files/inherit_graph_261.map index 6357d8952..b06e3f635 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_261.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_261.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_261.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_261.md5 index d9a5586be..20cddac5e 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_261.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_261.md5 @@ -1 +1 @@ -0c829168a692160d68308bf34a1dc0c7 \ No newline at end of file +3964f2ba50c791c03d04e307d3db5eae \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_261.png b/physx/documentation/PhysXAPI/files/inherit_graph_261.png index b48fe974f..c4f87ecc2 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_261.png and b/physx/documentation/PhysXAPI/files/inherit_graph_261.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_262.map b/physx/documentation/PhysXAPI/files/inherit_graph_262.map index 08e340a54..6357d8952 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_262.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_262.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_262.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_262.md5 index 57996407f..d9a5586be 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_262.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_262.md5 @@ -1 +1 @@ -bb858e6366433396d09cfb48df9ed1be \ No newline at end of file +0c829168a692160d68308bf34a1dc0c7 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_262.png b/physx/documentation/PhysXAPI/files/inherit_graph_262.png index b9635856d..b48fe974f 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_262.png and b/physx/documentation/PhysXAPI/files/inherit_graph_262.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_263.map b/physx/documentation/PhysXAPI/files/inherit_graph_263.map index 817c95f5c..08e340a54 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_263.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_263.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_263.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_263.md5 index ac7c13a36..57996407f 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_263.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_263.md5 @@ -1 +1 @@ -fc3a92ae193a28d5ae939fbf22553887 \ No newline at end of file +bb858e6366433396d09cfb48df9ed1be \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_263.png b/physx/documentation/PhysXAPI/files/inherit_graph_263.png index c5a219380..b9635856d 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_263.png and b/physx/documentation/PhysXAPI/files/inherit_graph_263.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_264.map b/physx/documentation/PhysXAPI/files/inherit_graph_264.map index 952662a4b..817c95f5c 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_264.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_264.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_264.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_264.md5 index c68e35a79..ac7c13a36 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_264.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_264.md5 @@ -1 +1 @@ -e3f2ba85d182974ac9fdcc54208e75f8 \ No newline at end of file +fc3a92ae193a28d5ae939fbf22553887 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_264.png b/physx/documentation/PhysXAPI/files/inherit_graph_264.png index 0e7cdd6be..c5a219380 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_264.png and b/physx/documentation/PhysXAPI/files/inherit_graph_264.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_265.map b/physx/documentation/PhysXAPI/files/inherit_graph_265.map index 72488eb75..952662a4b 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_265.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_265.map @@ -1,5 +1,3 @@ - - - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_265.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_265.md5 index 1e1609d29..c68e35a79 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_265.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_265.md5 @@ -1 +1 @@ -9975ba4cae00df7c1e667257c5ae60e1 \ No newline at end of file +e3f2ba85d182974ac9fdcc54208e75f8 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_265.png b/physx/documentation/PhysXAPI/files/inherit_graph_265.png index d0c179ef9..0e7cdd6be 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_265.png and b/physx/documentation/PhysXAPI/files/inherit_graph_265.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_266.map b/physx/documentation/PhysXAPI/files/inherit_graph_266.map index 5bb7b70a4..72488eb75 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_266.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_266.map @@ -1,3 +1,5 @@ - + + + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_266.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_266.md5 index ea113e59e..1e1609d29 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_266.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_266.md5 @@ -1 +1 @@ -f4f00332618054ce908af6cd8d79c783 \ No newline at end of file +9975ba4cae00df7c1e667257c5ae60e1 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_266.png b/physx/documentation/PhysXAPI/files/inherit_graph_266.png index 09145ad0b..d0c179ef9 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_266.png and b/physx/documentation/PhysXAPI/files/inherit_graph_266.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_267.map b/physx/documentation/PhysXAPI/files/inherit_graph_267.map index ee0dabc6b..5bb7b70a4 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_267.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_267.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_267.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_267.md5 index 033387d95..ea113e59e 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_267.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_267.md5 @@ -1 +1 @@ -08e5c2aaf932c221221e7c0ca0106ce4 \ No newline at end of file +f4f00332618054ce908af6cd8d79c783 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_267.png b/physx/documentation/PhysXAPI/files/inherit_graph_267.png index c0c48de1d..09145ad0b 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_267.png and b/physx/documentation/PhysXAPI/files/inherit_graph_267.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_268.map b/physx/documentation/PhysXAPI/files/inherit_graph_268.map index b298a7b63..ee0dabc6b 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_268.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_268.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_268.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_268.md5 index 75333e41b..033387d95 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_268.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_268.md5 @@ -1 +1 @@ -2f787b657a8f29bc3449014dfb929259 \ No newline at end of file +08e5c2aaf932c221221e7c0ca0106ce4 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_268.png b/physx/documentation/PhysXAPI/files/inherit_graph_268.png index 47a057f6c..c0c48de1d 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_268.png and b/physx/documentation/PhysXAPI/files/inherit_graph_268.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_269.map b/physx/documentation/PhysXAPI/files/inherit_graph_269.map index 983520510..b298a7b63 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_269.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_269.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_269.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_269.md5 index 3fdda3090..75333e41b 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_269.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_269.md5 @@ -1 +1 @@ -65b0765913579f79e0a0ca2425859a76 \ No newline at end of file +2f787b657a8f29bc3449014dfb929259 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_269.png b/physx/documentation/PhysXAPI/files/inherit_graph_269.png index d277d0864..47a057f6c 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_269.png and b/physx/documentation/PhysXAPI/files/inherit_graph_269.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_270.map b/physx/documentation/PhysXAPI/files/inherit_graph_270.map index 32c2a89ba..983520510 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_270.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_270.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_270.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_270.md5 index dbb7e79cf..3fdda3090 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_270.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_270.md5 @@ -1 +1 @@ -7b8b44fc8242ed3a6bef063e9e46dfe5 \ No newline at end of file +65b0765913579f79e0a0ca2425859a76 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_270.png b/physx/documentation/PhysXAPI/files/inherit_graph_270.png index 8d1972b6c..d277d0864 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_270.png and b/physx/documentation/PhysXAPI/files/inherit_graph_270.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_271.map b/physx/documentation/PhysXAPI/files/inherit_graph_271.map index 18f41c77d..32c2a89ba 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_271.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_271.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_271.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_271.md5 index 8e1b81771..dbb7e79cf 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_271.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_271.md5 @@ -1 +1 @@ -e3fe0217e4e21e771db9f3cc78c3a518 \ No newline at end of file +7b8b44fc8242ed3a6bef063e9e46dfe5 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_271.png b/physx/documentation/PhysXAPI/files/inherit_graph_271.png index 73cdf626a..8d1972b6c 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_271.png and b/physx/documentation/PhysXAPI/files/inherit_graph_271.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_272.map b/physx/documentation/PhysXAPI/files/inherit_graph_272.map index cfac9cfa5..18f41c77d 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_272.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_272.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_272.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_272.md5 index 2f320910d..8e1b81771 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_272.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_272.md5 @@ -1 +1 @@ -8771c3b8658c7d234bd9d644d076138b \ No newline at end of file +e3fe0217e4e21e771db9f3cc78c3a518 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_272.png b/physx/documentation/PhysXAPI/files/inherit_graph_272.png index ecc47ccac..73cdf626a 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_272.png and b/physx/documentation/PhysXAPI/files/inherit_graph_272.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_273.map b/physx/documentation/PhysXAPI/files/inherit_graph_273.map index 072a0727e..cfac9cfa5 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_273.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_273.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_273.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_273.md5 index 8a45c4a94..2f320910d 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_273.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_273.md5 @@ -1 +1 @@ -bbecb9eea9902ae7a30d1e3f997cd1c2 \ No newline at end of file +8771c3b8658c7d234bd9d644d076138b \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_273.png b/physx/documentation/PhysXAPI/files/inherit_graph_273.png index df2856a72..ecc47ccac 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_273.png and b/physx/documentation/PhysXAPI/files/inherit_graph_273.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_274.map b/physx/documentation/PhysXAPI/files/inherit_graph_274.map index ec20f4cf7..072a0727e 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_274.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_274.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_274.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_274.md5 index 0d4bdccc8..8a45c4a94 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_274.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_274.md5 @@ -1 +1 @@ -1beff762a03e601402faff0019fcdef8 \ No newline at end of file +bbecb9eea9902ae7a30d1e3f997cd1c2 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_274.png b/physx/documentation/PhysXAPI/files/inherit_graph_274.png index 606a4e0b9..df2856a72 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_274.png and b/physx/documentation/PhysXAPI/files/inherit_graph_274.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_275.map b/physx/documentation/PhysXAPI/files/inherit_graph_275.map index 1139ce45b..ec20f4cf7 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_275.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_275.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_275.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_275.md5 index 7e492aa56..0d4bdccc8 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_275.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_275.md5 @@ -1 +1 @@ -2326c7066bda12bca01fda8664725e85 \ No newline at end of file +1beff762a03e601402faff0019fcdef8 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_275.png b/physx/documentation/PhysXAPI/files/inherit_graph_275.png index 7b32a691c..606a4e0b9 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_275.png and b/physx/documentation/PhysXAPI/files/inherit_graph_275.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_276.map b/physx/documentation/PhysXAPI/files/inherit_graph_276.map index 3daa8aff7..1139ce45b 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_276.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_276.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_276.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_276.md5 index 14239bad2..7e492aa56 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_276.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_276.md5 @@ -1 +1 @@ -9583211054d1bafabb79f1191667bd56 \ No newline at end of file +2326c7066bda12bca01fda8664725e85 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_276.png b/physx/documentation/PhysXAPI/files/inherit_graph_276.png index 53310e27b..7b32a691c 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_276.png and b/physx/documentation/PhysXAPI/files/inherit_graph_276.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_277.map b/physx/documentation/PhysXAPI/files/inherit_graph_277.map index fcccbda75..3daa8aff7 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_277.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_277.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_277.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_277.md5 index b7e058cbb..14239bad2 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_277.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_277.md5 @@ -1 +1 @@ -c29f233be02983e36b88a1280c1e96b4 \ No newline at end of file +9583211054d1bafabb79f1191667bd56 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_277.png b/physx/documentation/PhysXAPI/files/inherit_graph_277.png index 5969f47ff..53310e27b 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_277.png and b/physx/documentation/PhysXAPI/files/inherit_graph_277.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_278.map b/physx/documentation/PhysXAPI/files/inherit_graph_278.map index 2c6fca6dd..fcccbda75 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_278.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_278.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_278.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_278.md5 index 580110377..b7e058cbb 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_278.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_278.md5 @@ -1 +1 @@ -547bf1caa16a860ff56f43c7eef2d306 \ No newline at end of file +c29f233be02983e36b88a1280c1e96b4 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_278.png b/physx/documentation/PhysXAPI/files/inherit_graph_278.png index 7620b1d3f..5969f47ff 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_278.png and b/physx/documentation/PhysXAPI/files/inherit_graph_278.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_279.map b/physx/documentation/PhysXAPI/files/inherit_graph_279.map index f3024413f..2c6fca6dd 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_279.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_279.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_279.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_279.md5 index 65e9d4a90..580110377 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_279.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_279.md5 @@ -1 +1 @@ -445a2f1c78020188f42ed6c97a7bb24c \ No newline at end of file +547bf1caa16a860ff56f43c7eef2d306 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_279.png b/physx/documentation/PhysXAPI/files/inherit_graph_279.png index 0ac974345..7620b1d3f 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_279.png and b/physx/documentation/PhysXAPI/files/inherit_graph_279.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_280.map b/physx/documentation/PhysXAPI/files/inherit_graph_280.map index b878d68c9..f3024413f 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_280.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_280.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_280.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_280.md5 index 3e7826296..65e9d4a90 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_280.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_280.md5 @@ -1 +1 @@ -36353126cd6f6dd6490a547e23b992f5 \ No newline at end of file +445a2f1c78020188f42ed6c97a7bb24c \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_280.png b/physx/documentation/PhysXAPI/files/inherit_graph_280.png index e93db8566..0ac974345 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_280.png and b/physx/documentation/PhysXAPI/files/inherit_graph_280.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_281.map b/physx/documentation/PhysXAPI/files/inherit_graph_281.map index 4686cb917..b878d68c9 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_281.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_281.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_281.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_281.md5 index 6ae554c79..3e7826296 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_281.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_281.md5 @@ -1 +1 @@ -2f215218c66882deced7588d8a7a76b3 \ No newline at end of file +36353126cd6f6dd6490a547e23b992f5 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_281.png b/physx/documentation/PhysXAPI/files/inherit_graph_281.png index 34bf962d2..e93db8566 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_281.png and b/physx/documentation/PhysXAPI/files/inherit_graph_281.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_282.map b/physx/documentation/PhysXAPI/files/inherit_graph_282.map index a1a7e5088..4686cb917 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_282.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_282.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_282.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_282.md5 index 2d24cc93b..6ae554c79 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_282.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_282.md5 @@ -1 +1 @@ -988d436a181f8b55e46da26ac10d3d58 \ No newline at end of file +2f215218c66882deced7588d8a7a76b3 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_282.png b/physx/documentation/PhysXAPI/files/inherit_graph_282.png index 9075ea7a7..34bf962d2 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_282.png and b/physx/documentation/PhysXAPI/files/inherit_graph_282.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_283.map b/physx/documentation/PhysXAPI/files/inherit_graph_283.map index 165381979..a1a7e5088 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_283.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_283.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_283.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_283.md5 index 86b8e1798..2d24cc93b 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_283.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_283.md5 @@ -1 +1 @@ -ec000cfd7712e8dbf8504f02286335a5 \ No newline at end of file +988d436a181f8b55e46da26ac10d3d58 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_283.png b/physx/documentation/PhysXAPI/files/inherit_graph_283.png index e579bf002..9075ea7a7 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_283.png and b/physx/documentation/PhysXAPI/files/inherit_graph_283.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_284.map b/physx/documentation/PhysXAPI/files/inherit_graph_284.map index f5e9d82b4..165381979 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_284.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_284.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_284.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_284.md5 index 8df6c4b2b..86b8e1798 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_284.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_284.md5 @@ -1 +1 @@ -998a88a45bd4f40acaed99a7b2b5f92a \ No newline at end of file +ec000cfd7712e8dbf8504f02286335a5 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_284.png b/physx/documentation/PhysXAPI/files/inherit_graph_284.png index c1b2743a9..e579bf002 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_284.png and b/physx/documentation/PhysXAPI/files/inherit_graph_284.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_285.map b/physx/documentation/PhysXAPI/files/inherit_graph_285.map index 2bd22e983..f5e9d82b4 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_285.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_285.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_285.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_285.md5 index 1b99cc34b..8df6c4b2b 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_285.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_285.md5 @@ -1 +1 @@ -927b5ddce79d606983d567e7fc2f4330 \ No newline at end of file +998a88a45bd4f40acaed99a7b2b5f92a \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_285.png b/physx/documentation/PhysXAPI/files/inherit_graph_285.png index 122abff8a..c1b2743a9 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_285.png and b/physx/documentation/PhysXAPI/files/inherit_graph_285.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_286.map b/physx/documentation/PhysXAPI/files/inherit_graph_286.map index c3748239c..2bd22e983 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_286.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_286.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_286.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_286.md5 index 13bc0c9d5..1b99cc34b 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_286.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_286.md5 @@ -1 +1 @@ -26c13429a75b8f748bd3703e7ea00e83 \ No newline at end of file +927b5ddce79d606983d567e7fc2f4330 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_286.png b/physx/documentation/PhysXAPI/files/inherit_graph_286.png index dcb0f8f9f..122abff8a 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_286.png and b/physx/documentation/PhysXAPI/files/inherit_graph_286.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_287.map b/physx/documentation/PhysXAPI/files/inherit_graph_287.map index a6923c486..c3748239c 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_287.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_287.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_287.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_287.md5 index cdb953743..13bc0c9d5 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_287.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_287.md5 @@ -1 +1 @@ -9a0dbc5a50af06b345c09e02b8279d3b \ No newline at end of file +26c13429a75b8f748bd3703e7ea00e83 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_287.png b/physx/documentation/PhysXAPI/files/inherit_graph_287.png index b33a45b45..dcb0f8f9f 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_287.png and b/physx/documentation/PhysXAPI/files/inherit_graph_287.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_288.map b/physx/documentation/PhysXAPI/files/inherit_graph_288.map index c06f2ace7..a6923c486 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_288.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_288.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_288.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_288.md5 index b095d1d24..cdb953743 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_288.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_288.md5 @@ -1 +1 @@ -e7f96c3f29213b1547a9dceddda53e84 \ No newline at end of file +9a0dbc5a50af06b345c09e02b8279d3b \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_288.png b/physx/documentation/PhysXAPI/files/inherit_graph_288.png index 09a9901fd..b33a45b45 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_288.png and b/physx/documentation/PhysXAPI/files/inherit_graph_288.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_289.map b/physx/documentation/PhysXAPI/files/inherit_graph_289.map index a532110a5..c06f2ace7 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_289.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_289.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_289.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_289.md5 index 3ce9899a9..b095d1d24 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_289.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_289.md5 @@ -1 +1 @@ -cc3e430f0128c87b4ebc7e033cff5577 \ No newline at end of file +e7f96c3f29213b1547a9dceddda53e84 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_289.png b/physx/documentation/PhysXAPI/files/inherit_graph_289.png index fb697781d..09a9901fd 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_289.png and b/physx/documentation/PhysXAPI/files/inherit_graph_289.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_290.map b/physx/documentation/PhysXAPI/files/inherit_graph_290.map index 5b0ec2834..a532110a5 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_290.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_290.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_290.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_290.md5 index 0d108a17f..3ce9899a9 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_290.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_290.md5 @@ -1 +1 @@ -7bedcd11051d0392c04647d777e03b5b \ No newline at end of file +cc3e430f0128c87b4ebc7e033cff5577 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_290.png b/physx/documentation/PhysXAPI/files/inherit_graph_290.png index e067f96db..fb697781d 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_290.png and b/physx/documentation/PhysXAPI/files/inherit_graph_290.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_291.map b/physx/documentation/PhysXAPI/files/inherit_graph_291.map index d9cf200c8..5b0ec2834 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_291.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_291.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_291.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_291.md5 index 2dff53e4e..0d108a17f 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_291.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_291.md5 @@ -1 +1 @@ -df2d61ac4e2b39649469d1bb6898a0b1 \ No newline at end of file +7bedcd11051d0392c04647d777e03b5b \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_291.png b/physx/documentation/PhysXAPI/files/inherit_graph_291.png index db3de2347..e067f96db 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_291.png and b/physx/documentation/PhysXAPI/files/inherit_graph_291.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_292.map b/physx/documentation/PhysXAPI/files/inherit_graph_292.map index d16433a1b..d9cf200c8 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_292.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_292.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_292.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_292.md5 index 20356dcfd..2dff53e4e 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_292.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_292.md5 @@ -1 +1 @@ -68ce6a5c8ea59bb94ee01386ae7a77d2 \ No newline at end of file +df2d61ac4e2b39649469d1bb6898a0b1 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_292.png b/physx/documentation/PhysXAPI/files/inherit_graph_292.png index 9b36f154f..db3de2347 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_292.png and b/physx/documentation/PhysXAPI/files/inherit_graph_292.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_293.map b/physx/documentation/PhysXAPI/files/inherit_graph_293.map index a1f839452..d16433a1b 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_293.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_293.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_293.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_293.md5 index 43a68e9ad..20356dcfd 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_293.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_293.md5 @@ -1 +1 @@ -da1dffd0dcccfbde6b5f2cf19b0c2027 \ No newline at end of file +68ce6a5c8ea59bb94ee01386ae7a77d2 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_293.png b/physx/documentation/PhysXAPI/files/inherit_graph_293.png index 3643ca290..9b36f154f 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_293.png and b/physx/documentation/PhysXAPI/files/inherit_graph_293.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_294.map b/physx/documentation/PhysXAPI/files/inherit_graph_294.map index f6a08ae78..a1f839452 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_294.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_294.map @@ -1,4 +1,3 @@ - - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_294.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_294.md5 index aad02df14..43a68e9ad 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_294.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_294.md5 @@ -1 +1 @@ -d0fc3f2f4944436a0fa7e875e97b04c5 \ No newline at end of file +da1dffd0dcccfbde6b5f2cf19b0c2027 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_294.png b/physx/documentation/PhysXAPI/files/inherit_graph_294.png index ed32a0c34..3643ca290 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_294.png and b/physx/documentation/PhysXAPI/files/inherit_graph_294.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_295.map b/physx/documentation/PhysXAPI/files/inherit_graph_295.map index 4927a1632..f6a08ae78 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_295.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_295.map @@ -1,3 +1,4 @@ - + + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_295.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_295.md5 index 8145602e4..aad02df14 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_295.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_295.md5 @@ -1 +1 @@ -b44ba839798ae648617b40f21aa21d77 \ No newline at end of file +d0fc3f2f4944436a0fa7e875e97b04c5 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_295.png b/physx/documentation/PhysXAPI/files/inherit_graph_295.png index aa79c819a..ed32a0c34 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_295.png and b/physx/documentation/PhysXAPI/files/inherit_graph_295.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_296.map b/physx/documentation/PhysXAPI/files/inherit_graph_296.map index efddb1d66..4927a1632 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_296.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_296.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_296.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_296.md5 index 7b22af8f7..8145602e4 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_296.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_296.md5 @@ -1 +1 @@ -00107a00f39c8c8730c1e603b88d4494 \ No newline at end of file +b44ba839798ae648617b40f21aa21d77 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_296.png b/physx/documentation/PhysXAPI/files/inherit_graph_296.png index ebe95cefe..aa79c819a 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_296.png and b/physx/documentation/PhysXAPI/files/inherit_graph_296.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_297.map b/physx/documentation/PhysXAPI/files/inherit_graph_297.map index 680f2a990..efddb1d66 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_297.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_297.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_297.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_297.md5 index 31b77e3b6..7b22af8f7 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_297.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_297.md5 @@ -1 +1 @@ -be50ab7f3bd0c95b0bf4c71435898dd2 \ No newline at end of file +00107a00f39c8c8730c1e603b88d4494 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_297.png b/physx/documentation/PhysXAPI/files/inherit_graph_297.png index 88421d630..ebe95cefe 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_297.png and b/physx/documentation/PhysXAPI/files/inherit_graph_297.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_298.map b/physx/documentation/PhysXAPI/files/inherit_graph_298.map index 6149feb1f..680f2a990 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_298.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_298.map @@ -1,5 +1,3 @@ - - - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_298.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_298.md5 index 9eda300d3..31b77e3b6 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_298.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_298.md5 @@ -1 +1 @@ -a7bdbe46966f3b81abfbc99dfd1d2ae7 \ No newline at end of file +be50ab7f3bd0c95b0bf4c71435898dd2 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_298.png b/physx/documentation/PhysXAPI/files/inherit_graph_298.png index 4fc37c516..88421d630 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_298.png and b/physx/documentation/PhysXAPI/files/inherit_graph_298.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_299.map b/physx/documentation/PhysXAPI/files/inherit_graph_299.map index 463734522..6149feb1f 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_299.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_299.map @@ -1,3 +1,5 @@ - + + + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_299.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_299.md5 index 8e4122d2c..9eda300d3 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_299.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_299.md5 @@ -1 +1 @@ -dd87eba4a0ae79b14b5ae557fd27404d \ No newline at end of file +a7bdbe46966f3b81abfbc99dfd1d2ae7 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_299.png b/physx/documentation/PhysXAPI/files/inherit_graph_299.png index 3c85c30a8..4fc37c516 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_299.png and b/physx/documentation/PhysXAPI/files/inherit_graph_299.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_300.map b/physx/documentation/PhysXAPI/files/inherit_graph_300.map index 4e9b245e5..463734522 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_300.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_300.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_300.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_300.md5 index 48e5bd3bb..8e4122d2c 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_300.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_300.md5 @@ -1 +1 @@ -ff4625545831f5f38f44b72c2d1ea200 \ No newline at end of file +dd87eba4a0ae79b14b5ae557fd27404d \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_300.png b/physx/documentation/PhysXAPI/files/inherit_graph_300.png index 44dfe5f1f..3c85c30a8 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_300.png and b/physx/documentation/PhysXAPI/files/inherit_graph_300.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_301.map b/physx/documentation/PhysXAPI/files/inherit_graph_301.map index b0fd339c0..4e9b245e5 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_301.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_301.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_301.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_301.md5 index a19a6b5cb..48e5bd3bb 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_301.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_301.md5 @@ -1 +1 @@ -95c75461ac80748a41c190fe61f907b5 \ No newline at end of file +ff4625545831f5f38f44b72c2d1ea200 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_301.png b/physx/documentation/PhysXAPI/files/inherit_graph_301.png index 048d56012..44dfe5f1f 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_301.png and b/physx/documentation/PhysXAPI/files/inherit_graph_301.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_302.map b/physx/documentation/PhysXAPI/files/inherit_graph_302.map index 00164001b..b0fd339c0 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_302.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_302.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_302.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_302.md5 index 5cef6d0cd..a19a6b5cb 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_302.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_302.md5 @@ -1 +1 @@ -fd0bfa6e1e9c0e065eacb63a7df06744 \ No newline at end of file +95c75461ac80748a41c190fe61f907b5 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_302.png b/physx/documentation/PhysXAPI/files/inherit_graph_302.png index a722de24f..048d56012 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_302.png and b/physx/documentation/PhysXAPI/files/inherit_graph_302.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_303.map b/physx/documentation/PhysXAPI/files/inherit_graph_303.map index d61a6c6fb..00164001b 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_303.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_303.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_303.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_303.md5 index 3cf8b5844..5cef6d0cd 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_303.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_303.md5 @@ -1 +1 @@ -b630b8e23ea9110aa037836f089d9ad0 \ No newline at end of file +fd0bfa6e1e9c0e065eacb63a7df06744 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_303.png b/physx/documentation/PhysXAPI/files/inherit_graph_303.png index 1b0aa6ed2..a722de24f 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_303.png and b/physx/documentation/PhysXAPI/files/inherit_graph_303.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_304.map b/physx/documentation/PhysXAPI/files/inherit_graph_304.map index e9dbd8e80..d61a6c6fb 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_304.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_304.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_304.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_304.md5 index 27864a04d..3cf8b5844 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_304.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_304.md5 @@ -1 +1 @@ -cd5bdaed3138e0737d7d90d3e5ebed1e \ No newline at end of file +b630b8e23ea9110aa037836f089d9ad0 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_304.png b/physx/documentation/PhysXAPI/files/inherit_graph_304.png index 90a5e87cc..1b0aa6ed2 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_304.png and b/physx/documentation/PhysXAPI/files/inherit_graph_304.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_305.map b/physx/documentation/PhysXAPI/files/inherit_graph_305.map index 60889f077..e9dbd8e80 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_305.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_305.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_305.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_305.md5 index b103cc303..27864a04d 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_305.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_305.md5 @@ -1 +1 @@ -097220c6889b5d7a71144f5509af16ef \ No newline at end of file +cd5bdaed3138e0737d7d90d3e5ebed1e \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_305.png b/physx/documentation/PhysXAPI/files/inherit_graph_305.png index ee257bbdc..90a5e87cc 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_305.png and b/physx/documentation/PhysXAPI/files/inherit_graph_305.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_306.map b/physx/documentation/PhysXAPI/files/inherit_graph_306.map index 9fb045d4b..60889f077 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_306.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_306.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_306.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_306.md5 index 5e3893e81..b103cc303 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_306.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_306.md5 @@ -1 +1 @@ -e97bc9c8a5d71f710bd810b5bd397ef1 \ No newline at end of file +097220c6889b5d7a71144f5509af16ef \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_306.png b/physx/documentation/PhysXAPI/files/inherit_graph_306.png index 624f67de8..ee257bbdc 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_306.png and b/physx/documentation/PhysXAPI/files/inherit_graph_306.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_307.map b/physx/documentation/PhysXAPI/files/inherit_graph_307.map index a05665201..9fb045d4b 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_307.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_307.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_307.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_307.md5 index 52b88ddcb..5e3893e81 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_307.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_307.md5 @@ -1 +1 @@ -9d552c8ada341d9a43fec8bc8524d819 \ No newline at end of file +e97bc9c8a5d71f710bd810b5bd397ef1 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_307.png b/physx/documentation/PhysXAPI/files/inherit_graph_307.png index 43be84458..624f67de8 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_307.png and b/physx/documentation/PhysXAPI/files/inherit_graph_307.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_308.map b/physx/documentation/PhysXAPI/files/inherit_graph_308.map index 17f167b53..a05665201 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_308.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_308.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_308.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_308.md5 index bd9a390f5..52b88ddcb 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_308.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_308.md5 @@ -1 +1 @@ -14e9c423634d32e6e049c5cb981dce27 \ No newline at end of file +9d552c8ada341d9a43fec8bc8524d819 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_308.png b/physx/documentation/PhysXAPI/files/inherit_graph_308.png index 381e822e0..43be84458 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_308.png and b/physx/documentation/PhysXAPI/files/inherit_graph_308.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_309.map b/physx/documentation/PhysXAPI/files/inherit_graph_309.map index 376f55beb..17f167b53 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_309.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_309.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_309.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_309.md5 index e99bfd37e..bd9a390f5 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_309.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_309.md5 @@ -1 +1 @@ -a578b37291ce3cce17c1df7f1fa71c42 \ No newline at end of file +14e9c423634d32e6e049c5cb981dce27 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_309.png b/physx/documentation/PhysXAPI/files/inherit_graph_309.png index ee669bcf6..381e822e0 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_309.png and b/physx/documentation/PhysXAPI/files/inherit_graph_309.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_310.map b/physx/documentation/PhysXAPI/files/inherit_graph_310.map index b51253b7c..376f55beb 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_310.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_310.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_310.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_310.md5 index 2de58f00c..e99bfd37e 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_310.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_310.md5 @@ -1 +1 @@ -3c07fd0e972c5e590711cf32ef68d828 \ No newline at end of file +a578b37291ce3cce17c1df7f1fa71c42 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_310.png b/physx/documentation/PhysXAPI/files/inherit_graph_310.png index 5546b5dd9..ee669bcf6 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_310.png and b/physx/documentation/PhysXAPI/files/inherit_graph_310.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_311.map b/physx/documentation/PhysXAPI/files/inherit_graph_311.map index 6fb3680b9..b51253b7c 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_311.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_311.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_311.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_311.md5 index 65e0a0875..2de58f00c 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_311.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_311.md5 @@ -1 +1 @@ -1306764887df0d997eec9dd8d73174a5 \ No newline at end of file +3c07fd0e972c5e590711cf32ef68d828 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_311.png b/physx/documentation/PhysXAPI/files/inherit_graph_311.png index 5b7987078..5546b5dd9 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_311.png and b/physx/documentation/PhysXAPI/files/inherit_graph_311.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_312.map b/physx/documentation/PhysXAPI/files/inherit_graph_312.map index 8de95463e..6fb3680b9 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_312.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_312.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_312.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_312.md5 index 5f3bb1871..65e0a0875 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_312.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_312.md5 @@ -1 +1 @@ -5e82cd507bd9b5ba2173b1ce22cdf4cf \ No newline at end of file +1306764887df0d997eec9dd8d73174a5 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_312.png b/physx/documentation/PhysXAPI/files/inherit_graph_312.png index fb2914409..5b7987078 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_312.png and b/physx/documentation/PhysXAPI/files/inherit_graph_312.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_313.map b/physx/documentation/PhysXAPI/files/inherit_graph_313.map index 3045cd3d8..8de95463e 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_313.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_313.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_313.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_313.md5 index 3f730ae23..5f3bb1871 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_313.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_313.md5 @@ -1 +1 @@ -7a6be16fa2cee006a1fccc430c4e87c6 \ No newline at end of file +5e82cd507bd9b5ba2173b1ce22cdf4cf \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_313.png b/physx/documentation/PhysXAPI/files/inherit_graph_313.png index 6e91070e7..fb2914409 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_313.png and b/physx/documentation/PhysXAPI/files/inherit_graph_313.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_314.map b/physx/documentation/PhysXAPI/files/inherit_graph_314.map index a3638f1da..3045cd3d8 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_314.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_314.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_314.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_314.md5 index af9ac9d70..3f730ae23 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_314.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_314.md5 @@ -1 +1 @@ -9e7931536249af6c67f01ec7d1ea024b \ No newline at end of file +7a6be16fa2cee006a1fccc430c4e87c6 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_314.png b/physx/documentation/PhysXAPI/files/inherit_graph_314.png index ccfaad848..6e91070e7 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_314.png and b/physx/documentation/PhysXAPI/files/inherit_graph_314.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_315.map b/physx/documentation/PhysXAPI/files/inherit_graph_315.map index 589f0fd33..a3638f1da 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_315.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_315.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_315.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_315.md5 index 7693b8efb..af9ac9d70 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_315.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_315.md5 @@ -1 +1 @@ -09893b0303e5976ba2d408d7eb3455a6 \ No newline at end of file +9e7931536249af6c67f01ec7d1ea024b \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_315.png b/physx/documentation/PhysXAPI/files/inherit_graph_315.png index 1ee5280ec..ccfaad848 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_315.png and b/physx/documentation/PhysXAPI/files/inherit_graph_315.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_316.map b/physx/documentation/PhysXAPI/files/inherit_graph_316.map index 5050d801f..589f0fd33 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_316.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_316.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_316.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_316.md5 index b1e1f3b01..7693b8efb 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_316.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_316.md5 @@ -1 +1 @@ -b64d64c3b99fbeeb4fceaa2218c7874d \ No newline at end of file +09893b0303e5976ba2d408d7eb3455a6 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_316.png b/physx/documentation/PhysXAPI/files/inherit_graph_316.png index c7b2b3050..1ee5280ec 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_316.png and b/physx/documentation/PhysXAPI/files/inherit_graph_316.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_317.map b/physx/documentation/PhysXAPI/files/inherit_graph_317.map index ef3a71037..5050d801f 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_317.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_317.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_317.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_317.md5 index 2dff7351a..b1e1f3b01 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_317.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_317.md5 @@ -1 +1 @@ -9abb0f1ad9b3f15c1c8cff42cffe5b6a \ No newline at end of file +b64d64c3b99fbeeb4fceaa2218c7874d \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_317.png b/physx/documentation/PhysXAPI/files/inherit_graph_317.png index 25f9282b7..c7b2b3050 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_317.png and b/physx/documentation/PhysXAPI/files/inherit_graph_317.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_318.map b/physx/documentation/PhysXAPI/files/inherit_graph_318.map index 6addfa551..7efd67f07 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_318.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_318.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_318.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_318.md5 index c82343209..eef53889e 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_318.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_318.md5 @@ -1 +1 @@ -a4763653aa9a6690cc27ca6c85e50dd9 \ No newline at end of file +45e4db291794503a29ef372997c54aa3 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_318.png b/physx/documentation/PhysXAPI/files/inherit_graph_318.png index 8797a3ff0..d6158676a 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_318.png and b/physx/documentation/PhysXAPI/files/inherit_graph_318.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_319.map b/physx/documentation/PhysXAPI/files/inherit_graph_319.map index d0ac154a6..ef3a71037 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_319.map +++ b/physx/documentation/PhysXAPI/files/inherit_graph_319.map @@ -1,3 +1,3 @@ - + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_319.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_319.md5 index 648e04234..2dff7351a 100644 --- a/physx/documentation/PhysXAPI/files/inherit_graph_319.md5 +++ b/physx/documentation/PhysXAPI/files/inherit_graph_319.md5 @@ -1 +1 @@ -e753a580258f20612885979ffaf12686 \ No newline at end of file +9abb0f1ad9b3f15c1c8cff42cffe5b6a \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_319.png b/physx/documentation/PhysXAPI/files/inherit_graph_319.png index 0ee055e65..25f9282b7 100644 Binary files a/physx/documentation/PhysXAPI/files/inherit_graph_319.png and b/physx/documentation/PhysXAPI/files/inherit_graph_319.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_320.map b/physx/documentation/PhysXAPI/files/inherit_graph_320.map new file mode 100644 index 000000000..6addfa551 --- /dev/null +++ b/physx/documentation/PhysXAPI/files/inherit_graph_320.map @@ -0,0 +1,3 @@ + + + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_320.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_320.md5 new file mode 100644 index 000000000..c82343209 --- /dev/null +++ b/physx/documentation/PhysXAPI/files/inherit_graph_320.md5 @@ -0,0 +1 @@ +a4763653aa9a6690cc27ca6c85e50dd9 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_320.png b/physx/documentation/PhysXAPI/files/inherit_graph_320.png new file mode 100644 index 000000000..8797a3ff0 Binary files /dev/null and b/physx/documentation/PhysXAPI/files/inherit_graph_320.png differ diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_321.map b/physx/documentation/PhysXAPI/files/inherit_graph_321.map new file mode 100644 index 000000000..d0ac154a6 --- /dev/null +++ b/physx/documentation/PhysXAPI/files/inherit_graph_321.map @@ -0,0 +1,3 @@ + + + diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_321.md5 b/physx/documentation/PhysXAPI/files/inherit_graph_321.md5 new file mode 100644 index 000000000..648e04234 --- /dev/null +++ b/physx/documentation/PhysXAPI/files/inherit_graph_321.md5 @@ -0,0 +1 @@ +e753a580258f20612885979ffaf12686 \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/inherit_graph_321.png b/physx/documentation/PhysXAPI/files/inherit_graph_321.png new file mode 100644 index 000000000..0ee055e65 Binary files /dev/null and b/physx/documentation/PhysXAPI/files/inherit_graph_321.png differ diff --git a/physx/documentation/PhysXAPI/files/inherits.html b/physx/documentation/PhysXAPI/files/inherits.html index e1b8a603b..556e07730 100644 --- a/physx/documentation/PhysXAPI/files/inherits.html +++ b/physx/documentation/PhysXAPI/files/inherits.html @@ -1460,329 +1460,339 @@ - + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + - + - + diff --git a/physx/documentation/PhysXAPI/files/navtreedata.js b/physx/documentation/PhysXAPI/files/navtreedata.js index 1434fd3cc..d6f98c7c1 100644 --- a/physx/documentation/PhysXAPI/files/navtreedata.js +++ b/physx/documentation/PhysXAPI/files/navtreedata.js @@ -59,30 +59,30 @@ var NAVTREE = var NAVTREEINDEX = [ "GuContactBuffer_8h.html", -"PxIntrinsics_8h_source.html", -"PxWindowsIntrinsics_8h.html#a5d4ea7807df2fcf1968275bc06e79319", -"classPxAssertHandler.html#aca1d7acf4d04ce3aa855a74920aea1f3", -"classPxContactSet.html#a7294514e0c3e773a40ba0ecec449b03e", -"classPxDeserializationContext.html#aec988e991d65c299c9f4742c0ada3ccc", -"classPxJoint.html#a373b38ccd4aff8671b5b17761b73af1b", -"classPxPhysics.html", -"classPxRigidBody.html#ad49850630db14af26e019d2550ecfd27", -"classPxSerialization.html#a86026f68eb651de87e4a7720bc708893", -"classPxTriangleMesh.html#a611c8453a6b6256a63f1450aa8cf237a", -"classPxVehicleDrive.html#a2af80cf3e4d767f1710a8f2e244cb9d5", -"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7aa1c63bf522cfa13f31b1432c97ea5cac", -"classPxVehicleWheelsSimData.html#acd51a38c9e5cf37b1c0b5feed7b03c04", -"group__Serializers.html#gaa245288765787cf190f85fd720e81851", -"group__extensions.html#gaf61e11222319b3a664d8127c8b64bb98", -"group__foundation.html#ga95a5fd55fa4db02a70d5f0226098771a", -"group__immediatemode.html#ga4371afa7be6b3dfd04fd94491b7ccf1e", -"group__vehicle.html#ga4eb698c19004af6a07c2b2a666f0c1ce", -"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a82eb74ec3cb3500943f14c6b587ec606", -"structPxControllerState.html#a49ae9e9723a98c571d2ada7c7e467631", -"structPxFrictionType.html#a603c53fd85805e2528a338252496a96ba1babb0238e5d20663f85eb4e1afa9c84", -"structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821eaf20c7f1d72fa509cffbdd5b10c96f0f7", -"structPxTGSSolverBodyVel.html#a661c068fee9d0d69310f061791cc1a31", -"structphysx_1_1Gu_1_1ContactPoint.html#a7caf32c60a9efed1a6822911403d0ca7" +"PxImmediateMode_8h_source.html", +"PxWindowsIntrinsics_8h.html#a39a4b10ef013902b46ab72a6f301faaf", +"classPxArticulationReducedCoordinate.html#abe5b98d8b80aa4781ad1d5e9baffad25", +"classPxContactSet.html#a2e374d99ff72fcf410a070ee3bf17abb", +"classPxDeserializationContext.html", +"classPxInputStream.html#ae9bbfe54d3bd96668f6dd19b30737e26", +"classPxObstacleContext.html#a9390f860fb489f283c9f872af2777123", +"classPxRigidBody.html#a9e6f3afd71605e037a5de47955d941e0", +"classPxSceneWriteLock.html#ace8fdd1122b661e18b2bcec225ede3a9", +"classPxTriangle.html#ae4c701d8c6f8ca3cbe652546d063f8fa", +"classPxVehicleDrivableSurfaceToTireFrictionPairs.html#aca01890cbb1302d4710e3e689bb74cba", +"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a64e578969fd1e2595a7ae62aaf920865", +"classPxVehicleWheelsSimData.html#ab7743d96cc508c0b41a1fbbe86c3d788", +"globals_type.html", +"group__extensions.html#gae13799b44f055e19212220bdff322597", +"group__foundation.html#ga903d59eeddf0328e54f1caf8efddf2fc", +"group__immediatemode.html#ga0bae177a8cae93690234bdcb6a29e8d9", +"group__vehicle.html#ga0c3a7dea79cf9968bd350a49ce0fd770", +"structPxCache.html#a8595cb14cdd176983223d2b61f9dece7", +"structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9caa161d9988d0de3687f09aa94748b966c", +"structPxFilterObjectFlag.html#a7230bf2cf2ad3d35c4adb45187666419a22d371ca8d8e3c460b1c15abaf7f8d66", +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fafd2fd2d6bbbf3acc8d3cbe63beabe6fe", +"structPxStridedData.html#ad98a9e00d44b1c2c48c6dec114693f18", +"structPxWheelQueryResult.html#a31b6ed853082cacb07e8926dfc0a21b0" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex0.js b/physx/documentation/PhysXAPI/files/navtreeindex0.js index 6fd646674..492c51632 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex0.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex0.js @@ -22,10 +22,12 @@ var NAVTREEINDEX0 = "PxArticulationLink_8h.html":[4,0,11], "PxArticulationLink_8h_source.html":[4,0,11], "PxArticulationReducedCoordinate_8h.html":[4,0,12], -"PxArticulationReducedCoordinate_8h.html#a1f5925a4680ca8dff39369ff8d47ab7c":[4,0,12,2], -"PxArticulationReducedCoordinate_8h.html#a38edacc159efc770954897a85a7c8146":[4,0,12,3], -"PxArticulationReducedCoordinate_8h.html#a88c56ce9e0d40d8821c1dc1bd6182ccd":[4,0,12,4], -"PxArticulationReducedCoordinate_8h.html#abdcc8bb9f78d81acf11aabbf3367d09d":[4,0,12,6], +"PxArticulationReducedCoordinate_8h.html#a1f5925a4680ca8dff39369ff8d47ab7c":[4,0,12,3], +"PxArticulationReducedCoordinate_8h.html#a38edacc159efc770954897a85a7c8146":[4,0,12,5], +"PxArticulationReducedCoordinate_8h.html#a840381307a4813334fba199be4bbcbf3":[4,0,12,4], +"PxArticulationReducedCoordinate_8h.html#a88c56ce9e0d40d8821c1dc1bd6182ccd":[4,0,12,6], +"PxArticulationReducedCoordinate_8h.html#a9603c86a5d2d0bff969100f99e404753":[4,0,12,2], +"PxArticulationReducedCoordinate_8h.html#abdcc8bb9f78d81acf11aabbf3367d09d":[4,0,12,8], "PxArticulationReducedCoordinate_8h_source.html":[4,0,12], "PxArticulation_8h.html":[4,0,7], "PxArticulation_8h_source.html":[4,0,7], @@ -247,7 +249,5 @@ var NAVTREEINDEX0 = "PxHeightField_8h_source.html":[4,0,78], "PxIO_8h.html":[4,0,85], "PxIO_8h_source.html":[4,0,85], -"PxImmediateMode_8h.html":[4,0,83], -"PxImmediateMode_8h_source.html":[4,0,83], -"PxIntrinsics_8h.html":[4,0,84] +"PxImmediateMode_8h.html":[4,0,83] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex1.js b/physx/documentation/PhysXAPI/files/navtreeindex1.js index 819e27f25..3138ff60b 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex1.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex1.js @@ -1,5 +1,7 @@ var NAVTREEINDEX1 = { +"PxImmediateMode_8h_source.html":[4,0,83], +"PxIntrinsics_8h.html":[4,0,84], "PxIntrinsics_8h_source.html":[4,0,84], "PxJointLimit_8h.html":[4,0,87], "PxJointLimit_8h_source.html":[4,0,87], @@ -247,7 +249,5 @@ var NAVTREEINDEX1 = "PxWindowsIntrinsics_8h.html#a11fd1983ba8a2204909ae97ca3ed322f":[4,0,187,12], "PxWindowsIntrinsics_8h.html#a1cf5e31b1076fc655d2a46a5257d6590":[4,0,187,0], "PxWindowsIntrinsics_8h.html#a2021ee304ce528baa264c35c7bb0f981":[4,0,187,14], -"PxWindowsIntrinsics_8h.html#a298ee9e11253b68a85543aaf66dc30e2":[4,0,187,7], -"PxWindowsIntrinsics_8h.html#a39a4b10ef013902b46ab72a6f301faaf":[4,0,187,11], -"PxWindowsIntrinsics_8h.html#a480a9e7204fe3c8f4b3d60eb7165fae8":[4,0,187,16] +"PxWindowsIntrinsics_8h.html#a298ee9e11253b68a85543aaf66dc30e2":[4,0,187,7] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex10.js b/physx/documentation/PhysXAPI/files/navtreeindex10.js index 4aa1c51fb..79d421ae5 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex10.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex10.js @@ -1,5 +1,13 @@ var NAVTREEINDEX10 = { +"classPxTriangle.html#ae4c701d8c6f8ca3cbe652546d063f8fa":[2,7,26,7], +"classPxTriangle.html#afb3fd7854de70dad3983f0e0f21809d6":[2,7,26,6], +"classPxTriangleMesh.html":[2,7,29], +"classPxTriangleMesh.html#a08c203991bc3ad2be59ad6ab048197dc":[2,7,29,12], +"classPxTriangleMesh.html#a0fc4aed5a5f01a0f1b769d3c6534ba8d":[2,7,29,7], +"classPxTriangleMesh.html#a168cc0000372c63857d128d04f1d32fa":[2,7,29,16], +"classPxTriangleMesh.html#a1b5db3f6060849da98024a04ceb991e5":[2,7,29,10], +"classPxTriangleMesh.html#a261ef2fa9709a163408b41d2c34dda71":[2,7,29,13], "classPxTriangleMesh.html#a611c8453a6b6256a63f1450aa8cf237a":[2,7,29,5], "classPxTriangleMesh.html#a6b36d40812d5cb70507472cd4e147ae0":[2,7,29,11], "classPxTriangleMesh.html#a984f1536be90cc0581052c035b4a424d":[2,7,29,3], @@ -241,13 +249,5 @@ var NAVTREEINDEX10 = "classPxVehicleDrivableSurfaceToTireFrictionPairs.html#a7c9886f9960190aad098e0b0249ba993":[2,11,33,11], "classPxVehicleDrivableSurfaceToTireFrictionPairs.html#a9068e2dae3d8693743da87a62e7ad918":[2,11,33,7], "classPxVehicleDrivableSurfaceToTireFrictionPairs.html#aa50c125d14a2b7e3c2de54afa3040b53":[2,11,33,4], -"classPxVehicleDrivableSurfaceToTireFrictionPairs.html#ab318b7ef23407bdf40ea05c367ef2b81":[2,11,33,2], -"classPxVehicleDrivableSurfaceToTireFrictionPairs.html#aca01890cbb1302d4710e3e689bb74cba":[2,11,33,12], -"classPxVehicleDrivableSurfaceToTireFrictionPairs.html#aca969227c009ec16e61c25aac46b4ec3ab2a1b700aec01af2e3ade75acf926d14":[2,11,33,0], -"classPxVehicleDrivableSurfaceToTireFrictionPairs.html#ad4b247a10569533b5afd523f529c467c":[2,11,33,14], -"classPxVehicleDrivableSurfaceToTireFrictionPairs.html#aecff4e0404b9c0458f701754a9a7e1bb":[2,11,33,3], -"classPxVehicleDrive.html":[2,11,16], -"classPxVehicleDrive.html#a02bbb8b1aad17272d533b7b3a41f016f":[2,11,16,12], -"classPxVehicleDrive.html#a251914d9b502687f2778e3f096dd0578":[2,11,16,7], -"classPxVehicleDrive.html#a255e6465bfe1f298cb22f24ede46869c":[2,11,16,8] +"classPxVehicleDrivableSurfaceToTireFrictionPairs.html#ab318b7ef23407bdf40ea05c367ef2b81":[2,11,33,2] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex11.js b/physx/documentation/PhysXAPI/files/navtreeindex11.js index ce6769c74..c576fc6cc 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex11.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex11.js @@ -1,5 +1,13 @@ var NAVTREEINDEX11 = { +"classPxVehicleDrivableSurfaceToTireFrictionPairs.html#aca01890cbb1302d4710e3e689bb74cba":[2,11,33,12], +"classPxVehicleDrivableSurfaceToTireFrictionPairs.html#aca969227c009ec16e61c25aac46b4ec3ab2a1b700aec01af2e3ade75acf926d14":[2,11,33,0], +"classPxVehicleDrivableSurfaceToTireFrictionPairs.html#ad4b247a10569533b5afd523f529c467c":[2,11,33,14], +"classPxVehicleDrivableSurfaceToTireFrictionPairs.html#aecff4e0404b9c0458f701754a9a7e1bb":[2,11,33,3], +"classPxVehicleDrive.html":[2,11,16], +"classPxVehicleDrive.html#a02bbb8b1aad17272d533b7b3a41f016f":[2,11,16,12], +"classPxVehicleDrive.html#a251914d9b502687f2778e3f096dd0578":[2,11,16,7], +"classPxVehicleDrive.html#a255e6465bfe1f298cb22f24ede46869c":[2,11,16,8], "classPxVehicleDrive.html#a2af80cf3e4d767f1710a8f2e244cb9d5":[2,11,16,4], "classPxVehicleDrive.html#a2d655bfda0d779fd6ede50fb25b2093e":[2,11,16,14], "classPxVehicleDrive.html#a36c21a889ee14e4221a1493a9ea5e9a3":[2,11,16,2], @@ -241,13 +249,5 @@ var NAVTREEINDEX11 = "classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a4c0b58242e9c56d0dc606af39fe88fe8":[2,11,2,0,6], "classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a519e0c989662b804a27b1c729aba234a":[2,11,2,0,14], "classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a57065d25a4a30ef239e7b54feba41679":[2,11,2,0,16], -"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a604a3e610511584e23f7b1575c015555":[2,11,2,0,13], -"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a64e578969fd1e2595a7ae62aaf920865":[2,11,2,0,7], -"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a697773b3bc8b2f1a9d1e09913e126170":[2,11,2,0,3], -"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a75e929332aad1ce95d539cec2114861a":[2,11,2,0,17], -"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a7a82e798063cbad1d60dfd26b4aea512":[2,11,2,0,19], -"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a7ec5ab02dd6f186a8453486e1f1b007d":[2,11,2,0,9], -"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a80583db4ae487006afc324f9216023d1":[2,11,2,0,22], -"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a8e6929a2b7556b69d30cbbb068c4cfcc":[2,11,2,0,28], -"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a981cc327b2fa9709f58cea31945e610c":[2,11,2,0,5] +"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a604a3e610511584e23f7b1575c015555":[2,11,2,0,13] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex12.js b/physx/documentation/PhysXAPI/files/navtreeindex12.js index 31274b4f1..05340d518 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex12.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex12.js @@ -1,5 +1,13 @@ var NAVTREEINDEX12 = { +"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a64e578969fd1e2595a7ae62aaf920865":[2,11,2,0,7], +"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a697773b3bc8b2f1a9d1e09913e126170":[2,11,2,0,3], +"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a75e929332aad1ce95d539cec2114861a":[2,11,2,0,17], +"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a7a82e798063cbad1d60dfd26b4aea512":[2,11,2,0,19], +"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a7ec5ab02dd6f186a8453486e1f1b007d":[2,11,2,0,9], +"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a80583db4ae487006afc324f9216023d1":[2,11,2,0,22], +"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a8e6929a2b7556b69d30cbbb068c4cfcc":[2,11,2,0,28], +"classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a981cc327b2fa9709f58cea31945e610c":[2,11,2,0,5], "classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7aa1c63bf522cfa13f31b1432c97ea5cac":[2,11,2,0,12], "classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7aa3cb1739bffe703f71b3f7b70fae4187":[2,11,2,0,1], "classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7ab75cfff4be6edd9d869f51b1a1fccf0a":[2,11,2,0,23], @@ -117,137 +125,129 @@ var NAVTREEINDEX12 = "classPxVehicleWheelData.html#aef669dcda5387646e25a7ed6a318703a":[2,11,10,7], "classPxVehicleWheelData.html#af1daeb2e387931179e342a87a0646313":[2,11,10,12], "classPxVehicleWheelData.html#af3a913e892378dc31d602f771ded9256":[2,11,10,14], -"classPxVehicleWheels.html":[2,11,46], -"classPxVehicleWheels.html#a004cc21345154aaa683515025c401541":[2,11,46,9], -"classPxVehicleWheels.html#a01b68575305d97f6e6dc9d6b1fb5b3dd":[2,11,46,7], -"classPxVehicleWheels.html#a07c073158a6df39214f655f59d130b69":[2,11,46,18], -"classPxVehicleWheels.html#a0a75ee48309f1052d10acdc9b727ab06":[2,11,46,1], -"classPxVehicleWheels.html#a207673f21e572fc17e5117eb305e2544":[2,11,46,29], -"classPxVehicleWheels.html#a23d22869010243ec8bf51405f25c5db4":[2,11,46,2], -"classPxVehicleWheels.html#a2e68cea9916f8cee1a9a46324e4d3a6c":[2,11,46,12], -"classPxVehicleWheels.html#a38ad927170326e69d65ab571e5fa18f5":[2,11,46,14], -"classPxVehicleWheels.html#a38cf9474ad2c23ba3c21766fac251339":[2,11,46,23], -"classPxVehicleWheels.html#a4244d3285814fff95e2917684eb08be7":[2,11,46,25], -"classPxVehicleWheels.html#a47f6215d5555890bef75e38668596522":[2,11,46,20], -"classPxVehicleWheels.html#a60b139fb8ffd58bb50bd1ec7c8812779":[2,11,46,4], -"classPxVehicleWheels.html#a631f380f7e677ff0247c9dd14a3f6a49":[2,11,46,17], -"classPxVehicleWheels.html#a67267b846436dbee2998271a5ec84a47":[2,11,46,8], -"classPxVehicleWheels.html#a6c7b7db6738f532cdbc4a44189170a81":[2,11,46,30], -"classPxVehicleWheels.html#a6f4df7db37ceba78c08e8925c7486b04":[2,11,46,3], -"classPxVehicleWheels.html#a7b10e53f92ba4331726d49ac9a0ddd06":[2,11,46,5], -"classPxVehicleWheels.html#a90fa0b0583e88a91908dbde05305df59":[2,11,46,6], -"classPxVehicleWheels.html#aa701e6924049bdd9339780c54eafcfe2":[2,11,46,31], -"classPxVehicleWheels.html#aa960a335429c764ff7e258a0ec3ab5f0":[2,11,46,26], -"classPxVehicleWheels.html#abd3c415e538022f66f00dd926208f2f1":[2,11,46,33], -"classPxVehicleWheels.html#ac7de8bfda7bfd8a5c34c85a4c4ac4755":[2,11,46,15], -"classPxVehicleWheels.html#acd4867df3d9093a8cdc6ced460e8b8b5":[2,11,46,28], -"classPxVehicleWheels.html#ad6041f92998a2be40cbb353b5d49fb92":[2,11,46,22], -"classPxVehicleWheels.html#adc99081a2fda9195f484e57f715c41d2":[2,11,46,32], -"classPxVehicleWheels.html#add82906e8c19fcc1b24fda52140a58d9":[2,11,46,11], -"classPxVehicleWheels.html#ade10ab7878d43baf638af72cc05f252e":[2,11,46,27], -"classPxVehicleWheels.html#ae58ab064534a9b0256665c60ed8e63d2":[2,11,46,21], -"classPxVehicleWheels.html#aea16869e1b115f04bb8560303e11afc9":[2,11,46,10], -"classPxVehicleWheels.html#aec83ecde4a8c2a38a8f4be88b973160a":[2,11,46,19], -"classPxVehicleWheels.html#aed5b450123f32286b847b52dbb961a5c":[2,11,46,24], -"classPxVehicleWheels.html#af39a1f7db04260778f9fe71a87475516":[2,11,46,13], -"classPxVehicleWheels.html#af89137887231400e356bc4d2b33052f2":[2,11,46,16], -"classPxVehicleWheels.html#afb89c7e2d53b98c310d59443213fff80":[2,11,46,0], -"classPxVehicleWheelsDynData.html":[2,11,45], -"classPxVehicleWheelsDynData.html#a048852910ba403c562d0589f501fe03d":[2,11,45,9], -"classPxVehicleWheelsDynData.html#a129ab9f993d414c469f002314307dd7e":[2,11,45,19], -"classPxVehicleWheelsDynData.html#a1d7405c9aeb529ca1a2bf945edd3d83f":[2,11,45,16], -"classPxVehicleWheelsDynData.html#a21503e1835005be6c0b61b6af54bb4fd":[2,11,45,11], -"classPxVehicleWheelsDynData.html#a2334f46dee346d2f3643cad7836ef4d9":[2,11,45,5], -"classPxVehicleWheelsDynData.html#a24d8342a0d0166c21ae69a1497d54cee":[2,11,45,21], -"classPxVehicleWheelsDynData.html#a25312456167dbd6611450a593444928e":[2,11,45,15], -"classPxVehicleWheelsDynData.html#a350936bdeeba3a463b9fa8336731dfb7":[2,11,45,25], -"classPxVehicleWheelsDynData.html#a384e496b32aa3c624ceed503417f3595":[2,11,45,22], -"classPxVehicleWheelsDynData.html#a44fa9fdfdc5063c2f6240f73b0c615a4":[2,11,45,28], -"classPxVehicleWheelsDynData.html#a471098b8f71edd2aa6826422c245d091":[2,11,45,0], -"classPxVehicleWheelsDynData.html#a4a8a66f7bf5d2aa51df5da6bcdbad91a":[2,11,45,27], -"classPxVehicleWheelsDynData.html#a506628156f9502e0dc6ccc11e3fa75d7":[2,11,45,18], -"classPxVehicleWheelsDynData.html#a5243d9d4a70183f44b248df5b39b05d3":[2,11,45,2], -"classPxVehicleWheelsDynData.html#a5da81b038812e2575103f5e1c50cdc45":[2,11,45,10], -"classPxVehicleWheelsDynData.html#a67be70355c160b83adf8dd1c1ab681f2":[2,11,45,13], -"classPxVehicleWheelsDynData.html#a91a804964365dce971e76bdd55fd081f":[2,11,45,8], -"classPxVehicleWheelsDynData.html#aa3d22099e2026ec2de36c6ddbcb32968":[2,11,45,26], -"classPxVehicleWheelsDynData.html#aa960a335429c764ff7e258a0ec3ab5f0":[2,11,45,23], -"classPxVehicleWheelsDynData.html#ab760ac444b65311796ccf5a3bb3fafff":[2,11,45,17], -"classPxVehicleWheelsDynData.html#ab770b7d25d1a8fee9b2a5ea18d57f345":[2,11,45,24], -"classPxVehicleWheelsDynData.html#abb58c5057bbdc2869045c0a5cbbd5909":[2,11,45,7], -"classPxVehicleWheelsDynData.html#ada0c743a9a3bfffd57b404fa0ec9e4cb":[2,11,45,4], -"classPxVehicleWheelsDynData.html#ae26f98f5ee9ddaf52e26f76f9c7a49f4":[2,11,45,3], -"classPxVehicleWheelsDynData.html#ae417ce1c175c365484f341dd537dc886":[2,11,45,14], -"classPxVehicleWheelsDynData.html#ae519737c26f129dd48ef9c8220dd5d05":[2,11,45,6], -"classPxVehicleWheelsDynData.html#ae55bac4655f522f6298af9e60d79fce9":[2,11,45,29], -"classPxVehicleWheelsDynData.html#ae57961d62d117de317fa4119bd61b791":[2,11,45,30], -"classPxVehicleWheelsDynData.html#aef9282166f0b158d978b7ae8e8c28153":[2,11,45,20], -"classPxVehicleWheelsDynData.html#afa1135338395deba678892c77ff84645":[2,11,45,1], -"classPxVehicleWheelsDynData.html#afa37ff91c3bac364f1a6253c9b4483da":[2,11,45,12], -"classPxVehicleWheelsSimData.html":[2,11,44], -"classPxVehicleWheelsSimData.html#a07988e7e4bfd905ae1dd182ef3a1cab1":[2,11,44,64], -"classPxVehicleWheelsSimData.html#a0fd598dcbca75814aab13fb002cac976":[2,11,44,50], -"classPxVehicleWheelsSimData.html#a10be5273825d2c613d7f9f9a8e22ff0d":[2,11,44,17], -"classPxVehicleWheelsSimData.html#a13bf7c0a8e2765fa34146c7518950329":[2,11,44,56], -"classPxVehicleWheelsSimData.html#a1738a419fc661ff47fc79d063492ef0e":[2,11,44,24], -"classPxVehicleWheelsSimData.html#a22c00f3cbb49c94119b0f667d266904f":[2,11,44,82], -"classPxVehicleWheelsSimData.html#a23042ab1690f423666ffbebaace71aa8":[2,11,44,4], -"classPxVehicleWheelsSimData.html#a2409b5ea91ef5a22dec4c56a324c7167":[2,11,44,34], -"classPxVehicleWheelsSimData.html#a2489420934eb3732e95731fc28d58e81":[2,11,44,5], -"classPxVehicleWheelsSimData.html#a24d8342a0d0166c21ae69a1497d54cee":[2,11,44,65], -"classPxVehicleWheelsSimData.html#a26a1ecd79f2ef72b00adf9e91329bc33":[2,11,44,67], -"classPxVehicleWheelsSimData.html#a26ac23021422b9ed70773bb1976f076c":[2,11,44,62], -"classPxVehicleWheelsSimData.html#a2b6c609e342fd3f9fabc3e064602115b":[2,11,44,10], -"classPxVehicleWheelsSimData.html#a2d919fecb713d371d2624e3b5b37053b":[2,11,44,54], -"classPxVehicleWheelsSimData.html#a334d2264da652089f1aee52fc5f3752f":[2,11,44,22], -"classPxVehicleWheelsSimData.html#a384e496b32aa3c624ceed503417f3595":[2,11,44,66], -"classPxVehicleWheelsSimData.html#a3c0077b65697af336891ab40739e34e4":[2,11,44,43], -"classPxVehicleWheelsSimData.html#a4700e0702407e5c647566d1a7b30ce65":[2,11,44,42], -"classPxVehicleWheelsSimData.html#a4aee60fadd73239cce5a3f65985fc1e1":[2,11,44,71], -"classPxVehicleWheelsSimData.html#a4baf836f5290ad8d479043ebf1b7f5e6":[2,11,44,44], -"classPxVehicleWheelsSimData.html#a4e21be9e2da937a316f856524fe3087d":[2,11,44,70], -"classPxVehicleWheelsSimData.html#a4eb4e2dd1f12fb78783861fc2be928f3":[2,11,44,78], -"classPxVehicleWheelsSimData.html#a4f8f82f553f322455f9e8d826f063739":[2,11,44,38], -"classPxVehicleWheelsSimData.html#a5073af89ff08314d2868b1f3a0cb2869":[2,11,44,81], -"classPxVehicleWheelsSimData.html#a51006ef00623e883ebf74a9a906d6acc":[2,11,44,31], -"classPxVehicleWheelsSimData.html#a59f35c2fb7a3e87adc2c255ab8e3fc83":[2,11,44,20], -"classPxVehicleWheelsSimData.html#a5ca4397542c59008a80186f451ed5b91":[2,11,44,26], -"classPxVehicleWheelsSimData.html#a61fc895f1b2184b93afa279ba776e9db":[2,11,44,16], -"classPxVehicleWheelsSimData.html#a6739c902ff9828abceace89afd02fb81":[2,11,44,2], -"classPxVehicleWheelsSimData.html#a6b0a3e4cfee1def7c49905e193250e50":[2,11,44,57], -"classPxVehicleWheelsSimData.html#a773a632bc6b7cda4c97589a3da1c3076":[2,11,44,23], -"classPxVehicleWheelsSimData.html#a7914e9b4cbf6a5bbfce66d46f601b440":[2,11,44,59], -"classPxVehicleWheelsSimData.html#a7b605042d1ef0fbd4dd84491e058c1cf":[2,11,44,46], -"classPxVehicleWheelsSimData.html#a7baa295b6de37e9b30c12d24a898d67c":[2,11,44,80], -"classPxVehicleWheelsSimData.html#a7ed632e9bfbc93a23c66bf80ee040319":[2,11,44,3], -"classPxVehicleWheelsSimData.html#a7f5a27dafbbf58ad01c0172e03349d24":[2,11,44,61], -"classPxVehicleWheelsSimData.html#a820f29d429dd4ea4a8d780af10483f2f":[2,11,44,25], -"classPxVehicleWheelsSimData.html#a8faa5ac1e9fc745e521224cc3e6750d8":[2,11,44,0], -"classPxVehicleWheelsSimData.html#a91d9abc327014b3ed5dc34dc43804eb3":[2,11,44,75], -"classPxVehicleWheelsSimData.html#a9290088c460b018a8d9f3e083882c0d0":[2,11,44,6], -"classPxVehicleWheelsSimData.html#a940016ddd052f0c763a21fe776fdcc9d":[2,11,44,51], -"classPxVehicleWheelsSimData.html#a958f0894fd6d5e55bf26655f3bc25c04":[2,11,44,74], -"classPxVehicleWheelsSimData.html#a98a6a00a5a2f67d454c2ac2cbe7feaa4":[2,11,44,30], -"classPxVehicleWheelsSimData.html#a98eb5965f7c02a507ae7979cea8b54c0":[2,11,44,8], -"classPxVehicleWheelsSimData.html#a992216152f740f1dec7703fbfeca65ff":[2,11,44,41], -"classPxVehicleWheelsSimData.html#a9ec78f4c70019779141565d9f6198c9a":[2,11,44,76], -"classPxVehicleWheelsSimData.html#a9fbfa747a9ef9fe0cc1deef89a5b1238":[2,11,44,1], -"classPxVehicleWheelsSimData.html#aa378aac14c0f6a17d48be0b884b26a53":[2,11,44,29], -"classPxVehicleWheelsSimData.html#aa3fc3742262302f5a92a0275731261ad":[2,11,44,73], -"classPxVehicleWheelsSimData.html#aa8d627458b6df7e72440ea2c9c948bba":[2,11,44,15], -"classPxVehicleWheelsSimData.html#aa960a335429c764ff7e258a0ec3ab5f0":[2,11,44,68], -"classPxVehicleWheelsSimData.html#aab3d21ee63effbae8e311bb3efac0a8f":[2,11,44,12], -"classPxVehicleWheelsSimData.html#ab1828f78ed0726902a20354e317348d9":[2,11,44,14], -"classPxVehicleWheelsSimData.html#ab35237943ba0d68394e7544a2dc888de":[2,11,44,19], -"classPxVehicleWheelsSimData.html#ab770b7d25d1a8fee9b2a5ea18d57f345":[2,11,44,69], -"classPxVehicleWheelsSimData.html#ab7743d96cc508c0b41a1fbbe86c3d788":[2,11,44,35], -"classPxVehicleWheelsSimData.html#abd94de46451ee51487a62681cc604483":[2,11,44,32], -"classPxVehicleWheelsSimData.html#abe8c9e522970df21292a0e8dfa5e2463":[2,11,44,52], -"classPxVehicleWheelsSimData.html#ac022268fa66b80edb6bb9b078923ba99":[2,11,44,48], -"classPxVehicleWheelsSimData.html#ac1943de7f8ac21f0193b2151a81087fe":[2,11,44,72], -"classPxVehicleWheelsSimData.html#ac5226abc3e3077ece39a855cca5ae31c":[2,11,44,39], -"classPxVehicleWheelsSimData.html#ac9ab652fed581f0351acb66a769935e2":[2,11,44,45], -"classPxVehicleWheelsSimData.html#ac9bac9ed3b593410b1dbe391a90f4f6f":[2,11,44,40], -"classPxVehicleWheelsSimData.html#acbbac4e2b9c31e2955957b5868bd6e8b":[2,11,44,36], -"classPxVehicleWheelsSimData.html#acbe6956ae50dfadcd9264ed9830da207":[2,11,44,53] +"classPxVehicleWheels.html":[2,11,47], +"classPxVehicleWheels.html#a004cc21345154aaa683515025c401541":[2,11,47,9], +"classPxVehicleWheels.html#a01b68575305d97f6e6dc9d6b1fb5b3dd":[2,11,47,7], +"classPxVehicleWheels.html#a07c073158a6df39214f655f59d130b69":[2,11,47,19], +"classPxVehicleWheels.html#a0a75ee48309f1052d10acdc9b727ab06":[2,11,47,1], +"classPxVehicleWheels.html#a207673f21e572fc17e5117eb305e2544":[2,11,47,30], +"classPxVehicleWheels.html#a23d22869010243ec8bf51405f25c5db4":[2,11,47,2], +"classPxVehicleWheels.html#a2e68cea9916f8cee1a9a46324e4d3a6c":[2,11,47,12], +"classPxVehicleWheels.html#a38ad927170326e69d65ab571e5fa18f5":[2,11,47,14], +"classPxVehicleWheels.html#a38cf9474ad2c23ba3c21766fac251339":[2,11,47,24], +"classPxVehicleWheels.html#a4244d3285814fff95e2917684eb08be7":[2,11,47,26], +"classPxVehicleWheels.html#a47f6215d5555890bef75e38668596522":[2,11,47,21], +"classPxVehicleWheels.html#a60b139fb8ffd58bb50bd1ec7c8812779":[2,11,47,4], +"classPxVehicleWheels.html#a631f380f7e677ff0247c9dd14a3f6a49":[2,11,47,17], +"classPxVehicleWheels.html#a67267b846436dbee2998271a5ec84a47":[2,11,47,8], +"classPxVehicleWheels.html#a6c7b7db6738f532cdbc4a44189170a81":[2,11,47,31], +"classPxVehicleWheels.html#a6f4df7db37ceba78c08e8925c7486b04":[2,11,47,3], +"classPxVehicleWheels.html#a7b10e53f92ba4331726d49ac9a0ddd06":[2,11,47,5], +"classPxVehicleWheels.html#a90fa0b0583e88a91908dbde05305df59":[2,11,47,6], +"classPxVehicleWheels.html#aa701e6924049bdd9339780c54eafcfe2":[2,11,47,32], +"classPxVehicleWheels.html#aa960a335429c764ff7e258a0ec3ab5f0":[2,11,47,27], +"classPxVehicleWheels.html#abd3c415e538022f66f00dd926208f2f1":[2,11,47,34], +"classPxVehicleWheels.html#ac7de8bfda7bfd8a5c34c85a4c4ac4755":[2,11,47,15], +"classPxVehicleWheels.html#acd4867df3d9093a8cdc6ced460e8b8b5":[2,11,47,29], +"classPxVehicleWheels.html#ad6041f92998a2be40cbb353b5d49fb92":[2,11,47,23], +"classPxVehicleWheels.html#adc99081a2fda9195f484e57f715c41d2":[2,11,47,33], +"classPxVehicleWheels.html#add82906e8c19fcc1b24fda52140a58d9":[2,11,47,11], +"classPxVehicleWheels.html#ade10ab7878d43baf638af72cc05f252e":[2,11,47,28], +"classPxVehicleWheels.html#ae58ab064534a9b0256665c60ed8e63d2":[2,11,47,22], +"classPxVehicleWheels.html#ae6eca099bb7019976fd619338dcbf0c3":[2,11,47,18], +"classPxVehicleWheels.html#aea16869e1b115f04bb8560303e11afc9":[2,11,47,10], +"classPxVehicleWheels.html#aec83ecde4a8c2a38a8f4be88b973160a":[2,11,47,20], +"classPxVehicleWheels.html#aed5b450123f32286b847b52dbb961a5c":[2,11,47,25], +"classPxVehicleWheels.html#af39a1f7db04260778f9fe71a87475516":[2,11,47,13], +"classPxVehicleWheels.html#af89137887231400e356bc4d2b33052f2":[2,11,47,16], +"classPxVehicleWheels.html#afb89c7e2d53b98c310d59443213fff80":[2,11,47,0], +"classPxVehicleWheelsDynData.html":[2,11,46], +"classPxVehicleWheelsDynData.html#a048852910ba403c562d0589f501fe03d":[2,11,46,9], +"classPxVehicleWheelsDynData.html#a129ab9f993d414c469f002314307dd7e":[2,11,46,19], +"classPxVehicleWheelsDynData.html#a1d7405c9aeb529ca1a2bf945edd3d83f":[2,11,46,16], +"classPxVehicleWheelsDynData.html#a21503e1835005be6c0b61b6af54bb4fd":[2,11,46,11], +"classPxVehicleWheelsDynData.html#a2334f46dee346d2f3643cad7836ef4d9":[2,11,46,5], +"classPxVehicleWheelsDynData.html#a24d8342a0d0166c21ae69a1497d54cee":[2,11,46,21], +"classPxVehicleWheelsDynData.html#a25312456167dbd6611450a593444928e":[2,11,46,15], +"classPxVehicleWheelsDynData.html#a350936bdeeba3a463b9fa8336731dfb7":[2,11,46,25], +"classPxVehicleWheelsDynData.html#a384e496b32aa3c624ceed503417f3595":[2,11,46,22], +"classPxVehicleWheelsDynData.html#a44fa9fdfdc5063c2f6240f73b0c615a4":[2,11,46,28], +"classPxVehicleWheelsDynData.html#a471098b8f71edd2aa6826422c245d091":[2,11,46,0], +"classPxVehicleWheelsDynData.html#a4a8a66f7bf5d2aa51df5da6bcdbad91a":[2,11,46,27], +"classPxVehicleWheelsDynData.html#a506628156f9502e0dc6ccc11e3fa75d7":[2,11,46,18], +"classPxVehicleWheelsDynData.html#a5243d9d4a70183f44b248df5b39b05d3":[2,11,46,2], +"classPxVehicleWheelsDynData.html#a5da81b038812e2575103f5e1c50cdc45":[2,11,46,10], +"classPxVehicleWheelsDynData.html#a67be70355c160b83adf8dd1c1ab681f2":[2,11,46,13], +"classPxVehicleWheelsDynData.html#a91a804964365dce971e76bdd55fd081f":[2,11,46,8], +"classPxVehicleWheelsDynData.html#aa3d22099e2026ec2de36c6ddbcb32968":[2,11,46,26], +"classPxVehicleWheelsDynData.html#aa960a335429c764ff7e258a0ec3ab5f0":[2,11,46,23], +"classPxVehicleWheelsDynData.html#ab760ac444b65311796ccf5a3bb3fafff":[2,11,46,17], +"classPxVehicleWheelsDynData.html#ab770b7d25d1a8fee9b2a5ea18d57f345":[2,11,46,24], +"classPxVehicleWheelsDynData.html#abb58c5057bbdc2869045c0a5cbbd5909":[2,11,46,7], +"classPxVehicleWheelsDynData.html#ada0c743a9a3bfffd57b404fa0ec9e4cb":[2,11,46,4], +"classPxVehicleWheelsDynData.html#ae26f98f5ee9ddaf52e26f76f9c7a49f4":[2,11,46,3], +"classPxVehicleWheelsDynData.html#ae417ce1c175c365484f341dd537dc886":[2,11,46,14], +"classPxVehicleWheelsDynData.html#ae519737c26f129dd48ef9c8220dd5d05":[2,11,46,6], +"classPxVehicleWheelsDynData.html#ae55bac4655f522f6298af9e60d79fce9":[2,11,46,29], +"classPxVehicleWheelsDynData.html#ae57961d62d117de317fa4119bd61b791":[2,11,46,30], +"classPxVehicleWheelsDynData.html#aef9282166f0b158d978b7ae8e8c28153":[2,11,46,20], +"classPxVehicleWheelsDynData.html#afa1135338395deba678892c77ff84645":[2,11,46,1], +"classPxVehicleWheelsDynData.html#afa37ff91c3bac364f1a6253c9b4483da":[2,11,46,12], +"classPxVehicleWheelsSimData.html":[2,11,45], +"classPxVehicleWheelsSimData.html#a07988e7e4bfd905ae1dd182ef3a1cab1":[2,11,45,66], +"classPxVehicleWheelsSimData.html#a0fd598dcbca75814aab13fb002cac976":[2,11,45,52], +"classPxVehicleWheelsSimData.html#a10be5273825d2c613d7f9f9a8e22ff0d":[2,11,45,18], +"classPxVehicleWheelsSimData.html#a13bf7c0a8e2765fa34146c7518950329":[2,11,45,58], +"classPxVehicleWheelsSimData.html#a1738a419fc661ff47fc79d063492ef0e":[2,11,45,25], +"classPxVehicleWheelsSimData.html#a22c00f3cbb49c94119b0f667d266904f":[2,11,45,84], +"classPxVehicleWheelsSimData.html#a23042ab1690f423666ffbebaace71aa8":[2,11,45,4], +"classPxVehicleWheelsSimData.html#a2409b5ea91ef5a22dec4c56a324c7167":[2,11,45,35], +"classPxVehicleWheelsSimData.html#a2489420934eb3732e95731fc28d58e81":[2,11,45,5], +"classPxVehicleWheelsSimData.html#a24d8342a0d0166c21ae69a1497d54cee":[2,11,45,67], +"classPxVehicleWheelsSimData.html#a26a1ecd79f2ef72b00adf9e91329bc33":[2,11,45,69], +"classPxVehicleWheelsSimData.html#a26ac23021422b9ed70773bb1976f076c":[2,11,45,64], +"classPxVehicleWheelsSimData.html#a2b6c609e342fd3f9fabc3e064602115b":[2,11,45,10], +"classPxVehicleWheelsSimData.html#a2d919fecb713d371d2624e3b5b37053b":[2,11,45,56], +"classPxVehicleWheelsSimData.html#a334d2264da652089f1aee52fc5f3752f":[2,11,45,23], +"classPxVehicleWheelsSimData.html#a3720f1b1894f707381a5a54e61996d7d":[2,11,45,50], +"classPxVehicleWheelsSimData.html#a384e496b32aa3c624ceed503417f3595":[2,11,45,68], +"classPxVehicleWheelsSimData.html#a3c0077b65697af336891ab40739e34e4":[2,11,45,44], +"classPxVehicleWheelsSimData.html#a4700e0702407e5c647566d1a7b30ce65":[2,11,45,43], +"classPxVehicleWheelsSimData.html#a4aee60fadd73239cce5a3f65985fc1e1":[2,11,45,73], +"classPxVehicleWheelsSimData.html#a4baf836f5290ad8d479043ebf1b7f5e6":[2,11,45,45], +"classPxVehicleWheelsSimData.html#a4e21be9e2da937a316f856524fe3087d":[2,11,45,72], +"classPxVehicleWheelsSimData.html#a4eb4e2dd1f12fb78783861fc2be928f3":[2,11,45,81], +"classPxVehicleWheelsSimData.html#a4f8f82f553f322455f9e8d826f063739":[2,11,45,39], +"classPxVehicleWheelsSimData.html#a5073af89ff08314d2868b1f3a0cb2869":[2,11,45,83], +"classPxVehicleWheelsSimData.html#a51006ef00623e883ebf74a9a906d6acc":[2,11,45,32], +"classPxVehicleWheelsSimData.html#a52131b5c5288c9eeea1d3c647d4c079f":[2,11,45,13], +"classPxVehicleWheelsSimData.html#a59f35c2fb7a3e87adc2c255ab8e3fc83":[2,11,45,21], +"classPxVehicleWheelsSimData.html#a5ca4397542c59008a80186f451ed5b91":[2,11,45,27], +"classPxVehicleWheelsSimData.html#a61fc895f1b2184b93afa279ba776e9db":[2,11,45,17], +"classPxVehicleWheelsSimData.html#a6739c902ff9828abceace89afd02fb81":[2,11,45,2], +"classPxVehicleWheelsSimData.html#a6b0a3e4cfee1def7c49905e193250e50":[2,11,45,59], +"classPxVehicleWheelsSimData.html#a773a632bc6b7cda4c97589a3da1c3076":[2,11,45,24], +"classPxVehicleWheelsSimData.html#a7914e9b4cbf6a5bbfce66d46f601b440":[2,11,45,61], +"classPxVehicleWheelsSimData.html#a7b605042d1ef0fbd4dd84491e058c1cf":[2,11,45,47], +"classPxVehicleWheelsSimData.html#a7ed632e9bfbc93a23c66bf80ee040319":[2,11,45,3], +"classPxVehicleWheelsSimData.html#a7f5a27dafbbf58ad01c0172e03349d24":[2,11,45,63], +"classPxVehicleWheelsSimData.html#a820f29d429dd4ea4a8d780af10483f2f":[2,11,45,26], +"classPxVehicleWheelsSimData.html#a8faa5ac1e9fc745e521224cc3e6750d8":[2,11,45,0], +"classPxVehicleWheelsSimData.html#a91d9abc327014b3ed5dc34dc43804eb3":[2,11,45,78], +"classPxVehicleWheelsSimData.html#a9290088c460b018a8d9f3e083882c0d0":[2,11,45,6], +"classPxVehicleWheelsSimData.html#a940016ddd052f0c763a21fe776fdcc9d":[2,11,45,53], +"classPxVehicleWheelsSimData.html#a958f0894fd6d5e55bf26655f3bc25c04":[2,11,45,77], +"classPxVehicleWheelsSimData.html#a98a6a00a5a2f67d454c2ac2cbe7feaa4":[2,11,45,31], +"classPxVehicleWheelsSimData.html#a98eb5965f7c02a507ae7979cea8b54c0":[2,11,45,8], +"classPxVehicleWheelsSimData.html#a992216152f740f1dec7703fbfeca65ff":[2,11,45,42], +"classPxVehicleWheelsSimData.html#a9ec78f4c70019779141565d9f6198c9a":[2,11,45,79], +"classPxVehicleWheelsSimData.html#a9fbfa747a9ef9fe0cc1deef89a5b1238":[2,11,45,1], +"classPxVehicleWheelsSimData.html#aa378aac14c0f6a17d48be0b884b26a53":[2,11,45,30], +"classPxVehicleWheelsSimData.html#aa3fc3742262302f5a92a0275731261ad":[2,11,45,76], +"classPxVehicleWheelsSimData.html#aa8d627458b6df7e72440ea2c9c948bba":[2,11,45,16], +"classPxVehicleWheelsSimData.html#aa960a335429c764ff7e258a0ec3ab5f0":[2,11,45,70], +"classPxVehicleWheelsSimData.html#aab3d21ee63effbae8e311bb3efac0a8f":[2,11,45,12], +"classPxVehicleWheelsSimData.html#ab1828f78ed0726902a20354e317348d9":[2,11,45,15], +"classPxVehicleWheelsSimData.html#ab35237943ba0d68394e7544a2dc888de":[2,11,45,20], +"classPxVehicleWheelsSimData.html#ab770b7d25d1a8fee9b2a5ea18d57f345":[2,11,45,71] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex13.js b/physx/documentation/PhysXAPI/files/navtreeindex13.js index 37a70f6f2..b5ce2ea57 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex13.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex13.js @@ -1,23 +1,34 @@ var NAVTREEINDEX13 = { -"classPxVehicleWheelsSimData.html#acd51a38c9e5cf37b1c0b5feed7b03c04":[2,11,44,55], -"classPxVehicleWheelsSimData.html#acefb8071acd7ce982e2eeee33ef758da":[2,11,44,7], -"classPxVehicleWheelsSimData.html#acfc01818dd853e393bf3d9ea4370441c":[2,11,44,58], -"classPxVehicleWheelsSimData.html#ad196c5b249c937b0ff7ccc433dee4dc4":[2,11,44,13], -"classPxVehicleWheelsSimData.html#ad5cb341302c204f328a58f2113c31fed":[2,11,44,21], -"classPxVehicleWheelsSimData.html#ad75716f56aae4e7ae434abd7420434cd":[2,11,44,9], -"classPxVehicleWheelsSimData.html#ad959b05b234cf8b132d3e0a62072641a":[2,11,44,49], -"classPxVehicleWheelsSimData.html#ade28e7cf0fbb267d3ca0b6abd151e601":[2,11,44,63], -"classPxVehicleWheelsSimData.html#ade69627cc54ddb6a56ab5e14971a22ed":[2,11,44,28], -"classPxVehicleWheelsSimData.html#ae209ce971a467d8f6c9f86556349144d":[2,11,44,37], -"classPxVehicleWheelsSimData.html#ae5d788a82f175c1fc87aef048ec9d8e7":[2,11,44,33], -"classPxVehicleWheelsSimData.html#ae8706a8f39a630ba469414fb814fe206":[2,11,44,47], -"classPxVehicleWheelsSimData.html#af0b5eb7ae77c271ce3ba1604c8dad3b3":[2,11,44,60], -"classPxVehicleWheelsSimData.html#af31f49462209d747396a90b4742936dc":[2,11,44,27], -"classPxVehicleWheelsSimData.html#af7cd42c61e92b3f0ca987d98821ff8e0":[2,11,44,77], -"classPxVehicleWheelsSimData.html#afeee9512e87ac26805d9bd73f267469c":[2,11,44,18], -"classPxVehicleWheelsSimData.html#aff3bd1bcc605c0027c60d8c67d3192b6":[2,11,44,79], -"classPxVehicleWheelsSimData.html#aff980eb99861f377bbf46c069ab00e49":[2,11,44,11], +"classPxVehicleWheelsSimData.html#ab7743d96cc508c0b41a1fbbe86c3d788":[2,11,45,36], +"classPxVehicleWheelsSimData.html#abd94de46451ee51487a62681cc604483":[2,11,45,33], +"classPxVehicleWheelsSimData.html#abe8c9e522970df21292a0e8dfa5e2463":[2,11,45,54], +"classPxVehicleWheelsSimData.html#ac022268fa66b80edb6bb9b078923ba99":[2,11,45,49], +"classPxVehicleWheelsSimData.html#ac1943de7f8ac21f0193b2151a81087fe":[2,11,45,75], +"classPxVehicleWheelsSimData.html#ac19a8182d65219347b5310b6b40b0f34":[2,11,45,74], +"classPxVehicleWheelsSimData.html#ac5226abc3e3077ece39a855cca5ae31c":[2,11,45,40], +"classPxVehicleWheelsSimData.html#ac9ab652fed581f0351acb66a769935e2":[2,11,45,46], +"classPxVehicleWheelsSimData.html#ac9bac9ed3b593410b1dbe391a90f4f6f":[2,11,45,41], +"classPxVehicleWheelsSimData.html#acbbac4e2b9c31e2955957b5868bd6e8b":[2,11,45,37], +"classPxVehicleWheelsSimData.html#acbe6956ae50dfadcd9264ed9830da207":[2,11,45,55], +"classPxVehicleWheelsSimData.html#acd51a38c9e5cf37b1c0b5feed7b03c04":[2,11,45,57], +"classPxVehicleWheelsSimData.html#acefb8071acd7ce982e2eeee33ef758da":[2,11,45,7], +"classPxVehicleWheelsSimData.html#acfc01818dd853e393bf3d9ea4370441c":[2,11,45,60], +"classPxVehicleWheelsSimData.html#ad196c5b249c937b0ff7ccc433dee4dc4":[2,11,45,14], +"classPxVehicleWheelsSimData.html#ad5cb341302c204f328a58f2113c31fed":[2,11,45,22], +"classPxVehicleWheelsSimData.html#ad75716f56aae4e7ae434abd7420434cd":[2,11,45,9], +"classPxVehicleWheelsSimData.html#ad959b05b234cf8b132d3e0a62072641a":[2,11,45,51], +"classPxVehicleWheelsSimData.html#ade28e7cf0fbb267d3ca0b6abd151e601":[2,11,45,65], +"classPxVehicleWheelsSimData.html#ade69627cc54ddb6a56ab5e14971a22ed":[2,11,45,29], +"classPxVehicleWheelsSimData.html#ae209ce971a467d8f6c9f86556349144d":[2,11,45,38], +"classPxVehicleWheelsSimData.html#ae5d788a82f175c1fc87aef048ec9d8e7":[2,11,45,34], +"classPxVehicleWheelsSimData.html#ae8706a8f39a630ba469414fb814fe206":[2,11,45,48], +"classPxVehicleWheelsSimData.html#af0b5eb7ae77c271ce3ba1604c8dad3b3":[2,11,45,62], +"classPxVehicleWheelsSimData.html#af31f49462209d747396a90b4742936dc":[2,11,45,28], +"classPxVehicleWheelsSimData.html#af7cd42c61e92b3f0ca987d98821ff8e0":[2,11,45,80], +"classPxVehicleWheelsSimData.html#afeee9512e87ac26805d9bd73f267469c":[2,11,45,19], +"classPxVehicleWheelsSimData.html#aff3bd1bcc605c0027c60d8c67d3192b6":[2,11,45,82], +"classPxVehicleWheelsSimData.html#aff980eb99861f377bbf46c069ab00e49":[2,11,45,11], "classRaycastCCDManager.html":[2,3,37], "classRaycastCCDManager.html#a3c40ad39e6542dc894c029e5926d8d38":[2,3,37,1], "classRaycastCCDManager.html#a6023b5afa45982aa31f9310ca649bab2":[2,3,37,2], @@ -120,8 +131,8 @@ var NAVTREEINDEX13 = "functions_d.html":[3,3,0,4], "functions_e.html":[3,3,0,5], "functions_enum.html":[3,3,4], -"functions_eval.html":[3,3,5,0], "functions_eval.html":[3,3,5], +"functions_eval.html":[3,3,5,0], "functions_eval_e.html":[3,3,5,1], "functions_eval_o.html":[3,3,5,2], "functions_eval_p.html":[3,3,5,3], @@ -130,8 +141,8 @@ var NAVTREEINDEX13 = "functions_eval_t.html":[3,3,5,6], "functions_eval_u.html":[3,3,5,7], "functions_f.html":[3,3,0,6], -"functions_func.html":[3,3,1], "functions_func.html":[3,3,1,0], +"functions_func.html":[3,3,1], "functions_func_0x7e.html":[3,3,1,21], "functions_func_b.html":[3,3,1,1], "functions_func_c.html":[3,3,1,2], @@ -214,8 +225,8 @@ var NAVTREEINDEX13 = "globals_enum.html":[4,1,4], "globals_eval.html":[4,1,5], "globals_f.html":[4,1,0,6], -"globals_func.html":[4,1,1,0], "globals_func.html":[4,1,1], +"globals_func.html":[4,1,1,0], "globals_func_b.html":[4,1,1,1], "globals_func_c.html":[4,1,1,2], "globals_func_f.html":[4,1,1,3], @@ -238,16 +249,5 @@ var NAVTREEINDEX13 = "globals_p.html":[4,1,0,14], "globals_r.html":[4,1,0,15], "globals_s.html":[4,1,0,16], -"globals_t.html":[4,1,0,17], -"globals_type.html":[4,1,3], -"globals_u.html":[4,1,0,18], -"globals_v.html":[4,1,0,19], -"globals_vars.html":[4,1,2], -"group__Serializers.html":[2,6], -"group__Serializers.html#ga52eaefd69a4f9833a09892780b797a8c":[4,0,123,3], -"group__Serializers.html#ga52eaefd69a4f9833a09892780b797a8c":[2,6,4], -"group__Serializers.html#ga58cfb644e0a72e0f2be6624397735411":[4,0,123,0], -"group__Serializers.html#ga58cfb644e0a72e0f2be6624397735411":[2,6,1], -"group__Serializers.html#ga6018c37f238db16a878cfcba49091c4a":[4,0,123,1], -"group__Serializers.html#ga6018c37f238db16a878cfcba49091c4a":[2,6,2] +"globals_t.html":[4,1,0,17] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex14.js b/physx/documentation/PhysXAPI/files/navtreeindex14.js index b0ae0d083..c6a8f48a3 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex14.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex14.js @@ -1,5 +1,16 @@ var NAVTREEINDEX14 = { +"globals_type.html":[4,1,3], +"globals_u.html":[4,1,0,18], +"globals_v.html":[4,1,0,19], +"globals_vars.html":[4,1,2], +"group__Serializers.html":[2,6], +"group__Serializers.html#ga52eaefd69a4f9833a09892780b797a8c":[4,0,123,3], +"group__Serializers.html#ga52eaefd69a4f9833a09892780b797a8c":[2,6,4], +"group__Serializers.html#ga58cfb644e0a72e0f2be6624397735411":[4,0,123,0], +"group__Serializers.html#ga58cfb644e0a72e0f2be6624397735411":[2,6,1], +"group__Serializers.html#ga6018c37f238db16a878cfcba49091c4a":[4,0,123,1], +"group__Serializers.html#ga6018c37f238db16a878cfcba49091c4a":[2,6,2], "group__Serializers.html#gaa245288765787cf190f85fd720e81851":[4,0,123,4], "group__Serializers.html#gaa245288765787cf190f85fd720e81851":[2,6,5], "group__Serializers.html#gaf191e298bb6922cf8a727058a7980552":[4,0,123,2], @@ -11,14 +22,14 @@ var NAVTREEINDEX14 = "group__character.html#ga05750d6d68cb164b2de6c80e93ca29d1":[4,0,65,4], "group__character.html#ga08c251badc674d74a5f9abb07ae5ad8f":[2,0,37], "group__character.html#ga08c251badc674d74a5f9abb07ae5ad8f":[2,0,0,3], -"group__character.html#ga10a3f936afc539f09d7a4f1c8ec53b8f":[2,0,28], "group__character.html#ga10a3f936afc539f09d7a4f1c8ec53b8f":[4,0,44,0], +"group__character.html#ga10a3f936afc539f09d7a4f1c8ec53b8f":[2,0,28], "group__character.html#ga2404e3aa455180820b7fa4900d75f18e":[2,0,35], "group__character.html#ga2404e3aa455180820b7fa4900d75f18e":[4,0,43,0], "group__character.html#ga3144636d9207dbed885c9579898987a5":[2,0,51], "group__character.html#ga3144636d9207dbed885c9579898987a5":[2,0,17,2], -"group__character.html#ga3cb7e2aaf5144c3ed9bbf504c2fd66db":[4,0,41,0], "group__character.html#ga3cb7e2aaf5144c3ed9bbf504c2fd66db":[2,0,34], +"group__character.html#ga3cb7e2aaf5144c3ed9bbf504c2fd66db":[4,0,41,0], "group__character.html#ga48c1aa8996f7a4686f65cf517fb466e5":[2,0,54], "group__character.html#ga48c1aa8996f7a4686f65cf517fb466e5":[2,0,3,6], "group__character.html#ga55edbbb581808808c8e160e9608d8790":[2,0,32], @@ -27,22 +38,22 @@ var NAVTREEINDEX14 = "group__character.html#ga5d8e29dacee8a0a6543029435c0d5dc6":[2,0,0,0], "group__character.html#ga749a16c7bcdb8341d346abe43c023c12":[2,0,50], "group__character.html#ga749a16c7bcdb8341d346abe43c023c12":[2,0,17,0], -"group__character.html#ga81a73ed06438569e730320f322376ae8":[2,0,44], "group__character.html#ga81a73ed06438569e730320f322376ae8":[2,0,3,5], +"group__character.html#ga81a73ed06438569e730320f322376ae8":[2,0,44], "group__character.html#ga95e4b49e470d870c151c3d727a273676":[2,0,43], "group__character.html#ga95e4b49e470d870c151c3d727a273676":[2,0,0,5], "group__character.html#ga9a157f74e3a2d7c0756bd527ca69d387":[2,0,3,0], "group__character.html#ga9a157f74e3a2d7c0756bd527ca69d387":[2,0,48], -"group__character.html#ga9ce06700290a75cfdb13559384e894f4":[4,0,65,0], "group__character.html#ga9ce06700290a75cfdb13559384e894f4":[2,0,29], +"group__character.html#ga9ce06700290a75cfdb13559384e894f4":[4,0,65,0], "group__character.html#gab0c940a0ad16419cb3800692ac9bffca":[2,0,31], "group__character.html#gab0c940a0ad16419cb3800692ac9bffca":[4,0,65,2], "group__character.html#gaba18675c9d68b07156230f66518b6a37":[2,0,30], "group__character.html#gaba18675c9d68b07156230f66518b6a37":[4,0,65,1], "group__character.html#gabffa036f72e7a2309b3393bb50486724":[2,0,52], "group__character.html#gabffa036f72e7a2309b3393bb50486724":[4,0,43,1], -"group__character.html#gac144ba4b6246608d7f31ec3a5c2be96d":[2,0,3,4], "group__character.html#gac144ba4b6246608d7f31ec3a5c2be96d":[2,0,41], +"group__character.html#gac144ba4b6246608d7f31ec3a5c2be96d":[2,0,3,4], "group__character.html#gac1aba7d97780ef07724bbb1ec1a7514c":[2,0,47], "group__character.html#gac1aba7d97780ef07724bbb1ec1a7514c":[2,0,0,2], "group__character.html#gac5087dc1e8dfbeb8c8172d229ed53f3e":[2,0,40], @@ -55,17 +66,17 @@ var NAVTREEINDEX14 = "group__character.html#gae237ed6fc1c29cdf83cda84e7e0c8b39":[2,0,17,6], "group__character.html#gae271bb573608662d4ac54edc1f2c54a6":[2,0,42], "group__character.html#gae271bb573608662d4ac54edc1f2c54a6":[2,0,17,5], -"group__character.html#gaeea81704d1af3dec82b411b53d39b7e0":[2,0,17,1], "group__character.html#gaeea81704d1af3dec82b411b53d39b7e0":[2,0,56], -"group__character.html#gaf2f271a2e1d38f619d345bd89f737412":[2,0,0,6], +"group__character.html#gaeea81704d1af3dec82b411b53d39b7e0":[2,0,17,1], "group__character.html#gaf2f271a2e1d38f619d345bd89f737412":[2,0,53], +"group__character.html#gaf2f271a2e1d38f619d345bd89f737412":[2,0,0,6], "group__character.html#gaf9c49d2828ce1a5d48d828145a67ae14":[2,0,39], "group__character.html#gaf9c49d2828ce1a5d48d828145a67ae14":[2,0,17,3], "group__character.html#gafbd2fb84a13cdeb156b671e895d165b9":[2,0,36], "group__character.html#gafbd2fb84a13cdeb156b671e895d165b9":[4,0,65,3], "group__common.html":[2,1], -"group__common.html#ga091cebe75e114b79165f382dffe878c8":[2,1,43], "group__common.html#ga091cebe75e114b79165f382dffe878c8":[2,1,19,1], +"group__common.html#ga091cebe75e114b79165f382dffe878c8":[2,1,43], "group__common.html#ga19403877bf7ce42d7240e4e4c758c016":[2,1,40], "group__common.html#ga19403877bf7ce42d7240e4e4c758c016":[4,0,106,4], "group__common.html#ga1e3721588799f5fbb18d76e4aab7d018":[4,0,14,0], @@ -84,39 +95,39 @@ var NAVTREEINDEX14 = "group__common.html#ga8ca0e9fc5693e347b3ee5735fc637fc2":[2,1,31], "group__common.html#ga8cd51251f2e11c3b6598b96f32e400f8":[2,1,35], "group__common.html#ga8cd51251f2e11c3b6598b96f32e400f8":[4,0,136,6], -"group__common.html#ga922d48697d998518e12a16e589f0c75a":[2,1,25], "group__common.html#ga922d48697d998518e12a16e589f0c75a":[4,0,164,0], +"group__common.html#ga922d48697d998518e12a16e589f0c75a":[2,1,25], "group__common.html#ga9e6be7ab72eead617e6e0d7a6dc7c19b":[2,1,37], "group__common.html#ga9e6be7ab72eead617e6e0d7a6dc7c19b":[4,0,136,7], "group__common.html#gaa3979f24ebe59e173e262c7155b1a489":[2,1,44], "group__common.html#gaa3979f24ebe59e173e262c7155b1a489":[4,0,32,0], -"group__common.html#gaa59252c69aa987bd926da9bbf5092367":[2,1,34], "group__common.html#gaa59252c69aa987bd926da9bbf5092367":[4,0,136,5], +"group__common.html#gaa59252c69aa987bd926da9bbf5092367":[2,1,34], "group__common.html#gab2ccfb663643cd2d66b59908189d88cd":[4,0,136,8], "group__common.html#gab2ccfb663643cd2d66b59908189d88cd":[2,1,39], -"group__common.html#gabbba9e3f699e63445326263daec187e8":[4,0,136,0], "group__common.html#gabbba9e3f699e63445326263daec187e8":[2,1,26], +"group__common.html#gabbba9e3f699e63445326263daec187e8":[4,0,136,0], "group__common.html#gabe7c1438b281afb1d13fdc127cc84e68":[2,1,29], "group__common.html#gabe7c1438b281afb1d13fdc127cc84e68":[4,0,106,2], -"group__common.html#gac1fb4b256a5d900d394e89db170a2b79":[2,1,42], +"group__common.html#gac1fb4b256a5d900d394e89db170a2b79":[2,1,41], "group__common.html#gac1fb4b256a5d900d394e89db170a2b79":[4,0,14,1], "group__common.html#gac1fb4b256a5d900d394e89db170a2b79":[4,0,136,9], -"group__common.html#gac1fb4b256a5d900d394e89db170a2b79":[2,1,41], -"group__common.html#gac816bc62a68a52f01bf21f963295e822":[2,1,38], +"group__common.html#gac1fb4b256a5d900d394e89db170a2b79":[2,1,42], "group__common.html#gac816bc62a68a52f01bf21f963295e822":[4,0,106,3], -"group__common.html#gade7a77d4ae9d14e363364a9d72cf4932":[4,0,94,0], +"group__common.html#gac816bc62a68a52f01bf21f963295e822":[2,1,38], "group__common.html#gade7a77d4ae9d14e363364a9d72cf4932":[2,1,45], -"group__common.html#gaeeccb7f7eed92f30cbbece3c45d2f5dd":[2,1,46], +"group__common.html#gade7a77d4ae9d14e363364a9d72cf4932":[4,0,94,0], "group__common.html#gaeeccb7f7eed92f30cbbece3c45d2f5dd":[4,0,94,1], -"group__common.html#gaf2bc9f0c0e1ee44a548900a13bb1136c":[2,1,47], +"group__common.html#gaeeccb7f7eed92f30cbbece3c45d2f5dd":[2,1,46], "group__common.html#gaf2bc9f0c0e1ee44a548900a13bb1136c":[2,1,19,0], +"group__common.html#gaf2bc9f0c0e1ee44a548900a13bb1136c":[2,1,47], "group__cooking.html":[2,5], "group__cooking.html#ga0a0051ee56690c138fac87d780cca9b4":[4,0,49,0], "group__cooking.html#ga0a0051ee56690c138fac87d780cca9b4":[2,5,15], "group__cooking.html#ga15d3050ac143dfb67ad43a8682c7b569":[2,5,13,0], "group__cooking.html#ga15d3050ac143dfb67ad43a8682c7b569":[2,5,22], -"group__cooking.html#ga24e3eb40c6f7fbaa1b0435ee158e9f89":[2,5,3,0], "group__cooking.html#ga24e3eb40c6f7fbaa1b0435ee158e9f89":[2,5,19], +"group__cooking.html#ga24e3eb40c6f7fbaa1b0435ee158e9f89":[2,5,3,0], "group__cooking.html#ga2b98217f34d8856ebe839821740ac438":[2,5,5,0], "group__cooking.html#ga2b98217f34d8856ebe839821740ac438":[2,5,20], "group__cooking.html#ga36d3375ae49e62c3842c3fbe0c620651":[2,5,14], @@ -127,8 +138,8 @@ var NAVTREEINDEX14 = "group__cooking.html#ga6155ac1dfe72113670b79dbf363b21d2":[2,5,18], "group__cooking.html#ga6e86954b2426aae207489af9928d45e3":[2,5,5,2], "group__cooking.html#ga6e86954b2426aae207489af9928d45e3":[2,5,25], -"group__cooking.html#ga877aace5973d7a9602b069382b87f0c8":[2,5,3,1], "group__cooking.html#ga877aace5973d7a9602b069382b87f0c8":[2,5,16], +"group__cooking.html#ga877aace5973d7a9602b069382b87f0c8":[2,5,3,1], "group__cooking.html#ga8ff38f38a6e31520f8007755b1cb26fe":[2,5,3,2], "group__cooking.html#ga8ff38f38a6e31520f8007755b1cb26fe":[2,5,23], "group__cooking.html#gaf772f72cf46b9a2326d4562f7cae620b":[2,5,21], @@ -138,8 +149,8 @@ var NAVTREEINDEX14 = "group__extensions.html":[2,3], "group__extensions.html#ga02d8221452498576e374288ef10b8dc9":[2,3,111], "group__extensions.html#ga02d8221452498576e374288ef10b8dc9":[4,0,150,1], -"group__extensions.html#ga064759e7f7a48b93670218bb400355e8":[4,0,125,0], "group__extensions.html#ga064759e7f7a48b93670218bb400355e8":[2,3,57], +"group__extensions.html#ga064759e7f7a48b93670218bb400355e8":[4,0,125,0], "group__extensions.html#ga0918cc645e6e95c3077a816ba33b42e9":[2,3,97], "group__extensions.html#ga0918cc645e6e95c3077a816ba33b42e9":[4,0,59,4], "group__extensions.html#ga0b02c67cce6515397bef82eba539a4d8":[4,0,147,0], @@ -166,16 +177,16 @@ var NAVTREEINDEX14 = "group__extensions.html#ga4aa56f32cb1cb2245d1c0cde99d0af17":[4,0,125,1], "group__extensions.html#ga4ad1c1fb89841e9f9416530aed66170b":[2,3,94], "group__extensions.html#ga4ad1c1fb89841e9f9416530aed66170b":[4,0,59,1], -"group__extensions.html#ga4d19f53556b8b6114e8a359d326c6d10":[4,0,135,2], "group__extensions.html#ga4d19f53556b8b6114e8a359d326c6d10":[2,3,60], +"group__extensions.html#ga4d19f53556b8b6114e8a359d326c6d10":[4,0,135,2], "group__extensions.html#ga4e2440ba605d9e05614c938fcb2e6fcb":[4,0,150,0], "group__extensions.html#ga4e2440ba605d9e05614c938fcb2e6fcb":[2,3,64], "group__extensions.html#ga4e8da86fa9db5de06486eb3539a2ac73":[2,3,88], "group__extensions.html#ga4e8da86fa9db5de06486eb3539a2ac73":[4,0,55,6], "group__extensions.html#ga4e9876a60fc230eb433a6b3d77beaae9":[2,3,109], "group__extensions.html#ga4e9876a60fc230eb433a6b3d77beaae9":[4,0,59,12], -"group__extensions.html#ga52d880e886748802ee9d0e2dbff75e74":[2,3,83], "group__extensions.html#ga52d880e886748802ee9d0e2dbff75e74":[4,0,55,1], +"group__extensions.html#ga52d880e886748802ee9d0e2dbff75e74":[2,3,83], "group__extensions.html#ga54f81dd3dbc77a3363357b5150dcba21":[2,3,100], "group__extensions.html#ga54f81dd3dbc77a3363357b5150dcba21":[4,0,66,1], "group__extensions.html#ga55259fcecc0dd432e8c97f80a1425aad":[4,0,135,5], @@ -184,8 +195,8 @@ var NAVTREEINDEX14 = "group__extensions.html#ga574914ae1ef022264d4338d355a50ed8":[2,3,71], "group__extensions.html#ga587ba12f90f77543c3e4452abeb0f22f":[2,3,90], "group__extensions.html#ga587ba12f90f77543c3e4452abeb0f22f":[4,0,59,0], -"group__extensions.html#ga5b375e0249df691cb6c9375fe3ce3eda":[4,0,142,9], "group__extensions.html#ga5b375e0249df691cb6c9375fe3ce3eda":[2,3,80], +"group__extensions.html#ga5b375e0249df691cb6c9375fe3ce3eda":[4,0,142,9], "group__extensions.html#ga5d942bf8c3069024e50a8dd2254c390c":[2,3,81], "group__extensions.html#ga5d942bf8c3069024e50a8dd2254c390c":[4,0,54,1], "group__extensions.html#ga63356d306e103b6bf13dc7bf2ae233f6":[4,0,142,6], @@ -198,22 +209,22 @@ var NAVTREEINDEX14 = "group__extensions.html#ga6f8a1ee174c919242d7e5a00c57f0fdb":[2,3,74], "group__extensions.html#ga78a7fcf3e5c470de1083ada5fde8e32f":[4,0,162,1], "group__extensions.html#ga78a7fcf3e5c470de1083ada5fde8e32f":[2,3,73], -"group__extensions.html#ga79da8a82087b6fe978e615f61118f03e":[2,3,79], "group__extensions.html#ga79da8a82087b6fe978e615f61118f03e":[4,0,142,8], -"group__extensions.html#ga7f3ed5a3baab55369f7ee35e4e44cfb0":[2,3,105], +"group__extensions.html#ga79da8a82087b6fe978e615f61118f03e":[2,3,79], "group__extensions.html#ga7f3ed5a3baab55369f7ee35e4e44cfb0":[4,0,59,8], +"group__extensions.html#ga7f3ed5a3baab55369f7ee35e4e44cfb0":[2,3,105], "group__extensions.html#ga868bf680832c3f47e924fd2da011957d":[4,0,142,4], "group__extensions.html#ga868bf680832c3f47e924fd2da011957d":[2,3,75], "group__extensions.html#ga8695b63c3fd0f8e29ecce92c64e8f79b":[4,0,138,1], "group__extensions.html#ga8695b63c3fd0f8e29ecce92c64e8f79b":[2,3,52], -"group__extensions.html#ga871e9d89cdf9bbab58883b5f0822b5c3":[4,0,135,0], "group__extensions.html#ga871e9d89cdf9bbab58883b5f0822b5c3":[2,3,58], +"group__extensions.html#ga871e9d89cdf9bbab58883b5f0822b5c3":[4,0,135,0], "group__extensions.html#ga8a87a0175a8d5014472d5e9eabef59d7":[4,0,135,3], "group__extensions.html#ga8a87a0175a8d5014472d5e9eabef59d7":[2,3,61], "group__extensions.html#ga8ced9dfabbe8811f9c5ea8933e1298f7":[4,0,59,11], "group__extensions.html#ga8ced9dfabbe8811f9c5ea8933e1298f7":[2,3,108], -"group__extensions.html#ga8e55355887d57086f097b0248b7ea768":[2,3,55], "group__extensions.html#ga8e55355887d57086f097b0248b7ea768":[4,0,60,0], +"group__extensions.html#ga8e55355887d57086f097b0248b7ea768":[2,3,55], "group__extensions.html#gaab84d6896f2bf7d17487799f5135cd7c":[2,3,84], "group__extensions.html#gaab84d6896f2bf7d17487799f5135cd7c":[4,0,55,2], "group__extensions.html#gaade73cffb9e3e77ae5457c3d393d481e":[2,3,87], @@ -222,10 +233,10 @@ var NAVTREEINDEX14 = "group__extensions.html#gab5878e8b784c6c17d26a20bc202c4c0e":[4,0,59,3], "group__extensions.html#gabbffb883dd38c52aef27f7ea084a1cde":[4,0,142,7], "group__extensions.html#gabbffb883dd38c52aef27f7ea084a1cde":[2,3,78], -"group__extensions.html#gac1bd1279e83e31a8b0c8dd0deaa20b79":[4,0,55,4], "group__extensions.html#gac1bd1279e83e31a8b0c8dd0deaa20b79":[2,3,86], -"group__extensions.html#gaced14ebcd90bf2d866b38867cde959ae":[4,0,137,1], +"group__extensions.html#gac1bd1279e83e31a8b0c8dd0deaa20b79":[4,0,55,4], "group__extensions.html#gaced14ebcd90bf2d866b38867cde959ae":[2,3,50], +"group__extensions.html#gaced14ebcd90bf2d866b38867cde959ae":[4,0,137,1], "group__extensions.html#gacef7efd5d06512fbf61e9810f46805c1":[4,0,142,0], "group__extensions.html#gacef7efd5d06512fbf61e9810f46805c1":[2,3,68], "group__extensions.html#gad2b49dd51647b7228668827c689bbb32":[4,0,142,5], @@ -236,18 +247,7 @@ var NAVTREEINDEX14 = "group__extensions.html#gada9542f6f10912eb3f3f89c1ea2f87e6":[2,3,70], "group__extensions.html#gadabf6cf5b61c51816897119d793d16b7":[2,3,53], "group__extensions.html#gadabf6cf5b61c51816897119d793d16b7":[4,0,54,0], -"group__extensions.html#gadf1d4e04d0c9587b111c3737c9789658":[4,0,162,0], "group__extensions.html#gadf1d4e04d0c9587b111c3737c9789658":[2,3,72], -"group__extensions.html#gae13799b44f055e19212220bdff322597":[2,3,98], -"group__extensions.html#gae13799b44f055e19212220bdff322597":[4,0,59,5], -"group__extensions.html#gae24713c38834275bb67d41f03bcd28b5":[4,0,62,0], -"group__extensions.html#gae24713c38834275bb67d41f03bcd28b5":[2,3,54], -"group__extensions.html#gae26002655180393d0a53f5c68d141d69":[4,0,55,3], -"group__extensions.html#gae26002655180393d0a53f5c68d141d69":[2,3,85], -"group__extensions.html#gaea2576f54650c42280d79ce79ea1979a":[4,0,56,1], -"group__extensions.html#gaea2576f54650c42280d79ce79ea1979a":[2,3,66], -"group__extensions.html#gaef94272b3a37bbcce4008c1911a06b5c":[2,3,101], -"group__extensions.html#gaef94272b3a37bbcce4008c1911a06b5c":[4,0,111,1], -"group__extensions.html#gaf17024df6afd1cbab816914f25b33214":[2,3,104], -"group__extensions.html#gaf17024df6afd1cbab816914f25b33214":[4,0,59,7] +"group__extensions.html#gadf1d4e04d0c9587b111c3737c9789658":[4,0,162,0], +"group__extensions.html#gae13799b44f055e19212220bdff322597":[2,3,98] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex15.js b/physx/documentation/PhysXAPI/files/navtreeindex15.js index 7d0574a04..126035832 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex15.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex15.js @@ -1,5 +1,16 @@ var NAVTREEINDEX15 = { +"group__extensions.html#gae13799b44f055e19212220bdff322597":[4,0,59,5], +"group__extensions.html#gae24713c38834275bb67d41f03bcd28b5":[2,3,54], +"group__extensions.html#gae24713c38834275bb67d41f03bcd28b5":[4,0,62,0], +"group__extensions.html#gae26002655180393d0a53f5c68d141d69":[2,3,85], +"group__extensions.html#gae26002655180393d0a53f5c68d141d69":[4,0,55,3], +"group__extensions.html#gaea2576f54650c42280d79ce79ea1979a":[4,0,56,1], +"group__extensions.html#gaea2576f54650c42280d79ce79ea1979a":[2,3,66], +"group__extensions.html#gaef94272b3a37bbcce4008c1911a06b5c":[2,3,101], +"group__extensions.html#gaef94272b3a37bbcce4008c1911a06b5c":[4,0,111,1], +"group__extensions.html#gaf17024df6afd1cbab816914f25b33214":[4,0,59,7], +"group__extensions.html#gaf17024df6afd1cbab816914f25b33214":[2,3,104], "group__extensions.html#gaf61e11222319b3a664d8127c8b64bb98":[2,3,95], "group__extensions.html#gaf61e11222319b3a664d8127c8b64bb98":[4,0,59,2], "group__extensions.html#gaf683a32f0fc263a83be447fac2879dac":[4,0,111,0], @@ -15,46 +26,46 @@ var NAVTREEINDEX15 = "group__foundation.html#ga005bc6fc1fd839ee0896828600dd17bb":[4,0,144,14], "group__foundation.html#ga0180682969fce22cc7d01b100e1da755":[2,4,76], "group__foundation.html#ga0180682969fce22cc7d01b100e1da755":[4,0,144,15], -"group__foundation.html#ga030b6ea7a6da25c914f73cb33a45a191":[2,4,185], "group__foundation.html#ga030b6ea7a6da25c914f73cb33a45a191":[4,0,151,2], -"group__foundation.html#ga0326e4ec6e9082ac70f32df5edc6eb5f":[2,4,128], +"group__foundation.html#ga030b6ea7a6da25c914f73cb33a45a191":[2,4,185], "group__foundation.html#ga0326e4ec6e9082ac70f32df5edc6eb5f":[4,0,3,1], +"group__foundation.html#ga0326e4ec6e9082ac70f32df5edc6eb5f":[2,4,128], "group__foundation.html#ga0535d4e635ffe422695adcf66644e2ae":[2,4,7,17], "group__foundation.html#ga0535d4e635ffe422695adcf66644e2ae":[2,4,146], "group__foundation.html#ga060890e60cdbd06a2819e6d4a1f2d3be":[2,4,7,8], "group__foundation.html#ga060890e60cdbd06a2819e6d4a1f2d3be":[2,4,137], -"group__foundation.html#ga06a5a07559f3f1444b68770d472f29c9":[2,4,217], "group__foundation.html#ga06a5a07559f3f1444b68770d472f29c9":[2,4,7,28], +"group__foundation.html#ga06a5a07559f3f1444b68770d472f29c9":[2,4,217], "group__foundation.html#ga07e921227c6d6fe3c514eae0655c1dff":[2,4,7,20], "group__foundation.html#ga07e921227c6d6fe3c514eae0655c1dff":[2,4,149], "group__foundation.html#ga07ffc52cd4afa8e797a5fe6e1cb7e17a":[4,0,141,0], "group__foundation.html#ga07ffc52cd4afa8e797a5fe6e1cb7e17a":[2,4,102], -"group__foundation.html#ga09414aeb1a283b875edb1fa83e551aca":[2,4,33], "group__foundation.html#ga09414aeb1a283b875edb1fa83e551aca":[4,0,13,3], -"group__foundation.html#ga0953977efc7599071aefadc35e842f97":[2,4,161], +"group__foundation.html#ga09414aeb1a283b875edb1fa83e551aca":[2,4,33], "group__foundation.html#ga0953977efc7599071aefadc35e842f97":[4,0,93,3], +"group__foundation.html#ga0953977efc7599071aefadc35e842f97":[2,4,161], "group__foundation.html#ga0a511de410e7de7a8625fb572f88bd89":[4,0,110,55], "group__foundation.html#ga0a511de410e7de7a8625fb572f88bd89":[2,4,108], "group__foundation.html#ga0d68edb1f62d21d1570dee43f2d4ebaa":[2,4,7,3], "group__foundation.html#ga0d68edb1f62d21d1570dee43f2d4ebaa":[2,4,132], "group__foundation.html#ga0e6a6baa9078ed0b45a03fb4404c9bf5":[2,4,65], "group__foundation.html#ga0e6a6baa9078ed0b45a03fb4404c9bf5":[4,0,144,5], -"group__foundation.html#ga0f79a2074a05144416be06f4c45a324c":[4,0,144,2], "group__foundation.html#ga0f79a2074a05144416be06f4c45a324c":[2,4,51], -"group__foundation.html#ga0fb72a858fd527761dbe042cb4adbbe6":[4,0,72,2], +"group__foundation.html#ga0f79a2074a05144416be06f4c45a324c":[4,0,144,2], "group__foundation.html#ga0fb72a858fd527761dbe042cb4adbbe6":[2,4,180], -"group__foundation.html#ga103f28ff1f24bc29c4167ca49b13c200":[2,4,193], +"group__foundation.html#ga0fb72a858fd527761dbe042cb4adbbe6":[4,0,72,2], "group__foundation.html#ga103f28ff1f24bc29c4167ca49b13c200":[4,0,93,24], +"group__foundation.html#ga103f28ff1f24bc29c4167ca49b13c200":[2,4,193], "group__foundation.html#ga1145ffab2cc9a77ca65b59ba4126342f":[4,0,110,48], "group__foundation.html#ga1145ffab2cc9a77ca65b59ba4126342f":[2,4,100], "group__foundation.html#ga11d5e4e77acad728886b380b5f3806f0":[4,0,93,31], "group__foundation.html#ga11d5e4e77acad728886b380b5f3806f0":[2,4,206], -"group__foundation.html#ga125e6c8496174f5aee6b53c2ecd9ba75":[2,4,7,26], "group__foundation.html#ga125e6c8496174f5aee6b53c2ecd9ba75":[2,4,215], +"group__foundation.html#ga125e6c8496174f5aee6b53c2ecd9ba75":[2,4,7,26], "group__foundation.html#ga14bf03e830d32c8da6a9a21ad60d0445":[4,0,72,3], "group__foundation.html#ga14bf03e830d32c8da6a9a21ad60d0445":[2,4,202], -"group__foundation.html#ga155d9a6a01e4c17d2ecb801e5c17c17f":[2,4,210], "group__foundation.html#ga155d9a6a01e4c17d2ecb801e5c17c17f":[2,4,17,6], +"group__foundation.html#ga155d9a6a01e4c17d2ecb801e5c17c17f":[2,4,210], "group__foundation.html#ga16358e92b0083fddc587efc45050f425":[2,4,7,11], "group__foundation.html#ga16358e92b0083fddc587efc45050f425":[2,4,140], "group__foundation.html#ga17a46314a8577460d3840466cb12a331":[4,0,93,35], @@ -65,8 +76,8 @@ var NAVTREEINDEX15 = "group__foundation.html#ga1afd8c76d275a787af09ebfceaf7fc30":[4,0,144,9], "group__foundation.html#ga226013a71f304c8c670ef781aa62b145":[2,4,66], "group__foundation.html#ga226013a71f304c8c670ef781aa62b145":[4,0,144,6], -"group__foundation.html#ga23fec839e8daf10494d43640dca49e09":[4,0,93,32], "group__foundation.html#ga23fec839e8daf10494d43640dca49e09":[2,4,207], +"group__foundation.html#ga23fec839e8daf10494d43640dca49e09":[4,0,93,32], "group__foundation.html#ga2440789bba543f4ab246a7dea35d7d95":[4,0,144,3], "group__foundation.html#ga2440789bba543f4ab246a7dea35d7d95":[2,4,52], "group__foundation.html#ga250e461f84db027c14d3f1e33b8adc9c":[4,0,93,28], @@ -75,116 +86,116 @@ var NAVTREEINDEX15 = "group__foundation.html#ga2520ecfd21a5e8e15d5ae3d1f9bcfd1c":[2,4,125], "group__foundation.html#ga25c9c85e3980cdbf0bedfbcad822aed7":[2,4,94], "group__foundation.html#ga25c9c85e3980cdbf0bedfbcad822aed7":[4,0,105,3], -"group__foundation.html#ga289f38577d111c621dfc38704bf887ac":[2,4,156], "group__foundation.html#ga289f38577d111c621dfc38704bf887ac":[4,0,110,70], -"group__foundation.html#ga28ec9320669fc92cbc9945d85e2c980e":[2,4,178], +"group__foundation.html#ga289f38577d111c621dfc38704bf887ac":[2,4,156], "group__foundation.html#ga28ec9320669fc92cbc9945d85e2c980e":[4,0,13,4], +"group__foundation.html#ga28ec9320669fc92cbc9945d85e2c980e":[2,4,178], "group__foundation.html#ga2ac82f7e080e1411a86f98758a0f3875":[2,4,87], "group__foundation.html#ga2ac82f7e080e1411a86f98758a0f3875":[4,0,110,40], "group__foundation.html#ga2af6846d9d49e433af97059f0291eef1":[4,0,110,36], "group__foundation.html#ga2af6846d9d49e433af97059f0291eef1":[2,4,82], -"group__foundation.html#ga2b3efd786b831b6cfd30e51dcd3c5ca2":[2,4,89], "group__foundation.html#ga2b3efd786b831b6cfd30e51dcd3c5ca2":[4,0,110,42], +"group__foundation.html#ga2b3efd786b831b6cfd30e51dcd3c5ca2":[2,4,89], "group__foundation.html#ga2d783f32606b1458efd0fe0ee50c2b03":[2,4,7,4], "group__foundation.html#ga2d783f32606b1458efd0fe0ee50c2b03":[2,4,133], -"group__foundation.html#ga2dd18616fa4eec4df42b5f3505dd2a64":[2,4,103], "group__foundation.html#ga2dd18616fa4eec4df42b5f3505dd2a64":[4,0,110,50], -"group__foundation.html#ga2e96f326a9b29ecb2cbe00f2f7662cf0":[4,0,93,27], +"group__foundation.html#ga2dd18616fa4eec4df42b5f3505dd2a64":[2,4,103], "group__foundation.html#ga2e96f326a9b29ecb2cbe00f2f7662cf0":[2,4,197], -"group__foundation.html#ga2f06b47e22c6e93701d766444c67f3a6":[4,0,72,1], +"group__foundation.html#ga2e96f326a9b29ecb2cbe00f2f7662cf0":[4,0,93,27], "group__foundation.html#ga2f06b47e22c6e93701d766444c67f3a6":[2,4,179], -"group__foundation.html#ga305a9ab26a10d521e58782103206edf5":[4,0,110,41], +"group__foundation.html#ga2f06b47e22c6e93701d766444c67f3a6":[4,0,72,1], "group__foundation.html#ga305a9ab26a10d521e58782103206edf5":[2,4,88], -"group__foundation.html#ga317798739f43b557779c6d40806038b6":[4,0,144,12], +"group__foundation.html#ga305a9ab26a10d521e58782103206edf5":[4,0,110,41], "group__foundation.html#ga317798739f43b557779c6d40806038b6":[2,4,72], +"group__foundation.html#ga317798739f43b557779c6d40806038b6":[4,0,144,12], "group__foundation.html#ga32315930deaa61e428aa2e0cda454189":[2,4,7,14], "group__foundation.html#ga32315930deaa61e428aa2e0cda454189":[2,4,143], -"group__foundation.html#ga34f70075ac4a52e2d7fb8afc03afc6e2":[2,4,213], "group__foundation.html#ga34f70075ac4a52e2d7fb8afc03afc6e2":[2,4,7,24], -"group__foundation.html#ga3773ce018f51c7f8f2c061faab2d411b":[4,0,93,41], +"group__foundation.html#ga34f70075ac4a52e2d7fb8afc03afc6e2":[2,4,213], "group__foundation.html#ga3773ce018f51c7f8f2c061faab2d411b":[2,4,226], +"group__foundation.html#ga3773ce018f51c7f8f2c061faab2d411b":[4,0,93,41], "group__foundation.html#ga382d2b60e6161c1dcb3801bbf8e1b4a3":[2,4,37], "group__foundation.html#ga382d2b60e6161c1dcb3801bbf8e1b4a3":[4,0,110,11], -"group__foundation.html#ga39f6354f5e10029a058e2141956ed9ef":[4,0,110,53], "group__foundation.html#ga39f6354f5e10029a058e2141956ed9ef":[2,4,106], +"group__foundation.html#ga39f6354f5e10029a058e2141956ed9ef":[4,0,110,53], "group__foundation.html#ga3ad36c60750fd7773dd217aa681ee0d1":[4,0,93,34], "group__foundation.html#ga3ad36c60750fd7773dd217aa681ee0d1":[2,4,209], -"group__foundation.html#ga3b15bb2f7697b2bed10eb5477909fbe4":[4,0,110,49], "group__foundation.html#ga3b15bb2f7697b2bed10eb5477909fbe4":[2,4,101], +"group__foundation.html#ga3b15bb2f7697b2bed10eb5477909fbe4":[4,0,110,49], "group__foundation.html#ga3b7937d1226ad04a370386837b538fe5":[4,0,95,2], "group__foundation.html#ga3b7937d1226ad04a370386837b538fe5":[2,4,190], -"group__foundation.html#ga3b820cf45fee058a4083d955daa02154":[4,0,93,9], "group__foundation.html#ga3b820cf45fee058a4083d955daa02154":[2,4,167], +"group__foundation.html#ga3b820cf45fee058a4083d955daa02154":[4,0,93,9], "group__foundation.html#ga3c2a546bd10918cd8cf26d27200081f1":[2,4,7,2], "group__foundation.html#ga3c2a546bd10918cd8cf26d27200081f1":[2,4,131], "group__foundation.html#ga3fc2611ba27e5701f2a1cf14afd1dd7b":[2,4,74], "group__foundation.html#ga3fc2611ba27e5701f2a1cf14afd1dd7b":[4,0,144,13], -"group__foundation.html#ga40e7fc272047a5ab6870668b81aca1a3":[2,4,104], "group__foundation.html#ga40e7fc272047a5ab6870668b81aca1a3":[4,0,110,51], -"group__foundation.html#ga41ea3463989964c5a4e21d68a9d3884a":[2,4,80], +"group__foundation.html#ga40e7fc272047a5ab6870668b81aca1a3":[2,4,104], "group__foundation.html#ga41ea3463989964c5a4e21d68a9d3884a":[4,0,110,34], -"group__foundation.html#ga41f92d88ba8f7b8ef321aa090b0e270d":[4,0,110,62], +"group__foundation.html#ga41ea3463989964c5a4e21d68a9d3884a":[2,4,80], "group__foundation.html#ga41f92d88ba8f7b8ef321aa090b0e270d":[2,4,115], -"group__foundation.html#ga42b3e630801b256ea6a118cea57757d3":[4,0,110,47], +"group__foundation.html#ga41f92d88ba8f7b8ef321aa090b0e270d":[4,0,110,62], "group__foundation.html#ga42b3e630801b256ea6a118cea57757d3":[2,4,99], +"group__foundation.html#ga42b3e630801b256ea6a118cea57757d3":[4,0,110,47], "group__foundation.html#ga4330ceada999f3f6d10f7bd4b3dd3c2f":[2,4,29], "group__foundation.html#ga4330ceada999f3f6d10f7bd4b3dd3c2f":[4,0,110,5], -"group__foundation.html#ga437cafb349b7bc7d1d912ab27392bfe9":[4,0,93,5], "group__foundation.html#ga437cafb349b7bc7d1d912ab27392bfe9":[2,4,163], -"group__foundation.html#ga43c56deefc64fae5fe077a232a10056c":[4,0,110,23], +"group__foundation.html#ga437cafb349b7bc7d1d912ab27392bfe9":[4,0,93,5], "group__foundation.html#ga43c56deefc64fae5fe077a232a10056c":[2,4,49], +"group__foundation.html#ga43c56deefc64fae5fe077a232a10056c":[4,0,110,23], "group__foundation.html#ga43eec71a9b57bd336f2208cb33dba42e":[2,4,114], "group__foundation.html#ga43eec71a9b57bd336f2208cb33dba42e":[4,0,110,61], -"group__foundation.html#ga44a06101ddffac9a2f95183b14d64f99":[2,4,150], "group__foundation.html#ga44a06101ddffac9a2f95183b14d64f99":[2,4,7,21], +"group__foundation.html#ga44a06101ddffac9a2f95183b14d64f99":[2,4,150], "group__foundation.html#ga471d6bb3bd98ced0974dbc866268c15a":[4,0,165,0], "group__foundation.html#ga471d6bb3bd98ced0974dbc866268c15a":[2,4,123], -"group__foundation.html#ga481340bf67229603a2c5b9257874934a":[2,4,58], "group__foundation.html#ga481340bf67229603a2c5b9257874934a":[4,0,110,28], +"group__foundation.html#ga481340bf67229603a2c5b9257874934a":[2,4,58], "group__foundation.html#ga4a83a657390b324a460f14684e5accee":[2,4,32], "group__foundation.html#ga4a83a657390b324a460f14684e5accee":[4,0,13,2], -"group__foundation.html#ga4c63f0632cd5766a4233686020a33159":[4,0,144,17], "group__foundation.html#ga4c63f0632cd5766a4233686020a33159":[2,4,78], +"group__foundation.html#ga4c63f0632cd5766a4233686020a33159":[4,0,144,17], "group__foundation.html#ga4dadf48c1125f80e543dbe94d656d372":[2,4,7,19], "group__foundation.html#ga4dadf48c1125f80e543dbe94d656d372":[2,4,148], -"group__foundation.html#ga4edfc95b25e96e7d308d83347c93a69f":[4,0,105,1], "group__foundation.html#ga4edfc95b25e96e7d308d83347c93a69f":[2,4,92], -"group__foundation.html#ga4f7abce9f24240386fb46d29e4332d3d":[4,0,110,68], +"group__foundation.html#ga4edfc95b25e96e7d308d83347c93a69f":[4,0,105,1], "group__foundation.html#ga4f7abce9f24240386fb46d29e4332d3d":[2,4,121], +"group__foundation.html#ga4f7abce9f24240386fb46d29e4332d3d":[4,0,110,68], "group__foundation.html#ga50d4d7247809d26270bd731bdc394793":[4,0,93,1], "group__foundation.html#ga50d4d7247809d26270bd731bdc394793":[2,4,159], "group__foundation.html#ga5121e2d88c11a94738ee44b0b6b339a2":[2,4,119], "group__foundation.html#ga5121e2d88c11a94738ee44b0b6b339a2":[4,0,110,66], "group__foundation.html#ga5332a7e82c543612744a0c821cf48b78":[2,4,26], "group__foundation.html#ga5332a7e82c543612744a0c821cf48b78":[4,0,13,0], -"group__foundation.html#ga559a6fbf1f502edf3e25e3b90647f111":[4,0,110,67], "group__foundation.html#ga559a6fbf1f502edf3e25e3b90647f111":[2,4,120], -"group__foundation.html#ga56576468182972ec8511c7dd20f47a4d":[2,4,205], +"group__foundation.html#ga559a6fbf1f502edf3e25e3b90647f111":[4,0,110,67], "group__foundation.html#ga56576468182972ec8511c7dd20f47a4d":[4,0,93,30], +"group__foundation.html#ga56576468182972ec8511c7dd20f47a4d":[2,4,205], "group__foundation.html#ga56b7f4f37ac451a47f3d7d661069aa49":[4,0,110,37], "group__foundation.html#ga56b7f4f37ac451a47f3d7d661069aa49":[2,4,83], "group__foundation.html#ga571ac4b7ead96ee2a8ad83d1ebe1aec9":[2,4,40], "group__foundation.html#ga571ac4b7ead96ee2a8ad83d1ebe1aec9":[4,0,110,14], -"group__foundation.html#ga5875f14ce7524d2a21d3bb23a039d1ec":[4,0,144,10], "group__foundation.html#ga5875f14ce7524d2a21d3bb23a039d1ec":[2,4,70], +"group__foundation.html#ga5875f14ce7524d2a21d3bb23a039d1ec":[4,0,144,10], "group__foundation.html#ga58dd174408338f37c62dfe6ac1baec60":[2,4,107], "group__foundation.html#ga58dd174408338f37c62dfe6ac1baec60":[4,0,110,54], "group__foundation.html#ga5a8c7865173b6730ec7f4e54ec8beedf":[4,0,13,5], "group__foundation.html#ga5a8c7865173b6730ec7f4e54ec8beedf":[2,4,198], -"group__foundation.html#ga5bd19e27244d543c2e0a4d9c04338406":[4,0,144,16], "group__foundation.html#ga5bd19e27244d543c2e0a4d9c04338406":[2,4,77], -"group__foundation.html#ga5bd657340cb0dc207107cb1742d1135b":[2,4,96], +"group__foundation.html#ga5bd19e27244d543c2e0a4d9c04338406":[4,0,144,16], "group__foundation.html#ga5bd657340cb0dc207107cb1742d1135b":[4,0,110,45], +"group__foundation.html#ga5bd657340cb0dc207107cb1742d1135b":[2,4,96], "group__foundation.html#ga5be743320fae5abf91e51efebced816e":[4,0,110,19], "group__foundation.html#ga5be743320fae5abf91e51efebced816e":[2,4,45], "group__foundation.html#ga5bf7ba25f65def2a2cdf3e17eac11129":[4,0,186,0], "group__foundation.html#ga5bf7ba25f65def2a2cdf3e17eac11129":[2,4,199], -"group__foundation.html#ga5f35262177498e8a11a4f3e5ba83e5e8":[4,0,110,13], "group__foundation.html#ga5f35262177498e8a11a4f3e5ba83e5e8":[2,4,39], +"group__foundation.html#ga5f35262177498e8a11a4f3e5ba83e5e8":[4,0,110,13], "group__foundation.html#ga5ff30cdf70b6b77fc0a17427ad5ef7de":[2,4,27], "group__foundation.html#ga5ff30cdf70b6b77fc0a17427ad5ef7de":[4,0,13,1], -"group__foundation.html#ga65237bda8f886bb466e89d01a1ba0a77":[4,0,110,38], "group__foundation.html#ga65237bda8f886bb466e89d01a1ba0a77":[2,4,85], +"group__foundation.html#ga65237bda8f886bb466e89d01a1ba0a77":[4,0,110,38], "group__foundation.html#ga65a319adb859941e5bd98575280b8d19":[2,4,35], "group__foundation.html#ga65a319adb859941e5bd98575280b8d19":[4,0,110,9], "group__foundation.html#ga6952091abd80c0c93a99d331b6c97482":[2,4,43], @@ -193,24 +204,24 @@ var NAVTREEINDEX15 = "group__foundation.html#ga69c3fa9b2882d545ebdb965086853c62":[4,0,110,56], "group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb":[2,4,53], "group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb":[4,0,110,24], -"group__foundation.html#ga6c2e80e9cab7b72710ac62e537ad60df":[2,4,189], "group__foundation.html#ga6c2e80e9cab7b72710ac62e537ad60df":[4,0,95,1], +"group__foundation.html#ga6c2e80e9cab7b72710ac62e537ad60df":[2,4,189], "group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63":[2,4,41], "group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63":[4,0,110,15], "group__foundation.html#ga70160ca5bbafef277790b3e0f12baf38":[4,0,3,2], "group__foundation.html#ga70160ca5bbafef277790b3e0f12baf38":[2,4,129], -"group__foundation.html#ga7141493e2ce93a7c29947147874eb372":[2,4,155], "group__foundation.html#ga7141493e2ce93a7c29947147874eb372":[2,4,7,22], -"group__foundation.html#ga7160eeaa47f99f991d9b1f113b398143":[2,4,25], +"group__foundation.html#ga7141493e2ce93a7c29947147874eb372":[2,4,155], "group__foundation.html#ga7160eeaa47f99f991d9b1f113b398143":[4,0,110,3], +"group__foundation.html#ga7160eeaa47f99f991d9b1f113b398143":[2,4,25], "group__foundation.html#ga732674527c19934c396385ac405993b6":[2,4,55], "group__foundation.html#ga732674527c19934c396385ac405993b6":[4,0,110,25], -"group__foundation.html#ga73b08402e151455258acc7ec628a277b":[2,4,61], "group__foundation.html#ga73b08402e151455258acc7ec628a277b":[4,0,110,31], -"group__foundation.html#ga75378be4130e1bdda740c22c07314640":[4,0,105,2], +"group__foundation.html#ga73b08402e151455258acc7ec628a277b":[2,4,61], "group__foundation.html#ga75378be4130e1bdda740c22c07314640":[2,4,93], -"group__foundation.html#ga7539e08056ea09ff1c341b866b7103f4":[2,4,64], +"group__foundation.html#ga75378be4130e1bdda740c22c07314640":[4,0,105,2], "group__foundation.html#ga7539e08056ea09ff1c341b866b7103f4":[4,0,144,4], +"group__foundation.html#ga7539e08056ea09ff1c341b866b7103f4":[2,4,64], "group__foundation.html#ga79b5721890bfcd38f4890f55ea0e5eac":[2,4,7,30], "group__foundation.html#ga79b5721890bfcd38f4890f55ea0e5eac":[2,4,219], "group__foundation.html#ga7b6fbb539e9185279ced84864179180b":[2,4,42], @@ -227,27 +238,16 @@ var NAVTREEINDEX15 = "group__foundation.html#ga7ffc101412f847b7a5d40d9e0c7a0028":[2,4,135], "group__foundation.html#ga838010cc1baa6df8d6ff0fc5655274dd":[2,4,81], "group__foundation.html#ga838010cc1baa6df8d6ff0fc5655274dd":[4,0,110,35], -"group__foundation.html#ga8403f44c41004280119dd86deb6dd333":[2,4,184], "group__foundation.html#ga8403f44c41004280119dd86deb6dd333":[4,0,151,1], -"group__foundation.html#ga86fdc6216f1e58e9fa63a2c0108261a7":[4,0,144,11], +"group__foundation.html#ga8403f44c41004280119dd86deb6dd333":[2,4,184], "group__foundation.html#ga86fdc6216f1e58e9fa63a2c0108261a7":[2,4,71], +"group__foundation.html#ga86fdc6216f1e58e9fa63a2c0108261a7":[4,0,144,11], "group__foundation.html#ga8853e1b0f46c6dd7043b948747a19a19":[2,4,22], "group__foundation.html#ga8853e1b0f46c6dd7043b948747a19a19":[4,0,110,0], -"group__foundation.html#ga8901e378c5ba8f305e8714d5758cd9dd":[4,0,144,19], "group__foundation.html#ga8901e378c5ba8f305e8714d5758cd9dd":[2,4,84], +"group__foundation.html#ga8901e378c5ba8f305e8714d5758cd9dd":[4,0,144,19], "group__foundation.html#ga8c8d56ad8584332dc0d55c7936fb0af3":[2,4,124], "group__foundation.html#ga8c8d56ad8584332dc0d55c7936fb0af3":[4,0,18,0], -"group__foundation.html#ga8d26d765b23de0bca18dd327cde2d8f8":[4,0,110,65], "group__foundation.html#ga8d26d765b23de0bca18dd327cde2d8f8":[2,4,118], -"group__foundation.html#ga903d59eeddf0328e54f1caf8efddf2fc":[4,0,93,14], -"group__foundation.html#ga903d59eeddf0328e54f1caf8efddf2fc":[2,4,173], -"group__foundation.html#ga927c1801f7f1134c1344caaff90bd632":[4,0,110,59], -"group__foundation.html#ga927c1801f7f1134c1344caaff90bd632":[2,4,112], -"group__foundation.html#ga939562c42c614caac1aaba467f77d510":[2,4,188], -"group__foundation.html#ga939562c42c614caac1aaba467f77d510":[4,0,95,0], -"group__foundation.html#ga95024dd88a7efd73c060616238ccbe8a":[2,4,23], -"group__foundation.html#ga95024dd88a7efd73c060616238ccbe8a":[4,0,110,1], -"group__foundation.html#ga9564f55a7dca0986938b8a03e78d6f9f":[4,0,93,12], -"group__foundation.html#ga9564f55a7dca0986938b8a03e78d6f9f":[2,4,171], -"group__foundation.html#ga95a5fd55fa4db02a70d5f0226098771a":[2,4,141] +"group__foundation.html#ga8d26d765b23de0bca18dd327cde2d8f8":[4,0,110,65] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex16.js b/physx/documentation/PhysXAPI/files/navtreeindex16.js index f548f3f6c..27a29909c 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex16.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex16.js @@ -1,48 +1,59 @@ var NAVTREEINDEX16 = { +"group__foundation.html#ga903d59eeddf0328e54f1caf8efddf2fc":[4,0,93,14], +"group__foundation.html#ga903d59eeddf0328e54f1caf8efddf2fc":[2,4,173], +"group__foundation.html#ga927c1801f7f1134c1344caaff90bd632":[2,4,112], +"group__foundation.html#ga927c1801f7f1134c1344caaff90bd632":[4,0,110,59], +"group__foundation.html#ga939562c42c614caac1aaba467f77d510":[2,4,188], +"group__foundation.html#ga939562c42c614caac1aaba467f77d510":[4,0,95,0], +"group__foundation.html#ga95024dd88a7efd73c060616238ccbe8a":[2,4,23], +"group__foundation.html#ga95024dd88a7efd73c060616238ccbe8a":[4,0,110,1], +"group__foundation.html#ga9564f55a7dca0986938b8a03e78d6f9f":[4,0,93,12], +"group__foundation.html#ga9564f55a7dca0986938b8a03e78d6f9f":[2,4,171], "group__foundation.html#ga95a5fd55fa4db02a70d5f0226098771a":[2,4,7,12], +"group__foundation.html#ga95a5fd55fa4db02a70d5f0226098771a":[2,4,141], "group__foundation.html#ga966bf639353d2b617e4925513859c1ff":[2,4,122], "group__foundation.html#ga966bf639353d2b617e4925513859c1ff":[4,0,110,69], "group__foundation.html#ga9727af514012bc32f852e20278a7b04e":[2,4,157], "group__foundation.html#ga9727af514012bc32f852e20278a7b04e":[4,0,110,71], "group__foundation.html#ga98f571cc01fc3aa0e73e215c27ab8069":[4,0,93,29], "group__foundation.html#ga98f571cc01fc3aa0e73e215c27ab8069":[2,4,204], -"group__foundation.html#ga99db209a98702e2d6673d967bac37d07":[2,4,31], "group__foundation.html#ga99db209a98702e2d6673d967bac37d07":[4,0,110,7], +"group__foundation.html#ga99db209a98702e2d6673d967bac37d07":[2,4,31], "group__foundation.html#ga9aad3b08e5e15565ff39638b753f4a92":[2,4,95], "group__foundation.html#ga9aad3b08e5e15565ff39638b753f4a92":[4,0,110,44], -"group__foundation.html#ga9c45606642752cb98a361b359482c476":[2,4,170], "group__foundation.html#ga9c45606642752cb98a361b359482c476":[4,0,93,11], -"group__foundation.html#ga9cf210fa59d59f641438771f3c24102f":[2,4,166], +"group__foundation.html#ga9c45606642752cb98a361b359482c476":[2,4,170], "group__foundation.html#ga9cf210fa59d59f641438771f3c24102f":[4,0,93,8], +"group__foundation.html#ga9cf210fa59d59f641438771f3c24102f":[2,4,166], "group__foundation.html#ga9d5b26e75bb13bebe3d08bc49b2212d5":[2,4,7,9], "group__foundation.html#ga9d5b26e75bb13bebe3d08bc49b2212d5":[2,4,138], -"group__foundation.html#ga9deda8eaad9681fc9eb456adc5225668":[4,0,72,0], "group__foundation.html#ga9deda8eaad9681fc9eb456adc5225668":[2,4,174], -"group__foundation.html#ga9e31f59de4ce4f4ad1f1e51c401ac5fd":[2,4,214], +"group__foundation.html#ga9deda8eaad9681fc9eb456adc5225668":[4,0,72,0], "group__foundation.html#ga9e31f59de4ce4f4ad1f1e51c401ac5fd":[2,4,7,25], +"group__foundation.html#ga9e31f59de4ce4f4ad1f1e51c401ac5fd":[2,4,214], "group__foundation.html#gaa014664f566202f7be1b2caa5625ffd6":[4,0,93,21], "group__foundation.html#gaa014664f566202f7be1b2caa5625ffd6":[2,4,186], -"group__foundation.html#gaa36637513874db07a2b4839703eef2ee":[2,4,126], "group__foundation.html#gaa36637513874db07a2b4839703eef2ee":[4,0,18,2], +"group__foundation.html#gaa36637513874db07a2b4839703eef2ee":[2,4,126], "group__foundation.html#gaa6237ff50213fc9872d4569a649dcd53":[2,4,62], "group__foundation.html#gaa6237ff50213fc9872d4569a649dcd53":[4,0,110,32], -"group__foundation.html#gaa645944027e6f4e405de626910e82d8d":[2,4,24], "group__foundation.html#gaa645944027e6f4e405de626910e82d8d":[4,0,110,2], +"group__foundation.html#gaa645944027e6f4e405de626910e82d8d":[2,4,24], "group__foundation.html#gaa689e47bbd54cfc6a4a1ce5bc7f1a2f6":[4,0,93,19], "group__foundation.html#gaa689e47bbd54cfc6a4a1ce5bc7f1a2f6":[2,4,182], -"group__foundation.html#gaa68c4b18475815da696850a588b3ac8b":[4,0,110,33], "group__foundation.html#gaa68c4b18475815da696850a588b3ac8b":[2,4,73], -"group__foundation.html#gaa7415102b45174d3eda4d4f2f12127bc":[4,0,167,0], +"group__foundation.html#gaa68c4b18475815da696850a588b3ac8b":[4,0,110,33], "group__foundation.html#gaa7415102b45174d3eda4d4f2f12127bc":[2,4,151], +"group__foundation.html#gaa7415102b45174d3eda4d4f2f12127bc":[4,0,167,0], "group__foundation.html#gaaa541ee81b5c7958c1367b710cfa99ed":[4,0,110,52], "group__foundation.html#gaaa541ee81b5c7958c1367b710cfa99ed":[2,4,105], "group__foundation.html#gaacbb9e1f38be71e22df1584a37c56693":[4,0,144,0], "group__foundation.html#gaacbb9e1f38be71e22df1584a37c56693":[2,4,21], -"group__foundation.html#gaace09d9150d8d87671f893afe548ebac":[4,0,110,39], "group__foundation.html#gaace09d9150d8d87671f893afe548ebac":[2,4,86], -"group__foundation.html#gaadbc7232bb8117014d359b6e63967170":[2,4,225], +"group__foundation.html#gaace09d9150d8d87671f893afe548ebac":[4,0,110,39], "group__foundation.html#gaadbc7232bb8117014d359b6e63967170":[4,0,93,40], +"group__foundation.html#gaadbc7232bb8117014d359b6e63967170":[2,4,225], "group__foundation.html#gaaf594b4102e909f7eef735d845735cb7":[4,0,186,1], "group__foundation.html#gaaf594b4102e909f7eef735d845735cb7":[2,4,200], "group__foundation.html#gab12cc8cbd08c9c19ab0d40b7f789012e":[4,0,110,12], @@ -51,74 +62,74 @@ var NAVTREEINDEX16 = "group__foundation.html#gab14d7af80f3dc4ff432087381fcefdb9":[4,0,110,22], "group__foundation.html#gab1eb4b15bf78c96fd1a5f926bfe1da4e":[4,0,93,22], "group__foundation.html#gab1eb4b15bf78c96fd1a5f926bfe1da4e":[2,4,187], -"group__foundation.html#gab6253e62a4ebc9be4560c54756aea29a":[4,0,93,6], "group__foundation.html#gab6253e62a4ebc9be4560c54756aea29a":[2,4,164], +"group__foundation.html#gab6253e62a4ebc9be4560c54756aea29a":[4,0,93,6], "group__foundation.html#gab6fc70b79caa835455b6141018a7f9be":[4,0,151,0], "group__foundation.html#gab6fc70b79caa835455b6141018a7f9be":[2,4,154], -"group__foundation.html#gab8347121772157d35897ab50e7aa0674":[2,4,7,13], "group__foundation.html#gab8347121772157d35897ab50e7aa0674":[2,4,142], +"group__foundation.html#gab8347121772157d35897ab50e7aa0674":[2,4,7,13], "group__foundation.html#gab842ec4658d565159e71b949786ddf2e":[2,4,134], "group__foundation.html#gab842ec4658d565159e71b949786ddf2e":[2,4,7,5], "group__foundation.html#gaba043bbb6945b5a380bd3808badacdfb":[2,4,7,18], "group__foundation.html#gaba043bbb6945b5a380bd3808badacdfb":[2,4,147], "group__foundation.html#gabb5e8a2eee08bb16174c87dedbe49498":[4,0,93,15], "group__foundation.html#gabb5e8a2eee08bb16174c87dedbe49498":[2,4,175], -"group__foundation.html#gabcd49a429b8119de54375b3538ae8a8d":[2,4,223], "group__foundation.html#gabcd49a429b8119de54375b3538ae8a8d":[4,0,93,38], +"group__foundation.html#gabcd49a429b8119de54375b3538ae8a8d":[2,4,223], "group__foundation.html#gabe2aa1202597c18f98b9e7cefdf807a8":[2,4,28], "group__foundation.html#gabe2aa1202597c18f98b9e7cefdf807a8":[4,0,110,4], "group__foundation.html#gabefdbdd6927f15e90168c46824f7bd38":[2,4,98], "group__foundation.html#gabefdbdd6927f15e90168c46824f7bd38":[4,0,110,46], -"group__foundation.html#gac10bd69c94c165a52f6de39678ef9d4c":[2,4,130], "group__foundation.html#gac10bd69c94c165a52f6de39678ef9d4c":[4,0,3,3], -"group__foundation.html#gac1b800617c25ba00871816b8a0756d89":[4,0,19,0], +"group__foundation.html#gac10bd69c94c165a52f6de39678ef9d4c":[2,4,130], "group__foundation.html#gac1b800617c25ba00871816b8a0756d89":[2,4,63], -"group__foundation.html#gac1ba7551ef78900c6a103ad63fc712ae":[2,4,201], +"group__foundation.html#gac1b800617c25ba00871816b8a0756d89":[4,0,19,0], "group__foundation.html#gac1ba7551ef78900c6a103ad63fc712ae":[4,0,186,2], -"group__foundation.html#gac2271cd3b97db6a3e1ba0222d1b4d07e":[2,4,97], +"group__foundation.html#gac1ba7551ef78900c6a103ad63fc712ae":[2,4,201], "group__foundation.html#gac2271cd3b97db6a3e1ba0222d1b4d07e":[4,0,144,20], -"group__foundation.html#gac40d28c5e85426df7a98ff9bd597810c":[2,4,110], +"group__foundation.html#gac2271cd3b97db6a3e1ba0222d1b4d07e":[2,4,97], "group__foundation.html#gac40d28c5e85426df7a98ff9bd597810c":[4,0,110,57], -"group__foundation.html#gac4b372e9d2d91a0a86d40f7486936993":[2,4,116], +"group__foundation.html#gac40d28c5e85426df7a98ff9bd597810c":[2,4,110], "group__foundation.html#gac4b372e9d2d91a0a86d40f7486936993":[4,0,110,63], +"group__foundation.html#gac4b372e9d2d91a0a86d40f7486936993":[2,4,116], "group__foundation.html#gac9e21d1f7a04c78926a89d936c97546f":[2,4,90], "group__foundation.html#gac9e21d1f7a04c78926a89d936c97546f":[4,0,110,43], -"group__foundation.html#gaca8cf9822157157ba95923e39999da82":[2,4,67], "group__foundation.html#gaca8cf9822157157ba95923e39999da82":[4,0,144,7], +"group__foundation.html#gaca8cf9822157157ba95923e39999da82":[2,4,67], "group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec":[2,4,57], "group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec":[4,0,110,27], -"group__foundation.html#gacb4cd96e4188d5cc377ab184d5eef081":[2,4,224], "group__foundation.html#gacb4cd96e4188d5cc377ab184d5eef081":[4,0,93,39], -"group__foundation.html#gacc501523ad3ab46c5a061c4442d10fcf":[2,4,172], +"group__foundation.html#gacb4cd96e4188d5cc377ab184d5eef081":[2,4,224], "group__foundation.html#gacc501523ad3ab46c5a061c4442d10fcf":[4,0,93,13], -"group__foundation.html#gacce5749db3dcfb916e98c253374264ed":[4,0,3,0], +"group__foundation.html#gacc501523ad3ab46c5a061c4442d10fcf":[2,4,172], "group__foundation.html#gacce5749db3dcfb916e98c253374264ed":[2,4,127], -"group__foundation.html#gacd512dc7f334b61b26c6ea08fd64cd8b":[2,4,169], +"group__foundation.html#gacce5749db3dcfb916e98c253374264ed":[4,0,3,0], "group__foundation.html#gacd512dc7f334b61b26c6ea08fd64cd8b":[2,4,7,1], +"group__foundation.html#gacd512dc7f334b61b26c6ea08fd64cd8b":[2,4,169], "group__foundation.html#gacd945627f345ba03e83a30387ab99dea":[4,0,93,26], "group__foundation.html#gacd945627f345ba03e83a30387ab99dea":[2,4,196], "group__foundation.html#gad528b6ca0979b1eff7aa814637c1711c":[2,4,152], "group__foundation.html#gad528b6ca0979b1eff7aa814637c1711c":[4,0,169,0], "group__foundation.html#gad566a9166622790d99924279df71eaf4":[2,4,30], "group__foundation.html#gad566a9166622790d99924279df71eaf4":[4,0,110,6], -"group__foundation.html#gad5970e1d62cfec4e6872517638e7ee61":[2,4,221], "group__foundation.html#gad5970e1d62cfec4e6872517638e7ee61":[4,0,93,36], -"group__foundation.html#gad6de0f4af98c5c5280b8fe695dc87318":[2,4,181], +"group__foundation.html#gad5970e1d62cfec4e6872517638e7ee61":[2,4,221], "group__foundation.html#gad6de0f4af98c5c5280b8fe695dc87318":[4,0,93,18], +"group__foundation.html#gad6de0f4af98c5c5280b8fe695dc87318":[2,4,181], "group__foundation.html#gad76274b09d89544fc4133c8d915293ed":[2,4,60], "group__foundation.html#gad76274b09d89544fc4133c8d915293ed":[4,0,110,30], -"group__foundation.html#gad7d515be586be72c5c485c5624783a97":[2,4,111], "group__foundation.html#gad7d515be586be72c5c485c5624783a97":[4,0,110,58], +"group__foundation.html#gad7d515be586be72c5c485c5624783a97":[2,4,111], "group__foundation.html#gadbc9efd74535a6b4f58f28058da1670a":[2,4,136], "group__foundation.html#gadbc9efd74535a6b4f58f28058da1670a":[2,4,7,7], "group__foundation.html#gaddaa9e455c2d0ae28111358f6c426056":[4,0,93,10], "group__foundation.html#gaddaa9e455c2d0ae28111358f6c426056":[2,4,168], -"group__foundation.html#gadf64a1111c7dfd07290aed0cf3277098":[4,0,93,2], "group__foundation.html#gadf64a1111c7dfd07290aed0cf3277098":[2,4,160], +"group__foundation.html#gadf64a1111c7dfd07290aed0cf3277098":[4,0,93,2], "group__foundation.html#gadfbe26e2b38cec0e72ed7d70872d234f":[4,0,110,20], "group__foundation.html#gadfbe26e2b38cec0e72ed7d70872d234f":[2,4,46], -"group__foundation.html#gadff4cde4e8b8443cfbe024b9fb52a891":[2,4,36], "group__foundation.html#gadff4cde4e8b8443cfbe024b9fb52a891":[4,0,110,10], +"group__foundation.html#gadff4cde4e8b8443cfbe024b9fb52a891":[2,4,36], "group__foundation.html#gae0a6cff0842c2d8b1b78656bcd680e1c":[4,0,93,17], "group__foundation.html#gae0a6cff0842c2d8b1b78656bcd680e1c":[2,4,177], "group__foundation.html#gae34aa1b4d7a85dbe98e9ed2df79c17a0":[4,0,93,25], @@ -129,24 +140,24 @@ var NAVTREEINDEX16 = "group__foundation.html#gae61c2ba4eafd46db3a41bb5d86f3f4a8":[4,0,110,29], "group__foundation.html#gae6e47183b054e4c5d6a478a00fe91e27":[2,4,56], "group__foundation.html#gae6e47183b054e4c5d6a478a00fe91e27":[4,0,110,26], -"group__foundation.html#gae7058022ea016a0af40eb7728a30c928":[4,0,73,0], "group__foundation.html#gae7058022ea016a0af40eb7728a30c928":[2,4,54], -"group__foundation.html#gae776faf7f6d5b480bfff8c2d21b9c4ad":[2,4,153], +"group__foundation.html#gae7058022ea016a0af40eb7728a30c928":[4,0,73,0], "group__foundation.html#gae776faf7f6d5b480bfff8c2d21b9c4ad":[4,0,168,0], +"group__foundation.html#gae776faf7f6d5b480bfff8c2d21b9c4ad":[2,4,153], "group__foundation.html#gae83a283ec08df8515d40c81810628e87":[2,4,47], "group__foundation.html#gae83a283ec08df8515d40c81810628e87":[4,0,110,21], "group__foundation.html#gae8aa7aabc2f4d376cdac2931bea8014b":[4,0,144,1], "group__foundation.html#gae8aa7aabc2f4d376cdac2931bea8014b":[2,4,50], -"group__foundation.html#gae942e76eff12ad0827a6d3870afb9bc9":[2,4,212], "group__foundation.html#gae942e76eff12ad0827a6d3870afb9bc9":[2,4,7,23], -"group__foundation.html#gaea189596f11f07c586d4757cc67e8f7f":[2,4,34], +"group__foundation.html#gae942e76eff12ad0827a6d3870afb9bc9":[2,4,212], "group__foundation.html#gaea189596f11f07c586d4757cc67e8f7f":[4,0,110,8], -"group__foundation.html#gaea3adf6a4e304f82c6646618ad633bd2":[4,0,93,7], +"group__foundation.html#gaea189596f11f07c586d4757cc67e8f7f":[2,4,34], "group__foundation.html#gaea3adf6a4e304f82c6646618ad633bd2":[2,4,165], +"group__foundation.html#gaea3adf6a4e304f82c6646618ad633bd2":[4,0,93,7], "group__foundation.html#gaec15ff1639b763560ddaffc82936ff03":[2,4,113], "group__foundation.html#gaec15ff1639b763560ddaffc82936ff03":[4,0,110,60], -"group__foundation.html#gaee15b10ce840455479f928e5d9f2916b":[2,4,211], "group__foundation.html#gaee15b10ce840455479f928e5d9f2916b":[4,0,165,1], +"group__foundation.html#gaee15b10ce840455479f928e5d9f2916b":[2,4,211], "group__foundation.html#gaee8f7127123da8f1a6aba82ee0bab638":[4,0,93,37], "group__foundation.html#gaee8f7127123da8f1a6aba82ee0bab638":[2,4,222], "group__foundation.html#gaeedfba7b2ad3d3be35867607faabb11d":[4,0,105,0], @@ -157,18 +168,18 @@ var NAVTREEINDEX16 = "group__foundation.html#gaf478a0d9ce3c6ec717d8fc74684f6cee":[2,4,176], "group__foundation.html#gaf4ea3337baa14716f97e5cae7f6047c2":[2,4,195], "group__foundation.html#gaf4ea3337baa14716f97e5cae7f6047c2":[2,4,15,6], -"group__foundation.html#gaf5da2cfad63151151b35afeb43e5b922":[2,4,216], "group__foundation.html#gaf5da2cfad63151151b35afeb43e5b922":[2,4,7,27], +"group__foundation.html#gaf5da2cfad63151151b35afeb43e5b922":[2,4,216], "group__foundation.html#gaf72e1dce9e874da7b92cbc0ea5e4e30d":[4,0,93,0], "group__foundation.html#gaf72e1dce9e874da7b92cbc0ea5e4e30d":[2,4,158], "group__foundation.html#gafb26faf6ab4449f92b90eaedb74d6f3b":[2,4,117], "group__foundation.html#gafb26faf6ab4449f92b90eaedb74d6f3b":[4,0,110,64], -"group__foundation.html#gafb73e468103692a6e33a2bb86ef78293":[2,4,191], "group__foundation.html#gafb73e468103692a6e33a2bb86ef78293":[4,0,95,3], -"group__foundation.html#gafce532687809e3b8d5362b34f9b44992":[2,4,7,16], +"group__foundation.html#gafb73e468103692a6e33a2bb86ef78293":[2,4,191], "group__foundation.html#gafce532687809e3b8d5362b34f9b44992":[2,4,145], -"group__foundation.html#gafd3aefa9b2e2bc6856ddff8bc1ff3770":[4,0,144,8], +"group__foundation.html#gafce532687809e3b8d5362b34f9b44992":[2,4,7,16], "group__foundation.html#gafd3aefa9b2e2bc6856ddff8bc1ff3770":[2,4,68], +"group__foundation.html#gafd3aefa9b2e2bc6856ddff8bc1ff3770":[4,0,144,8], "group__foundation.html#gafd8f8779793627061774cfcfa1b9fbd7":[2,4,44], "group__foundation.html#gafd8f8779793627061774cfcfa1b9fbd7":[4,0,110,18], "group__foundation.html#gafed20db31b2806b91c6b6745bac2f9ae":[4,0,93,4], @@ -212,42 +223,31 @@ var NAVTREEINDEX16 = "group__geomutils.html#ga8024f8608f335fb039e332a3e5afbe89":[4,0,109,0], "group__geomutils.html#ga880239cc33c00344cee0a4e32c573561":[2,7,22,1], "group__geomutils.html#ga880239cc33c00344cee0a4e32c573561":[2,7,45], -"group__geomutils.html#ga913cfc3a0f052fb2ea2818e1a31131c2":[4,0,48,0], "group__geomutils.html#ga913cfc3a0f052fb2ea2818e1a31131c2":[2,7,39], -"group__geomutils.html#ga93b547b1968a59b2d23c91aab533e2c8":[2,7,40], +"group__geomutils.html#ga913cfc3a0f052fb2ea2818e1a31131c2":[4,0,48,0], "group__geomutils.html#ga93b547b1968a59b2d23c91aab533e2c8":[4,0,80,0], -"group__geomutils.html#ga9acd5763a76bcf9f41b42c3a30a6421a":[2,7,56], +"group__geomutils.html#ga93b547b1968a59b2d23c91aab533e2c8":[2,7,40], "group__geomutils.html#ga9acd5763a76bcf9f41b42c3a30a6421a":[2,7,24,0], +"group__geomutils.html#ga9acd5763a76bcf9f41b42c3a30a6421a":[2,7,56], "group__geomutils.html#ga9bff69ddd57aac22aad966a4b30983e7":[2,7,43], "group__geomutils.html#ga9bff69ddd57aac22aad966a4b30983e7":[4,0,160,1], "group__geomutils.html#gaa4aeb7bd1ccfedd348599061276f6d8e":[2,7,25,2], "group__geomutils.html#gaa4aeb7bd1ccfedd348599061276f6d8e":[2,7,44], "group__geomutils.html#gaaaa6a4b8b94e1bcce0bedb92d873b57e":[4,0,97,0], "group__geomutils.html#gaaaa6a4b8b94e1bcce0bedb92d873b57e":[2,7,35], -"group__geomutils.html#gab335a00d0493a23fed5423bc3ea9e463":[4,0,163,0], "group__geomutils.html#gab335a00d0493a23fed5423bc3ea9e463":[2,7,42], +"group__geomutils.html#gab335a00d0493a23fed5423bc3ea9e463":[4,0,163,0], "group__geomutils.html#gad6110ba2e5505fb809d3c3ebeb82e2f5":[2,7,24,2], "group__geomutils.html#gad6110ba2e5505fb809d3c3ebeb82e2f5":[2,7,59], "group__geomutils.html#gad7702c73625ee858ad6458b97856d475":[2,7,57], "group__geomutils.html#gad7702c73625ee858ad6458b97856d475":[4,0,109,1], -"group__geomutils.html#gadd7ec6c255262ddceeb7e04600bc47b5":[2,7,13,2], "group__geomutils.html#gadd7ec6c255262ddceeb7e04600bc47b5":[2,7,60], -"group__geomutils.html#gaec23462a84179db8a8ea77e5115d5fb1":[4,0,143,0], +"group__geomutils.html#gadd7ec6c255262ddceeb7e04600bc47b5":[2,7,13,2], "group__geomutils.html#gaec23462a84179db8a8ea77e5115d5fb1":[2,7,41], +"group__geomutils.html#gaec23462a84179db8a8ea77e5115d5fb1":[4,0,143,0], "group__immediatemode.html":[2,10], -"group__immediatemode.html#ga02aa17b8f928f23a16520036c572e862":[4,0,83,1], -"group__immediatemode.html#ga02aa17b8f928f23a16520036c572e862":[2,10,10], -"group__immediatemode.html#ga02dd00aca33ee58a65f32472719e9b07":[4,0,83,9], -"group__immediatemode.html#ga02dd00aca33ee58a65f32472719e9b07":[2,10,18], -"group__immediatemode.html#ga0bae177a8cae93690234bdcb6a29e8d9":[4,0,83,4], -"group__immediatemode.html#ga0bae177a8cae93690234bdcb6a29e8d9":[2,10,13], -"group__immediatemode.html#ga167edbc51a6406fe313f2eaade4bc9d2":[2,10,43], -"group__immediatemode.html#ga167edbc51a6406fe313f2eaade4bc9d2":[4,0,83,34], -"group__immediatemode.html#ga29ab413fa60db236c4d9ef93081f6928":[4,0,83,29], -"group__immediatemode.html#ga29ab413fa60db236c4d9ef93081f6928":[2,10,38], -"group__immediatemode.html#ga2dc9fa88d851b81cb15e382060e27ec7":[4,0,83,8], -"group__immediatemode.html#ga2dc9fa88d851b81cb15e382060e27ec7":[2,10,17], -"group__immediatemode.html#ga404f7b347df78a632073246c46c173ec":[4,0,83,30], -"group__immediatemode.html#ga404f7b347df78a632073246c46c173ec":[2,10,39], -"group__immediatemode.html#ga4371afa7be6b3dfd04fd94491b7ccf1e":[4,0,83,23] +"group__immediatemode.html#ga02aa17b8f928f23a16520036c572e862":[4,0,83,2], +"group__immediatemode.html#ga02aa17b8f928f23a16520036c572e862":[2,10,11], +"group__immediatemode.html#ga02dd00aca33ee58a65f32472719e9b07":[4,0,83,12], +"group__immediatemode.html#ga02dd00aca33ee58a65f32472719e9b07":[2,10,21] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex17.js b/physx/documentation/PhysXAPI/files/navtreeindex17.js index 1c76a700e..f4c33f61b 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex17.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex17.js @@ -1,198 +1,217 @@ var NAVTREEINDEX17 = { -"group__immediatemode.html#ga4371afa7be6b3dfd04fd94491b7ccf1e":[2,10,32], -"group__immediatemode.html#ga43ee6393438e91aa05bb2790559104b7":[4,0,83,18], -"group__immediatemode.html#ga43ee6393438e91aa05bb2790559104b7":[2,10,27], -"group__immediatemode.html#ga4d9bc901669de439d061962e7ab9509e":[2,10,12], -"group__immediatemode.html#ga4d9bc901669de439d061962e7ab9509e":[4,0,83,3], -"group__immediatemode.html#ga54ca8e8099a543250c31f23452e7bb07":[4,0,83,22], -"group__immediatemode.html#ga54ca8e8099a543250c31f23452e7bb07":[2,10,31], -"group__immediatemode.html#ga56e360f21e02eeed788a58782e77316a":[4,0,83,5], -"group__immediatemode.html#ga56e360f21e02eeed788a58782e77316a":[2,10,14], -"group__immediatemode.html#ga5df3edcbf7b639900668b49ff50eda22":[2,10,37], -"group__immediatemode.html#ga5df3edcbf7b639900668b49ff50eda22":[4,0,83,28], -"group__immediatemode.html#ga629b4a4c51411cad67e91991e74a1fa9":[2,10,26], -"group__immediatemode.html#ga629b4a4c51411cad67e91991e74a1fa9":[4,0,83,17], -"group__immediatemode.html#ga650d7b45abd5412722bd0f226df3d246":[4,0,83,32], -"group__immediatemode.html#ga650d7b45abd5412722bd0f226df3d246":[2,10,41], -"group__immediatemode.html#ga6c5323528d0de709b168178bf9ddb0ac":[4,0,83,13], -"group__immediatemode.html#ga6c5323528d0de709b168178bf9ddb0ac":[2,10,22], -"group__immediatemode.html#ga6d8ad8d1a6156da1f4473d4ec4922016":[4,0,83,27], -"group__immediatemode.html#ga6d8ad8d1a6156da1f4473d4ec4922016":[2,10,36], -"group__immediatemode.html#ga78e8a4101cc5ede158fd8ae7b9a9d13b":[4,0,83,2], -"group__immediatemode.html#ga78e8a4101cc5ede158fd8ae7b9a9d13b":[2,10,11], -"group__immediatemode.html#ga81189e2221bba32ed064faf2769d9844":[4,0,83,10], -"group__immediatemode.html#ga81189e2221bba32ed064faf2769d9844":[2,10,19], -"group__immediatemode.html#ga86ececaefac85fdb67e6e46332eedc75":[2,10,20], -"group__immediatemode.html#ga86ececaefac85fdb67e6e46332eedc75":[4,0,83,11], -"group__immediatemode.html#ga8bdb9d1d481fad7a05c3dc9212c4f734":[4,0,83,20], -"group__immediatemode.html#ga8bdb9d1d481fad7a05c3dc9212c4f734":[2,10,29], +"group__immediatemode.html#ga0bae177a8cae93690234bdcb6a29e8d9":[4,0,83,5], +"group__immediatemode.html#ga0bae177a8cae93690234bdcb6a29e8d9":[2,10,14], +"group__immediatemode.html#ga167edbc51a6406fe313f2eaade4bc9d2":[4,0,83,38], +"group__immediatemode.html#ga167edbc51a6406fe313f2eaade4bc9d2":[2,10,47], +"group__immediatemode.html#ga29ab413fa60db236c4d9ef93081f6928":[4,0,83,33], +"group__immediatemode.html#ga29ab413fa60db236c4d9ef93081f6928":[2,10,42], +"group__immediatemode.html#ga2dc9fa88d851b81cb15e382060e27ec7":[4,0,83,9], +"group__immediatemode.html#ga2dc9fa88d851b81cb15e382060e27ec7":[2,10,18], +"group__immediatemode.html#ga404f7b347df78a632073246c46c173ec":[4,0,83,34], +"group__immediatemode.html#ga404f7b347df78a632073246c46c173ec":[2,10,43], +"group__immediatemode.html#ga4371afa7be6b3dfd04fd94491b7ccf1e":[2,10,35], +"group__immediatemode.html#ga4371afa7be6b3dfd04fd94491b7ccf1e":[4,0,83,26], +"group__immediatemode.html#ga43ee6393438e91aa05bb2790559104b7":[4,0,83,21], +"group__immediatemode.html#ga43ee6393438e91aa05bb2790559104b7":[2,10,30], +"group__immediatemode.html#ga4d9bc901669de439d061962e7ab9509e":[4,0,83,4], +"group__immediatemode.html#ga4d9bc901669de439d061962e7ab9509e":[2,10,13], +"group__immediatemode.html#ga5189b5d63b22e3d7e1da1d94aa6854b7":[4,0,83,32], +"group__immediatemode.html#ga5189b5d63b22e3d7e1da1d94aa6854b7":[2,10,41], +"group__immediatemode.html#ga54ca8e8099a543250c31f23452e7bb07":[2,10,34], +"group__immediatemode.html#ga54ca8e8099a543250c31f23452e7bb07":[4,0,83,25], +"group__immediatemode.html#ga56e360f21e02eeed788a58782e77316a":[4,0,83,6], +"group__immediatemode.html#ga56e360f21e02eeed788a58782e77316a":[2,10,15], +"group__immediatemode.html#ga5d5ba6074b5169c269d7e4c56ac0467d":[4,0,83,10], +"group__immediatemode.html#ga5d5ba6074b5169c269d7e4c56ac0467d":[2,10,19], +"group__immediatemode.html#ga5df3edcbf7b639900668b49ff50eda22":[2,10,40], +"group__immediatemode.html#ga5df3edcbf7b639900668b49ff50eda22":[4,0,83,31], +"group__immediatemode.html#ga629b4a4c51411cad67e91991e74a1fa9":[4,0,83,20], +"group__immediatemode.html#ga629b4a4c51411cad67e91991e74a1fa9":[2,10,29], +"group__immediatemode.html#ga650d7b45abd5412722bd0f226df3d246":[4,0,83,36], +"group__immediatemode.html#ga650d7b45abd5412722bd0f226df3d246":[2,10,45], +"group__immediatemode.html#ga6c5323528d0de709b168178bf9ddb0ac":[4,0,83,16], +"group__immediatemode.html#ga6c5323528d0de709b168178bf9ddb0ac":[2,10,25], +"group__immediatemode.html#ga6d8ad8d1a6156da1f4473d4ec4922016":[2,10,39], +"group__immediatemode.html#ga6d8ad8d1a6156da1f4473d4ec4922016":[4,0,83,30], +"group__immediatemode.html#ga78e8a4101cc5ede158fd8ae7b9a9d13b":[4,0,83,3], +"group__immediatemode.html#ga78e8a4101cc5ede158fd8ae7b9a9d13b":[2,10,12], +"group__immediatemode.html#ga81189e2221bba32ed064faf2769d9844":[2,10,22], +"group__immediatemode.html#ga81189e2221bba32ed064faf2769d9844":[4,0,83,13], +"group__immediatemode.html#ga86ececaefac85fdb67e6e46332eedc75":[2,10,23], +"group__immediatemode.html#ga86ececaefac85fdb67e6e46332eedc75":[4,0,83,14], +"group__immediatemode.html#ga8bdb9d1d481fad7a05c3dc9212c4f734":[4,0,83,23], +"group__immediatemode.html#ga8bdb9d1d481fad7a05c3dc9212c4f734":[2,10,32], "group__immediatemode.html#ga8c2749699d2f9e22cfb34ed83a7b80ce":[4,0,83,0], "group__immediatemode.html#ga8c2749699d2f9e22cfb34ed83a7b80ce":[2,10,9], -"group__immediatemode.html#ga8db0a2ecb56789d5311172ce228b7740":[4,0,83,12], -"group__immediatemode.html#ga8db0a2ecb56789d5311172ce228b7740":[2,10,21], -"group__immediatemode.html#ga9c55ff4fd977b9c0e3e0c629f5b32326":[2,10,23], -"group__immediatemode.html#ga9c55ff4fd977b9c0e3e0c629f5b32326":[4,0,83,14], -"group__immediatemode.html#gaaa4db837c3284147da8c85356d969258":[2,10,15], -"group__immediatemode.html#gaaa4db837c3284147da8c85356d969258":[4,0,83,6], -"group__immediatemode.html#gab1ff672bf5a0569d6cc5f137142b1c1d":[4,0,83,7], -"group__immediatemode.html#gab1ff672bf5a0569d6cc5f137142b1c1d":[2,10,16], -"group__immediatemode.html#gab61d264d8d74cb67dbbe06b041bde7bd":[2,10,24], -"group__immediatemode.html#gab61d264d8d74cb67dbbe06b041bde7bd":[4,0,83,15], -"group__immediatemode.html#gab92fb9ab349962c5271c9644d3ec9f71":[4,0,83,16], -"group__immediatemode.html#gab92fb9ab349962c5271c9644d3ec9f71":[2,10,25], -"group__immediatemode.html#gabd1a23fee83c2fab66822275bbcf50bb":[2,10,35], -"group__immediatemode.html#gabd1a23fee83c2fab66822275bbcf50bb":[4,0,83,26], -"group__immediatemode.html#gac31250973d5aca117634091dcf184ffc":[2,10,42], -"group__immediatemode.html#gac31250973d5aca117634091dcf184ffc":[4,0,83,33], -"group__immediatemode.html#gad743f4cb0eef3d3b166bfa0ff548ca5f":[2,10,34], -"group__immediatemode.html#gad743f4cb0eef3d3b166bfa0ff548ca5f":[4,0,83,25], -"group__immediatemode.html#gad77847bba5b58c7439d0c2463643d041":[4,0,83,24], -"group__immediatemode.html#gad77847bba5b58c7439d0c2463643d041":[2,10,33], -"group__immediatemode.html#gae59ded2b77c594a690169036785f2ef5":[4,0,83,31], -"group__immediatemode.html#gae59ded2b77c594a690169036785f2ef5":[2,10,40], -"group__immediatemode.html#gae81a4356d18a396730d81d94f28bbd0e":[4,0,83,19], -"group__immediatemode.html#gae81a4356d18a396730d81d94f28bbd0e":[2,10,28], -"group__immediatemode.html#gaee273e15ba5dbdb78948da2d2c64dc7f":[4,0,83,21], -"group__immediatemode.html#gaee273e15ba5dbdb78948da2d2c64dc7f":[2,10,30], +"group__immediatemode.html#ga8db0a2ecb56789d5311172ce228b7740":[2,10,24], +"group__immediatemode.html#ga8db0a2ecb56789d5311172ce228b7740":[4,0,83,15], +"group__immediatemode.html#ga9c55ff4fd977b9c0e3e0c629f5b32326":[4,0,83,17], +"group__immediatemode.html#ga9c55ff4fd977b9c0e3e0c629f5b32326":[2,10,26], +"group__immediatemode.html#gaa29d46bee46ce200c9e8a2a6f353c0a1":[4,0,83,11], +"group__immediatemode.html#gaa29d46bee46ce200c9e8a2a6f353c0a1":[2,10,20], +"group__immediatemode.html#gaaa4db837c3284147da8c85356d969258":[4,0,83,7], +"group__immediatemode.html#gaaa4db837c3284147da8c85356d969258":[2,10,16], +"group__immediatemode.html#gab1ff672bf5a0569d6cc5f137142b1c1d":[4,0,83,8], +"group__immediatemode.html#gab1ff672bf5a0569d6cc5f137142b1c1d":[2,10,17], +"group__immediatemode.html#gab61d264d8d74cb67dbbe06b041bde7bd":[4,0,83,18], +"group__immediatemode.html#gab61d264d8d74cb67dbbe06b041bde7bd":[2,10,27], +"group__immediatemode.html#gab92fb9ab349962c5271c9644d3ec9f71":[4,0,83,19], +"group__immediatemode.html#gab92fb9ab349962c5271c9644d3ec9f71":[2,10,28], +"group__immediatemode.html#gabd1a23fee83c2fab66822275bbcf50bb":[2,10,38], +"group__immediatemode.html#gabd1a23fee83c2fab66822275bbcf50bb":[4,0,83,29], +"group__immediatemode.html#gac31250973d5aca117634091dcf184ffc":[4,0,83,37], +"group__immediatemode.html#gac31250973d5aca117634091dcf184ffc":[2,10,46], +"group__immediatemode.html#gad743f4cb0eef3d3b166bfa0ff548ca5f":[4,0,83,28], +"group__immediatemode.html#gad743f4cb0eef3d3b166bfa0ff548ca5f":[2,10,37], +"group__immediatemode.html#gad77847bba5b58c7439d0c2463643d041":[2,10,36], +"group__immediatemode.html#gad77847bba5b58c7439d0c2463643d041":[4,0,83,27], +"group__immediatemode.html#gadcdee80ca02f10c0e31a367c7d30ca91":[4,0,83,1], +"group__immediatemode.html#gadcdee80ca02f10c0e31a367c7d30ca91":[2,10,10], +"group__immediatemode.html#gae59ded2b77c594a690169036785f2ef5":[4,0,83,35], +"group__immediatemode.html#gae59ded2b77c594a690169036785f2ef5":[2,10,44], +"group__immediatemode.html#gae81a4356d18a396730d81d94f28bbd0e":[2,10,31], +"group__immediatemode.html#gae81a4356d18a396730d81d94f28bbd0e":[4,0,83,22], +"group__immediatemode.html#gaee273e15ba5dbdb78948da2d2c64dc7f":[2,10,33], +"group__immediatemode.html#gaee273e15ba5dbdb78948da2d2c64dc7f":[4,0,83,24], "group__physics.html":[2,2], "group__physics.html#ga032d753d48dd9e14306d309c2b618410":[4,0,98,0], -"group__physics.html#ga032d753d48dd9e14306d309c2b618410":[2,2,98], -"group__physics.html#ga03a3549588909e6ca0a491af76146757":[2,2,105], +"group__physics.html#ga032d753d48dd9e14306d309c2b618410":[2,2,99], "group__physics.html#ga03a3549588909e6ca0a491af76146757":[4,0,98,7], +"group__physics.html#ga03a3549588909e6ca0a491af76146757":[2,2,106], "group__physics.html#ga0f17b2c81d2d85ff9ff7f853464c38e7":[4,0,98,13], -"group__physics.html#ga0f17b2c81d2d85ff9ff7f853464c38e7":[2,2,111], +"group__physics.html#ga0f17b2c81d2d85ff9ff7f853464c38e7":[2,2,112], +"group__physics.html#ga14481630a9253df1784a9cad4e94d904":[2,2,107], "group__physics.html#ga14481630a9253df1784a9cad4e94d904":[4,0,98,8], -"group__physics.html#ga14481630a9253df1784a9cad4e94d904":[2,2,106], "group__physics.html#ga1619e335e650ffbd52cd4961bc0dea9a":[4,0,12,0], -"group__physics.html#ga1619e335e650ffbd52cd4961bc0dea9a":[2,2,118], +"group__physics.html#ga1619e335e650ffbd52cd4961bc0dea9a":[2,2,119], "group__physics.html#ga18053d8127ddb5ed5609e4c748b6ad0d":[4,0,139,0], -"group__physics.html#ga18053d8127ddb5ed5609e4c748b6ad0d":[2,2,138], +"group__physics.html#ga18053d8127ddb5ed5609e4c748b6ad0d":[2,2,139], "group__physics.html#ga190471540583d37595e5532c7534f950":[4,0,98,11], -"group__physics.html#ga190471540583d37595e5532c7534f950":[2,2,109], +"group__physics.html#ga190471540583d37595e5532c7534f950":[2,2,110], "group__physics.html#ga235380b2a5b3cc89a4cd89d089d72b33":[4,0,68,3], -"group__physics.html#ga235380b2a5b3cc89a4cd89d089d72b33":[2,2,139], -"group__physics.html#ga24b23a3a59f7927772ea24eac34c07f8":[2,2,144], -"group__physics.html#ga24b23a3a59f7927772ea24eac34c07f8":[2,2,91,3], +"group__physics.html#ga235380b2a5b3cc89a4cd89d089d72b33":[2,2,140], +"group__physics.html#ga24b23a3a59f7927772ea24eac34c07f8":[2,2,92,3], +"group__physics.html#ga24b23a3a59f7927772ea24eac34c07f8":[2,2,145], "group__physics.html#ga2ab6803c803ae6372791ff060068c6a1":[4,0,128,0], -"group__physics.html#ga2ab6803c803ae6372791ff060068c6a1":[2,2,135], +"group__physics.html#ga2ab6803c803ae6372791ff060068c6a1":[2,2,136], "group__physics.html#ga2cc87661da498e4f0c4ce26b6656e467":[4,0,98,4], -"group__physics.html#ga2cc87661da498e4f0c4ce26b6656e467":[2,2,102], -"group__physics.html#ga314967fa3f63ec7c0b84832edb318458":[2,2,112], +"group__physics.html#ga2cc87661da498e4f0c4ce26b6656e467":[2,2,103], "group__physics.html#ga314967fa3f63ec7c0b84832edb318458":[4,0,98,14], +"group__physics.html#ga314967fa3f63ec7c0b84832edb318458":[2,2,113], "group__physics.html#ga355f2bbe3ef578293e64865eb7986752":[4,0,36,1], -"group__physics.html#ga355f2bbe3ef578293e64865eb7986752":[2,2,120], +"group__physics.html#ga355f2bbe3ef578293e64865eb7986752":[2,2,121], "group__physics.html#ga39043f3971c7c14f163a41f41982701f":[4,0,98,5], -"group__physics.html#ga39043f3971c7c14f163a41f41982701f":[2,2,103], +"group__physics.html#ga39043f3971c7c14f163a41f41982701f":[2,2,104], "group__physics.html#ga396ee882c9ea7398e48bb9e0375a567c":[4,0,68,4], -"group__physics.html#ga396ee882c9ea7398e48bb9e0375a567c":[2,2,152], -"group__physics.html#ga468ad85db838378f0c58cfd02a96949b":[2,2,116], +"group__physics.html#ga396ee882c9ea7398e48bb9e0375a567c":[2,2,153], "group__physics.html#ga468ad85db838378f0c58cfd02a96949b":[4,0,4,0], +"group__physics.html#ga468ad85db838378f0c58cfd02a96949b":[2,2,117], "group__physics.html#ga479e145e0c33b0708ec9dd997480294a":[4,0,68,6], -"group__physics.html#ga479e145e0c33b0708ec9dd997480294a":[2,2,154], +"group__physics.html#ga479e145e0c33b0708ec9dd997480294a":[2,2,155], "group__physics.html#ga4d1a71cd5d63cff2bbd97d8bc8899708":[4,0,36,2], -"group__physics.html#ga4d1a71cd5d63cff2bbd97d8bc8899708":[2,2,121], +"group__physics.html#ga4d1a71cd5d63cff2bbd97d8bc8899708":[2,2,122], "group__physics.html#ga54a626a9a6d80543048bffc654814704":[4,0,133,0], -"group__physics.html#ga54a626a9a6d80543048bffc654814704":[2,2,137], +"group__physics.html#ga54a626a9a6d80543048bffc654814704":[2,2,138], +"group__physics.html#ga5605c240ca14c7fbfabf545edb73bcdc":[2,2,105], "group__physics.html#ga5605c240ca14c7fbfabf545edb73bcdc":[4,0,98,6], -"group__physics.html#ga5605c240ca14c7fbfabf545edb73bcdc":[2,2,104], "group__physics.html#ga59c318a035d7a555f3e2188d757059bf":[4,0,98,15], -"group__physics.html#ga59c318a035d7a555f3e2188d757059bf":[2,2,113], +"group__physics.html#ga59c318a035d7a555f3e2188d757059bf":[2,2,114], +"group__physics.html#ga5c5117095910154a5e39fee736503e72":[2,2,109], "group__physics.html#ga5c5117095910154a5e39fee736503e72":[4,0,98,10], -"group__physics.html#ga5c5117095910154a5e39fee736503e72":[2,2,108], "group__physics.html#ga5d8a1dc3627cf1442f40d91a5ec6b4e3":[4,0,16,1], -"group__physics.html#ga5d8a1dc3627cf1442f40d91a5ec6b4e3":[2,2,134], -"group__physics.html#ga622bf3792efe0007282d836719e80093":[2,2,74,1], -"group__physics.html#ga622bf3792efe0007282d836719e80093":[2,2,146], +"group__physics.html#ga5d8a1dc3627cf1442f40d91a5ec6b4e3":[2,2,135], +"group__physics.html#ga5ff75d3f2ba94c58e7f8f928b11ebb8d":[4,0,130,0], +"group__physics.html#ga5ff75d3f2ba94c58e7f8f928b11ebb8d":[2,2,137], +"group__physics.html#ga622bf3792efe0007282d836719e80093":[2,2,75,1], +"group__physics.html#ga622bf3792efe0007282d836719e80093":[2,2,147], "group__physics.html#ga675117fb97324a28d3b982b47430ea02":[4,0,68,0], -"group__physics.html#ga675117fb97324a28d3b982b47430ea02":[2,2,129], -"group__physics.html#ga737af8e8faa77ff454b310957b681ad0":[2,2,91,1], -"group__physics.html#ga737af8e8faa77ff454b310957b681ad0":[2,2,142], -"group__physics.html#ga78dbfa89bc15b58e317e12f676c309f6":[4,0,36,4], +"group__physics.html#ga675117fb97324a28d3b982b47430ea02":[2,2,130], +"group__physics.html#ga737af8e8faa77ff454b310957b681ad0":[2,2,92,1], +"group__physics.html#ga737af8e8faa77ff454b310957b681ad0":[2,2,143], "group__physics.html#ga78dbfa89bc15b58e317e12f676c309f6":[4,0,12,1], -"group__physics.html#ga78dbfa89bc15b58e317e12f676c309f6":[2,2,148], +"group__physics.html#ga78dbfa89bc15b58e317e12f676c309f6":[4,0,36,4], +"group__physics.html#ga78dbfa89bc15b58e317e12f676c309f6":[2,2,149], "group__physics.html#ga7b0c5783657e45e3fd752adfe3c1d069":[4,0,68,1], -"group__physics.html#ga7b0c5783657e45e3fd752adfe3c1d069":[2,2,130], -"group__physics.html#ga7c50eeff3e586897d4441a18e43b7237":[2,2,21,0], -"group__physics.html#ga7c50eeff3e586897d4441a18e43b7237":[2,2,149], +"group__physics.html#ga7b0c5783657e45e3fd752adfe3c1d069":[2,2,131], +"group__physics.html#ga7c50eeff3e586897d4441a18e43b7237":[2,2,22,0], +"group__physics.html#ga7c50eeff3e586897d4441a18e43b7237":[2,2,150], "group__physics.html#ga7d5660bc1b17b72651434edf7fa022a8":[4,0,98,1], -"group__physics.html#ga7d5660bc1b17b72651434edf7fa022a8":[2,2,99], -"group__physics.html#ga7faafa414d3b4a468091cdaf785a931e":[2,2,76,1], -"group__physics.html#ga7faafa414d3b4a468091cdaf785a931e":[2,2,147], +"group__physics.html#ga7d5660bc1b17b72651434edf7fa022a8":[2,2,100], +"group__physics.html#ga7faafa414d3b4a468091cdaf785a931e":[2,2,77,1], +"group__physics.html#ga7faafa414d3b4a468091cdaf785a931e":[2,2,148], "group__physics.html#ga8039bfec65da68b2294a97175ddb2c66":[4,0,101,1], -"group__physics.html#ga8039bfec65da68b2294a97175ddb2c66":[2,2,151], +"group__physics.html#ga8039bfec65da68b2294a97175ddb2c66":[2,2,152], "group__physics.html#ga824f991be62d7c28eadf32316562408f":[4,0,101,2], -"group__physics.html#ga824f991be62d7c28eadf32316562408f":[2,2,155], +"group__physics.html#ga824f991be62d7c28eadf32316562408f":[2,2,156], "group__physics.html#ga89ec6835295298336ceaca7069ba96e4":[4,0,16,2], -"group__physics.html#ga89ec6835295298336ceaca7069ba96e4":[2,2,140], +"group__physics.html#ga89ec6835295298336ceaca7069ba96e4":[2,2,141], "group__physics.html#ga8a5eb66875b992351ed7038b8001bbea":[4,0,98,2], -"group__physics.html#ga8a5eb66875b992351ed7038b8001bbea":[2,2,100], -"group__physics.html#ga8c083fd86a8c52ff269aa4dd3407127b":[2,2,76,0], -"group__physics.html#ga8c083fd86a8c52ff269aa4dd3407127b":[2,2,159], +"group__physics.html#ga8a5eb66875b992351ed7038b8001bbea":[2,2,101], +"group__physics.html#ga8c083fd86a8c52ff269aa4dd3407127b":[2,2,77,0], +"group__physics.html#ga8c083fd86a8c52ff269aa4dd3407127b":[2,2,160], "group__physics.html#ga90395861aa5abb531d3dd02790bc2b18":[4,0,88,0], -"group__physics.html#ga90395861aa5abb531d3dd02790bc2b18":[2,2,125], -"group__physics.html#ga90b8a1ec43be7a15eb0efd30404a8f72":[2,2,21,1], -"group__physics.html#ga90b8a1ec43be7a15eb0efd30404a8f72":[2,2,145], +"group__physics.html#ga90395861aa5abb531d3dd02790bc2b18":[2,2,126], +"group__physics.html#ga90b8a1ec43be7a15eb0efd30404a8f72":[2,2,22,1], +"group__physics.html#ga90b8a1ec43be7a15eb0efd30404a8f72":[2,2,146], "group__physics.html#ga92144d0904f8a696f85737c576b88d9f":[4,0,101,3], -"group__physics.html#ga92144d0904f8a696f85737c576b88d9f":[2,2,156], +"group__physics.html#ga92144d0904f8a696f85737c576b88d9f":[2,2,157], "group__physics.html#ga954670d5fc7724d1a5a20f39e72e301b":[4,0,36,19], -"group__physics.html#ga954670d5fc7724d1a5a20f39e72e301b":[2,2,165], +"group__physics.html#ga954670d5fc7724d1a5a20f39e72e301b":[2,2,166], "group__physics.html#gaa03d6d79255886721c3e1a946b5a805f":[4,0,36,0], -"group__physics.html#gaa03d6d79255886721c3e1a946b5a805f":[2,2,115], +"group__physics.html#gaa03d6d79255886721c3e1a946b5a805f":[2,2,116], "group__physics.html#gaa4275c674f70ce3f0be586339eb0b045":[4,0,145,1], -"group__physics.html#gaa4275c674f70ce3f0be586339eb0b045":[2,2,124], -"group__physics.html#gaa7375184ba494172fa7677dae44bd9a8":[2,2,76,2], -"group__physics.html#gaa7375184ba494172fa7677dae44bd9a8":[2,2,162], +"group__physics.html#gaa4275c674f70ce3f0be586339eb0b045":[2,2,125], +"group__physics.html#gaa7375184ba494172fa7677dae44bd9a8":[2,2,77,2], +"group__physics.html#gaa7375184ba494172fa7677dae44bd9a8":[2,2,163], "group__physics.html#gaa85dd505b96db854d4ffdbe24fcb9089":[4,0,36,3], -"group__physics.html#gaa85dd505b96db854d4ffdbe24fcb9089":[2,2,122], +"group__physics.html#gaa85dd505b96db854d4ffdbe24fcb9089":[2,2,123], "group__physics.html#gaacd9cb0f0e89fbbc09fec759b254d109":[4,0,92,0], -"group__physics.html#gaacd9cb0f0e89fbbc09fec759b254d109":[2,2,131], -"group__physics.html#gab35e15599f740af43f399ed4ad9f04e8":[4,0,130,0], -"group__physics.html#gab35e15599f740af43f399ed4ad9f04e8":[2,2,136], -"group__physics.html#gab6d54df954c875ccacf8bddba593cf83":[2,2,91,2], -"group__physics.html#gab6d54df954c875ccacf8bddba593cf83":[2,2,143], +"group__physics.html#gaacd9cb0f0e89fbbc09fec759b254d109":[2,2,132], +"group__physics.html#gab6d54df954c875ccacf8bddba593cf83":[2,2,92,2], +"group__physics.html#gab6d54df954c875ccacf8bddba593cf83":[2,2,144], "group__physics.html#gabd83d1895d4f68e1e3e0f406c4c8ce65":[4,0,68,5], -"group__physics.html#gabd83d1895d4f68e1e3e0f406c4c8ce65":[2,2,153], -"group__physics.html#gacacbeccf757e60dbf45089ef382681d9":[2,2,133], +"group__physics.html#gabd83d1895d4f68e1e3e0f406c4c8ce65":[2,2,154], +"group__physics.html#gacacbeccf757e60dbf45089ef382681d9":[2,2,134], "group__physics.html#gacacbeccf757e60dbf45089ef382681d9":[4,0,68,2], -"group__physics.html#gad00ce21229da4335d2cbdee921317aa6":[4,0,12,5], -"group__physics.html#gad00ce21229da4335d2cbdee921317aa6":[2,2,164], -"group__physics.html#gad36024f1760b55b0947dc0d91e080bd7":[2,2,74,0], -"group__physics.html#gad36024f1760b55b0947dc0d91e080bd7":[2,2,160], +"group__physics.html#gad00ce21229da4335d2cbdee921317aa6":[2,2,165], +"group__physics.html#gad00ce21229da4335d2cbdee921317aa6":[4,0,12,7], +"group__physics.html#gad36024f1760b55b0947dc0d91e080bd7":[2,2,75,0], +"group__physics.html#gad36024f1760b55b0947dc0d91e080bd7":[2,2,161], "group__physics.html#gad42d1fc82f3ab8db230e5050f2fe0cd0":[4,0,98,9], -"group__physics.html#gad42d1fc82f3ab8db230e5050f2fe0cd0":[2,2,107], +"group__physics.html#gad42d1fc82f3ab8db230e5050f2fe0cd0":[2,2,108], "group__physics.html#gad63c429157f9c8c87fcd0ea2f9b79f66":[4,0,101,0], -"group__physics.html#gad63c429157f9c8c87fcd0ea2f9b79f66":[2,2,150], +"group__physics.html#gad63c429157f9c8c87fcd0ea2f9b79f66":[2,2,151], +"group__physics.html#gadf1f469d767ae64422c20cce7c71a6b3":[2,2,111], "group__physics.html#gadf1f469d767ae64422c20cce7c71a6b3":[4,0,98,12], -"group__physics.html#gadf1f469d767ae64422c20cce7c71a6b3":[2,2,110], -"group__physics.html#gae0a66b10a979f7449050bc97669530b2":[2,2,132], "group__physics.html#gae0a66b10a979f7449050bc97669530b2":[4,0,16,0], +"group__physics.html#gae0a66b10a979f7449050bc97669530b2":[2,2,133], "group__physics.html#gae3a84455caaa6a7de67513ea29a315e1":[4,0,101,5], -"group__physics.html#gae3a84455caaa6a7de67513ea29a315e1":[2,2,158], +"group__physics.html#gae3a84455caaa6a7de67513ea29a315e1":[2,2,159], +"group__physics.html#gae42707bb37470210b586a341ff585b78":[2,2,102], "group__physics.html#gae42707bb37470210b586a341ff585b78":[4,0,98,3], -"group__physics.html#gae42707bb37470210b586a341ff585b78":[2,2,101], +"group__physics.html#gae5d4ef1b3321702c4431da8fe72b8f7f":[2,2,142], "group__physics.html#gae5d4ef1b3321702c4431da8fe72b8f7f":[4,0,145,2], -"group__physics.html#gae5d4ef1b3321702c4431da8fe72b8f7f":[2,2,141], -"group__physics.html#gae673c050f15b0fc912860adbb3394e34":[2,2,74,2], -"group__physics.html#gae673c050f15b0fc912860adbb3394e34":[2,2,161], +"group__physics.html#gae673c050f15b0fc912860adbb3394e34":[2,2,75,2], +"group__physics.html#gae673c050f15b0fc912860adbb3394e34":[2,2,162], "group__physics.html#gae73039b8bd7e7f4a606acfba4811291c":[4,0,145,0], -"group__physics.html#gae73039b8bd7e7f4a606acfba4811291c":[2,2,123], +"group__physics.html#gae73039b8bd7e7f4a606acfba4811291c":[2,2,124], "group__physics.html#gae76639de8e4ab9d5e155f72b394812d2":[4,0,132,0], -"group__physics.html#gae76639de8e4ab9d5e155f72b394812d2":[2,2,117], +"group__physics.html#gae76639de8e4ab9d5e155f72b394812d2":[2,2,118], "group__physics.html#gaec480d86354043f6c7cb13b237914e7f":[4,0,68,7], -"group__physics.html#gaec480d86354043f6c7cb13b237914e7f":[2,2,163], +"group__physics.html#gaec480d86354043f6c7cb13b237914e7f":[2,2,164], "group__physics.html#gaf2b7f07d3fa7fafaf3d85114fbb120ee":[4,0,35,0], -"group__physics.html#gaf2b7f07d3fa7fafaf3d85114fbb120ee":[2,2,119], -"group__physics.html#gaf665154f3f66f7c4f65ca9015db8ee87":[4,0,132,1], -"group__physics.html#gaf665154f3f66f7c4f65ca9015db8ee87":[2,2,127], +"group__physics.html#gaf2b7f07d3fa7fafaf3d85114fbb120ee":[2,2,120], "group__physics.html#gaf665154f3f66f7c4f65ca9015db8ee87":[4,0,4,1], +"group__physics.html#gaf665154f3f66f7c4f65ca9015db8ee87":[4,0,132,1], "group__physics.html#gaf665154f3f66f7c4f65ca9015db8ee87":[2,2,128], +"group__physics.html#gaf665154f3f66f7c4f65ca9015db8ee87":[2,2,129], "group__physics.html#gafa22d81f1318ef3c37f1d746ac686c22":[4,0,101,4], -"group__physics.html#gafa22d81f1318ef3c37f1d746ac686c22":[2,2,157], +"group__physics.html#gafa22d81f1318ef3c37f1d746ac686c22":[2,2,158], "group__physics.html#gafb4c5337ad84e1f9eeaa8d3d33caa819":[4,0,61,0], -"group__physics.html#gafb4c5337ad84e1f9eeaa8d3d33caa819":[2,2,126], +"group__physics.html#gafb4c5337ad84e1f9eeaa8d3d33caa819":[2,2,127], "group__physics.html#gaffbcca4cdc677e1e2fe5cf379146727e":[4,0,98,16], -"group__physics.html#gaffbcca4cdc677e1e2fe5cf379146727e":[2,2,114], +"group__physics.html#gaffbcca4cdc677e1e2fe5cf379146727e":[2,2,115], "group__pvd.html":[2,8], "group__pvd.html#ga12ad7e982ca0e3d97f15c6bac4c479a2":[4,0,117,0], "group__pvd.html#ga12ad7e982ca0e3d97f15c6bac4c479a2":[2,8,9], @@ -200,10 +219,10 @@ var NAVTREEINDEX17 = "group__pvd.html#ga23ddab69994886fb588a139635bff64b":[2,8,7], "group__pvd.html#ga4e8b7695b7145523688243b39da116c9":[4,0,115,0], "group__pvd.html#ga4e8b7695b7145523688243b39da116c9":[2,8,6], -"group__pvd.html#gaba53e1ef15e10cade433600f8f7954c4":[2,8,10], "group__pvd.html#gaba53e1ef15e10cade433600f8f7954c4":[4,0,117,1], -"group__pvd.html#gaf0cb52973319101ff0f34f985c5093e7":[4,0,115,1], +"group__pvd.html#gaba53e1ef15e10cade433600f8f7954c4":[2,8,10], "group__pvd.html#gaf0cb52973319101ff0f34f985c5093e7":[2,8,8], +"group__pvd.html#gaf0cb52973319101ff0f34f985c5093e7":[4,0,115,1], "group__scenequery.html":[2,9], "group__scenequery.html#ga037fc04d69de2f4067656836ab9d7298":[4,0,119,3], "group__scenequery.html#ga037fc04d69de2f4067656836ab9d7298":[2,9,27], @@ -211,8 +230,8 @@ var NAVTREEINDEX17 = "group__scenequery.html#ga4d0184965c0a910f5c96cb69c0690f5c":[2,9,17], "group__scenequery.html#ga4dbe8142d799492bd8e7c5ec70bfac41":[4,0,120,4], "group__scenequery.html#ga4dbe8142d799492bd8e7c5ec70bfac41":[2,9,24], -"group__scenequery.html#ga54a708942a891f3321c2427d5c160750":[2,9,20], "group__scenequery.html#ga54a708942a891f3321c2427d5c160750":[4,0,120,1], +"group__scenequery.html#ga54a708942a891f3321c2427d5c160750":[2,9,20], "group__scenequery.html#ga6f93f556cef747d50f643499928dd865":[4,0,120,6], "group__scenequery.html#ga6f93f556cef747d50f643499928dd865":[2,9,26], "group__scenequery.html#ga8cbf76701572506b8120b8e54ac319c7":[4,0,119,0], @@ -223,31 +242,12 @@ var NAVTREEINDEX17 = "group__scenequery.html#gaa231e804efb78bc7d3405c9e4bd31502":[2,9,28], "group__scenequery.html#gaacf083b040f6c841644782282171bd61":[4,0,119,2], "group__scenequery.html#gaacf083b040f6c841644782282171bd61":[2,9,22], -"group__scenequery.html#gab21a68ce9e5a18aa742111920b75a84c":[2,9,23], "group__scenequery.html#gab21a68ce9e5a18aa742111920b75a84c":[4,0,120,3], -"group__scenequery.html#gab2564436bacfef3130eb9f0c9070656e":[4,0,119,1], +"group__scenequery.html#gab21a68ce9e5a18aa742111920b75a84c":[2,9,23], "group__scenequery.html#gab2564436bacfef3130eb9f0c9070656e":[2,9,19], -"group__scenequery.html#gaecfed2b83a930b922b3d95e22ff30665":[2,9,25], +"group__scenequery.html#gab2564436bacfef3130eb9f0c9070656e":[4,0,119,1], "group__scenequery.html#gaecfed2b83a930b922b3d95e22ff30665":[4,0,120,5], +"group__scenequery.html#gaecfed2b83a930b922b3d95e22ff30665":[2,9,25], "group__vehicle.html":[2,11], -"group__vehicle.html#ga0c3a7dea79cf9968bd350a49ce0fd770":[2,11,47], -"group__vehicle.html#ga0c3a7dea79cf9968bd350a49ce0fd770":[4,0,176,0], -"group__vehicle.html#ga1acc47dad2914768ee6074320b0a5643":[2,11,64], -"group__vehicle.html#ga1acc47dad2914768ee6074320b0a5643":[4,0,179,0], -"group__vehicle.html#ga2020b9fcb5092e2a2d81e82ba7461dfd":[2,11,71], -"group__vehicle.html#ga2020b9fcb5092e2a2d81e82ba7461dfd":[4,0,179,3], -"group__vehicle.html#ga2b7b927dd3d949d50a3f42c695264f43":[4,0,177,0], -"group__vehicle.html#ga2b7b927dd3d949d50a3f42c695264f43":[2,11,49], -"group__vehicle.html#ga2b7e00f8931f3b84d3aa6510d7a6cfaa":[2,11,61], -"group__vehicle.html#ga2b7e00f8931f3b84d3aa6510d7a6cfaa":[4,0,181,5], -"group__vehicle.html#ga2da633b926f231e27c27dcb877535bc3":[2,11,59], -"group__vehicle.html#ga2da633b926f231e27c27dcb877535bc3":[4,0,181,3], -"group__vehicle.html#ga34079f5978ce1dfcf2a991c0458108f2":[2,11,53], -"group__vehicle.html#ga34079f5978ce1dfcf2a991c0458108f2":[4,0,182,0], -"group__vehicle.html#ga3b853549d4313bbbbf6a23ccd96817c5":[2,11,69], -"group__vehicle.html#ga3b853549d4313bbbbf6a23ccd96817c5":[4,0,176,7], -"group__vehicle.html#ga3c9f3da897c9294c9164aa41b18150e3":[4,0,179,4], -"group__vehicle.html#ga3c9f3da897c9294c9164aa41b18150e3":[2,11,72], -"group__vehicle.html#ga47aff43683966ca9d1118a1bf4a1f5c2":[2,11,74], -"group__vehicle.html#ga47aff43683966ca9d1118a1bf4a1f5c2":[4,0,179,5] +"group__vehicle.html#ga0c3a7dea79cf9968bd350a49ce0fd770":[2,11,48] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex18.js b/physx/documentation/PhysXAPI/files/navtreeindex18.js index fb2c7e8d6..115a0c0f6 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex18.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex18.js @@ -1,48 +1,69 @@ var NAVTREEINDEX18 = { -"group__vehicle.html#ga4eb698c19004af6a07c2b2a666f0c1ce":[2,11,67], +"group__vehicle.html#ga0c3a7dea79cf9968bd350a49ce0fd770":[4,0,176,0], +"group__vehicle.html#ga1acc47dad2914768ee6074320b0a5643":[2,11,66], +"group__vehicle.html#ga1acc47dad2914768ee6074320b0a5643":[4,0,179,0], +"group__vehicle.html#ga2020b9fcb5092e2a2d81e82ba7461dfd":[4,0,179,3], +"group__vehicle.html#ga2020b9fcb5092e2a2d81e82ba7461dfd":[2,11,73], +"group__vehicle.html#ga2b7b927dd3d949d50a3f42c695264f43":[2,11,50], +"group__vehicle.html#ga2b7b927dd3d949d50a3f42c695264f43":[4,0,177,0], +"group__vehicle.html#ga2b7e00f8931f3b84d3aa6510d7a6cfaa":[2,11,63], +"group__vehicle.html#ga2b7e00f8931f3b84d3aa6510d7a6cfaa":[4,0,181,5], +"group__vehicle.html#ga2da633b926f231e27c27dcb877535bc3":[2,11,61], +"group__vehicle.html#ga2da633b926f231e27c27dcb877535bc3":[4,0,181,3], +"group__vehicle.html#ga34079f5978ce1dfcf2a991c0458108f2":[2,11,55], +"group__vehicle.html#ga34079f5978ce1dfcf2a991c0458108f2":[4,0,182,0], +"group__vehicle.html#ga3b853549d4313bbbbf6a23ccd96817c5":[2,11,71], +"group__vehicle.html#ga3b853549d4313bbbbf6a23ccd96817c5":[4,0,176,7], +"group__vehicle.html#ga3c9f3da897c9294c9164aa41b18150e3":[2,11,74], +"group__vehicle.html#ga3c9f3da897c9294c9164aa41b18150e3":[4,0,179,4], +"group__vehicle.html#ga47aff43683966ca9d1118a1bf4a1f5c2":[4,0,179,5], +"group__vehicle.html#ga47aff43683966ca9d1118a1bf4a1f5c2":[2,11,76], +"group__vehicle.html#ga4eb698c19004af6a07c2b2a666f0c1ce":[2,11,69], "group__vehicle.html#ga4eb698c19004af6a07c2b2a666f0c1ce":[4,0,176,5], -"group__vehicle.html#ga61b39294176ee679d4d1229d3ad95966":[2,11,58], "group__vehicle.html#ga61b39294176ee679d4d1229d3ad95966":[4,0,181,2], -"group__vehicle.html#ga784f2317a01aa2367b6170bfabdc5097":[2,11,57], +"group__vehicle.html#ga61b39294176ee679d4d1229d3ad95966":[2,11,60], +"group__vehicle.html#ga784f2317a01aa2367b6170bfabdc5097":[2,11,59], "group__vehicle.html#ga784f2317a01aa2367b6170bfabdc5097":[4,0,181,1], -"group__vehicle.html#ga7c8330d753c24dc9a14d11a0355768a9":[2,11,66], +"group__vehicle.html#ga7c8330d753c24dc9a14d11a0355768a9":[2,11,68], "group__vehicle.html#ga7c8330d753c24dc9a14d11a0355768a9":[4,0,176,4], +"group__vehicle.html#ga89b530b003b89280677e09327fbdb606":[2,11,64], "group__vehicle.html#ga89b530b003b89280677e09327fbdb606":[4,0,181,6], -"group__vehicle.html#ga89b530b003b89280677e09327fbdb606":[2,11,62], -"group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc":[2,11,50], -"group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc":[4,0,173,0], +"group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc":[2,11,52], "group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc":[4,0,178,0], -"group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc":[4,0,184,0], -"group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc":[4,0,170,0], "group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc":[4,0,171,0], -"group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc":[4,0,174,0], "group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc":[4,0,172,0], +"group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc":[4,0,174,0], "group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc":[4,0,181,0], +"group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc":[4,0,184,1], "group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc":[4,0,175,0], -"group__vehicle.html#ga946f4d23cff6fdf36dca694641e20779":[2,11,73], +"group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc":[4,0,173,0], +"group__vehicle.html#ga8d4cfac998db5828bcfff2253c3d1fcc":[4,0,170,0], +"group__vehicle.html#ga946f4d23cff6fdf36dca694641e20779":[2,11,75], "group__vehicle.html#ga946f4d23cff6fdf36dca694641e20779":[4,0,182,4], -"group__vehicle.html#ga9e1512107497cdfcc620b575d3c135e6":[2,11,51], "group__vehicle.html#ga9e1512107497cdfcc620b575d3c135e6":[4,0,176,2], -"group__vehicle.html#gaa3f9a31ecbd63962ee372a8b922dd23c":[2,11,56], +"group__vehicle.html#ga9e1512107497cdfcc620b575d3c135e6":[2,11,53], "group__vehicle.html#gaa3f9a31ecbd63962ee372a8b922dd23c":[4,0,182,3], -"group__vehicle.html#gaa5280613d99e11cf175331dfff96df34":[2,11,54], +"group__vehicle.html#gaa3f9a31ecbd63962ee372a8b922dd23c":[2,11,58], +"group__vehicle.html#gaa5280613d99e11cf175331dfff96df34":[2,11,56], "group__vehicle.html#gaa5280613d99e11cf175331dfff96df34":[4,0,182,1], -"group__vehicle.html#gaa52f6479b78eccd706af05e1e0a0c43f":[2,11,48], +"group__vehicle.html#gaa52f6479b78eccd706af05e1e0a0c43f":[2,11,49], "group__vehicle.html#gaa52f6479b78eccd706af05e1e0a0c43f":[4,0,176,1], -"group__vehicle.html#gaa537690bce749bdce4e5eca80d43d53a":[2,11,60], +"group__vehicle.html#gaa537690bce749bdce4e5eca80d43d53a":[2,11,62], "group__vehicle.html#gaa537690bce749bdce4e5eca80d43d53a":[4,0,181,4], -"group__vehicle.html#gaa7aaf3de1f2da04c2617a36d053398ca":[2,11,52], +"group__vehicle.html#gaa7aaf3de1f2da04c2617a36d053398ca":[2,11,54], "group__vehicle.html#gaa7aaf3de1f2da04c2617a36d053398ca":[4,0,176,3], -"group__vehicle.html#gabfa604162177064bc35b16627f2053d1":[2,11,55], +"group__vehicle.html#gab5de07a7bd475df4e4c41f3f11ddcdb5":[4,0,184,0], +"group__vehicle.html#gab5de07a7bd475df4e4c41f3f11ddcdb5":[2,11,51], "group__vehicle.html#gabfa604162177064bc35b16627f2053d1":[4,0,182,2], -"group__vehicle.html#gae62e4d3360ae24537d7fe2100e79f24c":[2,11,70], +"group__vehicle.html#gabfa604162177064bc35b16627f2053d1":[2,11,57], +"group__vehicle.html#gae62e4d3360ae24537d7fe2100e79f24c":[2,11,72], "group__vehicle.html#gae62e4d3360ae24537d7fe2100e79f24c":[4,0,179,2], +"group__vehicle.html#gae7390efc088e2d8624da2ba007bfbb6e":[2,11,65], "group__vehicle.html#gae7390efc088e2d8624da2ba007bfbb6e":[4,0,180,0], -"group__vehicle.html#gae7390efc088e2d8624da2ba007bfbb6e":[2,11,63], -"group__vehicle.html#gaf1eb208ee9ffdbfa91d20ee3bb5087e0":[2,11,68], +"group__vehicle.html#gaf1eb208ee9ffdbfa91d20ee3bb5087e0":[2,11,70], "group__vehicle.html#gaf1eb208ee9ffdbfa91d20ee3bb5087e0":[4,0,176,6], -"group__vehicle.html#gaf9349122c5cf95fec09bd09ce5e540d2":[2,11,65], +"group__vehicle.html#gaf9349122c5cf95fec09bd09ce5e540d2":[2,11,67], "group__vehicle.html#gaf9349122c5cf95fec09bd09ce5e540d2":[4,0,179,1], "hierarchy.html":[3,2], "index.html":[], @@ -51,36 +72,36 @@ var NAVTREEINDEX18 = "namespacephysx.html":[3,0,0], "namespacephysx_1_1Gu.html":[3,0,0,0], "pages.html":[], -"structPx1DConstraint.html":[2,2,32], -"structPx1DConstraint.html#a01a90f96995025e7d3216c50b4506c0b":[2,2,32,17], -"structPx1DConstraint.html#a1d6fb39145a651f0c145224722bdd650":[2,2,32,11], -"structPx1DConstraint.html#a387a6f2c771a16baacec65616ed8ebab":[2,2,32,2], -"structPx1DConstraint.html#a3fb75660dac72bb241a54056873c028b":[2,2,32,14], -"structPx1DConstraint.html#a467f316062f0cb43f525bfbda8debfa5":[2,2,32,16], -"structPx1DConstraint.html#a4fa4372a941804afe9cb779e5fdabd34":[2,2,32,4], -"structPx1DConstraint.html#a5bbb41ebffef415b52f7ee3b17b24e9e":[2,2,32,15], -"structPx1DConstraint.html#a6c9b5b544322e92ba2c072f159770cd4":[2,2,32,13], -"structPx1DConstraint.html#a913d1b17c7ed6bb8ae18e5fd6135c103":[2,2,32,12], -"structPx1DConstraint.html#a9523a9ebd2707f8d442ca4a0bf4da573":[2,2,32,8], -"structPx1DConstraint.html#ab7a1efaff54cb4d2fd6e3e7cc01a2503":[2,2,32,1], -"structPx1DConstraint.html#ac551561bbc886a7da26567e4f9cf4ce4":[2,2,32,10], -"structPx1DConstraint.html#ac56cab2d459ade70824f04821404889c":[2,2,32,7], -"structPx1DConstraint.html#ac5dc79c3d9b9f4c81ffb4ec77941fb40":[2,2,32,3], -"structPx1DConstraint.html#ad4a0113d0c4cf939f9abc3df65120848":[2,2,32,9], -"structPx1DConstraint.html#ae3ad7c8d4370c7b26634bd8e5046ba9a":[2,2,32,6], -"structPx1DConstraint.html#afaf3f8a6b645f3b48c123ab94016b1c2":[2,2,32,0], -"structPx1DConstraint.html#afe3ef2ec367fddacd4cbb925efd1f8be":[2,2,32,5], -"structPx1DConstraintFlag.html":[2,2,30], -"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76":[2,2,30,0], -"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76a0d18eaf98170ae87fe083012a18e4b86":[2,2,30,0,6], -"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76a244fc1fabbf49fb8d9fce48d1ba0e4e9":[2,2,30,0,7], -"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76a338b74d70a422ba65220cdc82e5b353b":[2,2,30,0,4], -"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76a4584044b6824a4cb54860d7b0f2b52ad":[2,2,30,0,2], -"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76a7316452fb92e4b83c1b26369f94e105e":[2,2,30,0,0], -"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76ab342ba9b86191665ad5712a97edf60ec":[2,2,30,0,1], -"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76aec86f2534814e03217b64f1a5f3141a3":[2,2,30,0,5], -"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76afe970d54ca9cd86c718284dd8b558583":[2,2,30,0,3], -"structPx1DConstraintFlag.html#a7257c40cb8c4724bd3dc33b357f9ab84":[2,2,30,1], +"structPx1DConstraint.html":[2,2,33], +"structPx1DConstraint.html#a01a90f96995025e7d3216c50b4506c0b":[2,2,33,17], +"structPx1DConstraint.html#a1d6fb39145a651f0c145224722bdd650":[2,2,33,11], +"structPx1DConstraint.html#a387a6f2c771a16baacec65616ed8ebab":[2,2,33,2], +"structPx1DConstraint.html#a3fb75660dac72bb241a54056873c028b":[2,2,33,14], +"structPx1DConstraint.html#a467f316062f0cb43f525bfbda8debfa5":[2,2,33,16], +"structPx1DConstraint.html#a4fa4372a941804afe9cb779e5fdabd34":[2,2,33,4], +"structPx1DConstraint.html#a5bbb41ebffef415b52f7ee3b17b24e9e":[2,2,33,15], +"structPx1DConstraint.html#a6c9b5b544322e92ba2c072f159770cd4":[2,2,33,13], +"structPx1DConstraint.html#a913d1b17c7ed6bb8ae18e5fd6135c103":[2,2,33,12], +"structPx1DConstraint.html#a9523a9ebd2707f8d442ca4a0bf4da573":[2,2,33,8], +"structPx1DConstraint.html#ab7a1efaff54cb4d2fd6e3e7cc01a2503":[2,2,33,1], +"structPx1DConstraint.html#ac551561bbc886a7da26567e4f9cf4ce4":[2,2,33,10], +"structPx1DConstraint.html#ac56cab2d459ade70824f04821404889c":[2,2,33,7], +"structPx1DConstraint.html#ac5dc79c3d9b9f4c81ffb4ec77941fb40":[2,2,33,3], +"structPx1DConstraint.html#ad4a0113d0c4cf939f9abc3df65120848":[2,2,33,9], +"structPx1DConstraint.html#ae3ad7c8d4370c7b26634bd8e5046ba9a":[2,2,33,6], +"structPx1DConstraint.html#afaf3f8a6b645f3b48c123ab94016b1c2":[2,2,33,0], +"structPx1DConstraint.html#afe3ef2ec367fddacd4cbb925efd1f8be":[2,2,33,5], +"structPx1DConstraintFlag.html":[2,2,31], +"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76":[2,2,31,0], +"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76a0d18eaf98170ae87fe083012a18e4b86":[2,2,31,0,6], +"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76a244fc1fabbf49fb8d9fce48d1ba0e4e9":[2,2,31,0,7], +"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76a338b74d70a422ba65220cdc82e5b353b":[2,2,31,0,4], +"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76a4584044b6824a4cb54860d7b0f2b52ad":[2,2,31,0,2], +"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76a7316452fb92e4b83c1b26369f94e105e":[2,2,31,0,0], +"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76ab342ba9b86191665ad5712a97edf60ec":[2,2,31,0,1], +"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76aec86f2534814e03217b64f1a5f3141a3":[2,2,31,0,5], +"structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76afe970d54ca9cd86c718284dd8b558583":[2,2,31,0,3], +"structPx1DConstraintFlag.html#a7257c40cb8c4724bd3dc33b357f9ab84":[2,2,31,1], "structPxActorFlag.html":[2,2,2], "structPxActorFlag.html#a1bc4c717e79cd547bdbe09a179ee9f1d":[2,2,2,0], "structPxActorFlag.html#a1bc4c717e79cd547bdbe09a179ee9f1da03bcf1cfcfcf30af05daa888272e0477":[2,2,2,0,0], @@ -99,10 +120,10 @@ var NAVTREEINDEX18 = "structPxActorType.html#a25c5a270f1f5c1955a00d7554f7688d7a6abed597089004f428276d4ef225db12":[2,2,3,0,3], "structPxActorType.html#a25c5a270f1f5c1955a00d7554f7688d7a81e9731829e3f092569e2c9b86484413":[2,2,3,0,1], "structPxActorType.html#a25c5a270f1f5c1955a00d7554f7688d7ac576e27c63fe565d6a1711342f781b7d":[2,2,3,0,4], -"structPxActorTypeFlag.html":[2,2,66], -"structPxActorTypeFlag.html#a62171a3f7d2dfa4b4b87285afdf6bae4":[2,2,66,0], -"structPxActorTypeFlag.html#a62171a3f7d2dfa4b4b87285afdf6bae4a65c1babc829fb5bc437f90ecec14d7fc":[2,2,66,0,0], -"structPxActorTypeFlag.html#a62171a3f7d2dfa4b4b87285afdf6bae4aa24d95f1654290038bb3b1767ff5a1ad":[2,2,66,0,1], +"structPxActorTypeFlag.html":[2,2,67], +"structPxActorTypeFlag.html#a62171a3f7d2dfa4b4b87285afdf6bae4":[2,2,67,0], +"structPxActorTypeFlag.html#a62171a3f7d2dfa4b4b87285afdf6bae4a65c1babc829fb5bc437f90ecec14d7fc":[2,2,67,0,0], +"structPxActorTypeFlag.html#a62171a3f7d2dfa4b4b87285afdf6bae4aa24d95f1654290038bb3b1767ff5a1ad":[2,2,67,0,1], "structPxArticulationAxis.html":[3,0,11], "structPxArticulationAxis.html#a5c835f1d727bfc738d1fc7a7595d7395":[3,0,11,0], "structPxArticulationAxis.html#a5c835f1d727bfc738d1fc7a7595d7395a09384f4a095731741d93530048614de7":[3,0,11,0,6], @@ -120,9 +141,13 @@ var NAVTREEINDEX18 = "structPxArticulationDriveType.html":[3,0,16], "structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66":[3,0,16,0], "structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a05c2a66b7f4f1cbaa672ee7f0934d698":[3,0,16,0,0], +"structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a23e638128e210cafb190ebc3b74b946c":[3,0,16,0,2], +"structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a251a5fda8faa00b14528a841e481c38b":[3,0,16,0,3], "structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a3d9a932de20659705c6bd00027f06111":[3,0,16,0,1], +"structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a3fda091699a60c74bfb7f1999cd47c1a":[3,0,16,0,4], "structPxArticulationFlag.html":[3,0,17], "structPxArticulationFlag.html#a89b0e25f041302ae04e5cc0b509a7609":[3,0,17,0], +"structPxArticulationFlag.html#a89b0e25f041302ae04e5cc0b509a7609a0bc0b9ec065971fd2708868f819f27d5":[3,0,17,0,1], "structPxArticulationFlag.html#a89b0e25f041302ae04e5cc0b509a7609a625f41920c4a20ea5317fdc939a74674":[3,0,17,0,0], "structPxArticulationJointData.html":[2,10,3], "structPxArticulationJointData.html#acddf7deb0879288fbc9428ee84b7f6c6":[2,10,3,1], @@ -146,12 +171,12 @@ var NAVTREEINDEX18 = "structPxArticulationMotion.html#af04dcaf188047e88858bb7352bdfe879a93e73f43c42672207a2abf9904d47a50":[3,0,26,0,1], "structPxArticulationMotion.html#af04dcaf188047e88858bb7352bdfe879aa856908c1ad1720774753eee4ef7acae":[3,0,26,0,2], "structPxArticulationMotion.html#af04dcaf188047e88858bb7352bdfe879af640457f343a3cd57412d5aedf2b6808":[3,0,26,0,0], -"structPxArticulationRootLinkData.html":[2,2,15], -"structPxArticulationRootLinkData.html#a31a1563d7d322c9a8898b3ed278e08c1":[2,2,15,2], -"structPxArticulationRootLinkData.html#a7486a9d76ac13182f58f5a1876b919a2":[2,2,15,3], -"structPxArticulationRootLinkData.html#ab1502e0364f2784bb5465415256ac778":[2,2,15,1], -"structPxArticulationRootLinkData.html#ae3563e988889f47d88af9c041409a5c3":[2,2,15,4], -"structPxArticulationRootLinkData.html#af0dcfa25c769c89fd405eeaed52b3c1f":[2,2,15,0], +"structPxArticulationRootLinkData.html":[2,2,16], +"structPxArticulationRootLinkData.html#a31a1563d7d322c9a8898b3ed278e08c1":[2,2,16,2], +"structPxArticulationRootLinkData.html#a7486a9d76ac13182f58f5a1876b919a2":[2,2,16,3], +"structPxArticulationRootLinkData.html#ab1502e0364f2784bb5465415256ac778":[2,2,16,1], +"structPxArticulationRootLinkData.html#ae3563e988889f47d88af9c041409a5c3":[2,2,16,4], +"structPxArticulationRootLinkData.html#af0dcfa25c769c89fd405eeaed52b3c1f":[2,2,16,0], "structPxBVH33MidphaseDesc.html":[2,5,1], "structPxBVH33MidphaseDesc.html#a032c13ce0350dea8512f56b66f5a2744":[2,5,1,1], "structPxBVH33MidphaseDesc.html#a57c8e0048c6eff5b5e769a66fc62c08b":[2,5,1,0], @@ -165,89 +190,64 @@ var NAVTREEINDEX18 = "structPxBaseFlag.html#ac258de0c7adaa37f81b6ab1b0c86a6ee":[2,1,0,0], "structPxBaseFlag.html#ac258de0c7adaa37f81b6ab1b0c86a6eea2ac901fc5a0e816d32620ec5f4c113ef":[2,1,0,0,0], "structPxBaseFlag.html#ac258de0c7adaa37f81b6ab1b0c86a6eeac34c2f2192b5e878b7765f7c36de35d2":[2,1,0,0,1], -"structPxBatchQueryMemory.html":[2,2,20], -"structPxBatchQueryMemory.html#a048b4eea81e88e96e8c7b74445a1020d":[2,2,20,0], -"structPxBatchQueryMemory.html#a1240fda3a2829ac7502a513366bc692f":[2,2,20,11], -"structPxBatchQueryMemory.html#a194b1ad50e68760d9499e253151c7d31":[2,2,20,12], -"structPxBatchQueryMemory.html#a1e0836786e4a016c11d45f4c60d6d715":[2,2,20,7], -"structPxBatchQueryMemory.html#a21e15901b0b7e88fe8f59ea06dcff69e":[2,2,20,14], -"structPxBatchQueryMemory.html#a22c2be8ed85d425bad3867c27197ba4a":[2,2,20,1], -"structPxBatchQueryMemory.html#a286b0f9772987d23cc48ec93e6685e0c":[2,2,20,4], -"structPxBatchQueryMemory.html#a3067c6b6dab1322f7b57276cafe6a728":[2,2,20,6], -"structPxBatchQueryMemory.html#a57b0f16109279424ab23826905086a10":[2,2,20,9], -"structPxBatchQueryMemory.html#a616e1cecbc5a60da039420f47177fdbb":[2,2,20,5], -"structPxBatchQueryMemory.html#a76283304381163c536bc5155031d3ffe":[2,2,20,3], -"structPxBatchQueryMemory.html#a7c54ac68c7049897accaa4520c418d1e":[2,2,20,10], -"structPxBatchQueryMemory.html#a91e8d574145421cd4d722d1a3d3aa189":[2,2,20,13], -"structPxBatchQueryMemory.html#aeef3cc2d61dc29ae57ce386fb258f940":[2,2,20,2], -"structPxBatchQueryMemory.html#af38a1a9598d64f6dedd9db17308e0cb8":[2,2,20,15], -"structPxBatchQueryMemory.html#afb455a9a8278054c6408b9a4ed4178bb":[2,2,20,8], -"structPxBatchQueryResult.html":[2,2,19], -"structPxBatchQueryResult.html#a1fc4664be9c55e563e5ba65b0071ee89":[2,2,19,8], -"structPxBatchQueryResult.html#a35efe4f4170d5b2ee88a42f1618644d4":[2,2,19,3], -"structPxBatchQueryResult.html#a4b4cabd4f1a5befef4a55048854d1a68":[2,2,19,7], -"structPxBatchQueryResult.html#aa91f15d629285e2471fcbb039af1d17b":[2,2,19,2], -"structPxBatchQueryResult.html#aac884d117477c6f480d9ceb53d229ead":[2,2,19,4], -"structPxBatchQueryResult.html#ac73375fe0f926f910c037fdcd5f0d785":[2,2,19,0], -"structPxBatchQueryResult.html#ad0b4a79dc77732dc7bbe5c56f50bd4a6":[2,2,19,5], -"structPxBatchQueryResult.html#adb01163e07196e8a4867f4b5d4c8752d":[2,2,19,6], -"structPxBatchQueryResult.html#adff3cbaeaa46db9a605847696e1f8d13":[2,2,19,1], -"structPxBatchQueryStatus.html":[2,2,18], -"structPxBatchQueryStatus.html#a65079b6fb3edafc98c6101bd6bc9b306":[2,2,18,0], -"structPxBatchQueryStatus.html#a65079b6fb3edafc98c6101bd6bc9b306a068da38266149631d5852c46eb0ae59b":[2,2,18,0,2], -"structPxBatchQueryStatus.html#a65079b6fb3edafc98c6101bd6bc9b306a1fccdd0d7e1e3782290fb0f2f1685315":[2,2,18,0,1], -"structPxBatchQueryStatus.html#a65079b6fb3edafc98c6101bd6bc9b306a6cab806a7bb52b69507f97eae86c0697":[2,2,18,0,0], +"structPxBatchQueryMemory.html":[2,2,21], +"structPxBatchQueryMemory.html#a048b4eea81e88e96e8c7b74445a1020d":[2,2,21,0], +"structPxBatchQueryMemory.html#a1240fda3a2829ac7502a513366bc692f":[2,2,21,11], +"structPxBatchQueryMemory.html#a194b1ad50e68760d9499e253151c7d31":[2,2,21,12], +"structPxBatchQueryMemory.html#a1e0836786e4a016c11d45f4c60d6d715":[2,2,21,7], +"structPxBatchQueryMemory.html#a21e15901b0b7e88fe8f59ea06dcff69e":[2,2,21,14], +"structPxBatchQueryMemory.html#a22c2be8ed85d425bad3867c27197ba4a":[2,2,21,1], +"structPxBatchQueryMemory.html#a286b0f9772987d23cc48ec93e6685e0c":[2,2,21,4], +"structPxBatchQueryMemory.html#a3067c6b6dab1322f7b57276cafe6a728":[2,2,21,6], +"structPxBatchQueryMemory.html#a57b0f16109279424ab23826905086a10":[2,2,21,9], +"structPxBatchQueryMemory.html#a616e1cecbc5a60da039420f47177fdbb":[2,2,21,5], +"structPxBatchQueryMemory.html#a76283304381163c536bc5155031d3ffe":[2,2,21,3], +"structPxBatchQueryMemory.html#a7c54ac68c7049897accaa4520c418d1e":[2,2,21,10], +"structPxBatchQueryMemory.html#a91e8d574145421cd4d722d1a3d3aa189":[2,2,21,13], +"structPxBatchQueryMemory.html#aeef3cc2d61dc29ae57ce386fb258f940":[2,2,21,2], +"structPxBatchQueryMemory.html#af38a1a9598d64f6dedd9db17308e0cb8":[2,2,21,15], +"structPxBatchQueryMemory.html#afb455a9a8278054c6408b9a4ed4178bb":[2,2,21,8], +"structPxBatchQueryResult.html":[2,2,20], +"structPxBatchQueryResult.html#a1fc4664be9c55e563e5ba65b0071ee89":[2,2,20,8], +"structPxBatchQueryResult.html#a35efe4f4170d5b2ee88a42f1618644d4":[2,2,20,3], +"structPxBatchQueryResult.html#a4b4cabd4f1a5befef4a55048854d1a68":[2,2,20,7], +"structPxBatchQueryResult.html#aa91f15d629285e2471fcbb039af1d17b":[2,2,20,2], +"structPxBatchQueryResult.html#aac884d117477c6f480d9ceb53d229ead":[2,2,20,4], +"structPxBatchQueryResult.html#ac73375fe0f926f910c037fdcd5f0d785":[2,2,20,0], +"structPxBatchQueryResult.html#ad0b4a79dc77732dc7bbe5c56f50bd4a6":[2,2,20,5], +"structPxBatchQueryResult.html#adb01163e07196e8a4867f4b5d4c8752d":[2,2,20,6], +"structPxBatchQueryResult.html#adff3cbaeaa46db9a605847696e1f8d13":[2,2,20,1], +"structPxBatchQueryStatus.html":[2,2,19], +"structPxBatchQueryStatus.html#a65079b6fb3edafc98c6101bd6bc9b306":[2,2,19,0], +"structPxBatchQueryStatus.html#a65079b6fb3edafc98c6101bd6bc9b306a068da38266149631d5852c46eb0ae59b":[2,2,19,0,2], +"structPxBatchQueryStatus.html#a65079b6fb3edafc98c6101bd6bc9b306a1fccdd0d7e1e3782290fb0f2f1685315":[2,2,19,0,1], +"structPxBatchQueryStatus.html#a65079b6fb3edafc98c6101bd6bc9b306a6cab806a7bb52b69507f97eae86c0697":[2,2,19,0,0], "structPxBoundedData.html":[2,1,5], "structPxBoundedData.html#a60c37ab46c80399c8228035b36ae7604":[2,1,5,0], "structPxBoundedData.html#a99f022ab9aad0f98028254c1f433165f":[2,1,5,1], -"structPxBroadPhaseCaps.html":[2,2,26], -"structPxBroadPhaseCaps.html#a98e2ae241f29c4966ae9e30a2540d771":[2,2,26,0], -"structPxBroadPhaseCaps.html#aaff9d2a811a6863dea9939ecb2f26e58":[2,2,26,2], -"structPxBroadPhaseCaps.html#aeff3784c87ac5de06aa45e086724df23":[2,2,26,1], -"structPxBroadPhaseRegion.html":[2,2,24], -"structPxBroadPhaseRegion.html#a71ea61caf0560a874bd7fb53cea525b4":[2,2,24,1], -"structPxBroadPhaseRegion.html#ae13e89ca861565e52680e073da3e4043":[2,2,24,0], -"structPxBroadPhaseRegionInfo.html":[2,2,25], -"structPxBroadPhaseRegionInfo.html#a0db5aa69328a6e7ee92683b0f98a88ef":[2,2,25,4], -"structPxBroadPhaseRegionInfo.html#a2bcc9f7a41d0b93cb85b484fba871875":[2,2,25,1], -"structPxBroadPhaseRegionInfo.html#a42c387fdc3547b80af62d3e671a5af81":[2,2,25,2], -"structPxBroadPhaseRegionInfo.html#a9c4a005743c96f464a409843ab488481":[2,2,25,3], -"structPxBroadPhaseRegionInfo.html#afa7f75372a0790a528002b288cf105ee":[2,2,25,0], -"structPxBroadPhaseType.html":[2,2,22], -"structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7dda":[2,2,22,0], -"structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7ddaa078c39fc893dc0f46b49ef26113cfd0d":[2,2,22,0,3], -"structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7ddaa33a7598e6dd29fb6a2e905966aba3c25":[2,2,22,0,0], -"structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7ddaa3eb5f473bac1b86e0169d73ffbcb7cc0":[2,2,22,0,2], -"structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7ddaa76ebc67e9bc983ffc69765595e777a95":[2,2,22,0,4], -"structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7ddaabe0a5c309436a84e58c227c548fa17da":[2,2,22,0,1], +"structPxBroadPhaseCaps.html":[2,2,27], +"structPxBroadPhaseCaps.html#a98e2ae241f29c4966ae9e30a2540d771":[2,2,27,0], +"structPxBroadPhaseCaps.html#aaff9d2a811a6863dea9939ecb2f26e58":[2,2,27,2], +"structPxBroadPhaseCaps.html#aeff3784c87ac5de06aa45e086724df23":[2,2,27,1], +"structPxBroadPhaseRegion.html":[2,2,25], +"structPxBroadPhaseRegion.html#a71ea61caf0560a874bd7fb53cea525b4":[2,2,25,1], +"structPxBroadPhaseRegion.html#ae13e89ca861565e52680e073da3e4043":[2,2,25,0], +"structPxBroadPhaseRegionInfo.html":[2,2,26], +"structPxBroadPhaseRegionInfo.html#a0db5aa69328a6e7ee92683b0f98a88ef":[2,2,26,4], +"structPxBroadPhaseRegionInfo.html#a2bcc9f7a41d0b93cb85b484fba871875":[2,2,26,1], +"structPxBroadPhaseRegionInfo.html#a42c387fdc3547b80af62d3e671a5af81":[2,2,26,2], +"structPxBroadPhaseRegionInfo.html#a9c4a005743c96f464a409843ab488481":[2,2,26,3], +"structPxBroadPhaseRegionInfo.html#afa7f75372a0790a528002b288cf105ee":[2,2,26,0], +"structPxBroadPhaseType.html":[2,2,23], +"structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7dda":[2,2,23,0], +"structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7ddaa078c39fc893dc0f46b49ef26113cfd0d":[2,2,23,0,3], +"structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7ddaa33a7598e6dd29fb6a2e905966aba3c25":[2,2,23,0,0], +"structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7ddaa3eb5f473bac1b86e0169d73ffbcb7cc0":[2,2,23,0,2], +"structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7ddaa76ebc67e9bc983ffc69765595e777a95":[2,2,23,0,4], +"structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7ddaabe0a5c309436a84e58c227c548fa17da":[2,2,23,0,1], "structPxCache.html":[3,0,57], -"structPxCache.html#a2036c1ece05d3f66936c57ac18b25f55":[3,0,57,1], -"structPxCache.html#a437d421942f96ec7503807250c5767f3":[3,0,57,3], +"structPxCache.html#a2036c1ece05d3f66936c57ac18b25f55":[3,0,57,2], +"structPxCache.html#a437d421942f96ec7503807250c5767f3":[3,0,57,4], "structPxCache.html#a6e2a00201b3952eebf1c6fd960b416f4":[3,0,57,0], -"structPxCache.html#a8595cb14cdd176983223d2b61f9dece7":[3,0,57,2], -"structPxCache.html#ac64e5785004b9564907686b4e8193d3e":[3,0,57,4], -"structPxCapsuleClimbingMode.html":[2,0,2], -"structPxCapsuleClimbingMode.html#aa5842460fe36a16e5f1f5b1383db9ef5":[2,0,2,0], -"structPxCapsuleClimbingMode.html#aa5842460fe36a16e5f1f5b1383db9ef5a539d1d99a17207871e15defbbc6b1817":[2,0,2,0,2], -"structPxCapsuleClimbingMode.html#aa5842460fe36a16e5f1f5b1383db9ef5a6d3c1dbdc9af5384ef71e200846c9617":[2,0,2,0,0], -"structPxCapsuleClimbingMode.html#aa5842460fe36a16e5f1f5b1383db9ef5a76288563badf1de8a15128b69594b4fd":[2,0,2,0,1], -"structPxCombineMode.html":[2,2,55], -"structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727":[2,2,55,0], -"structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727a2c12a95b4b7cde20d845c629be849c92":[2,2,55,0,0], -"structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727a5020741270303f7e4253d8f646b18683":[2,2,55,0,1], -"structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727a70c797fd2ce4c8afde0e0c5054d5aa35":[2,2,55,0,2], -"structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727a8aa4ff19d77a29323c9a1556dd85d71b":[2,2,55,0,5], -"structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727abba784e2067e321833bc88759cdb0039":[2,2,55,0,4], -"structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727ae36f28e4a23a58e6a32b0b350bc834d1":[2,2,55,0,3], -"structPxConcreteType.html":[2,1,20], -"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8":[2,1,20,0], -"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a0156649a63242d4a34c1c69af29eb92a":[2,1,20,0,20], -"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a0b7794c6d7c176b457e45ce84f9efb4a":[2,1,20,0,1], -"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a0ff66b28d98136906e07b15b396d7a1f":[2,1,20,0,18], -"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a16cd44fb372accd877e9ceef294f424f":[2,1,20,0,9], -"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a3edb3b8e6daab37cfeb242b840dc5731":[2,1,20,0,10], -"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a41858b9270c1bb6f9ff81652ee5668f8":[2,1,20,0,14], -"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a57e53b71d3577c41378c5e829ebf8408":[2,1,20,0,17], -"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a59470211a58ba63a20540005c76fd767":[2,1,20,0,4], -"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a61a0e7164c97f640baaf56916a2ba761":[2,1,20,0,11] +"structPxCache.html#a7dfc5d1edea7da1ca1c717178eb21d87":[3,0,57,1] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex19.js b/physx/documentation/PhysXAPI/files/navtreeindex19.js index 4c51969d4..a9b027e7d 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex19.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex19.js @@ -1,5 +1,31 @@ var NAVTREEINDEX19 = { +"structPxCache.html#a8595cb14cdd176983223d2b61f9dece7":[3,0,57,3], +"structPxCache.html#ac64e5785004b9564907686b4e8193d3e":[3,0,57,5], +"structPxCapsuleClimbingMode.html":[2,0,2], +"structPxCapsuleClimbingMode.html#aa5842460fe36a16e5f1f5b1383db9ef5":[2,0,2,0], +"structPxCapsuleClimbingMode.html#aa5842460fe36a16e5f1f5b1383db9ef5a539d1d99a17207871e15defbbc6b1817":[2,0,2,0,2], +"structPxCapsuleClimbingMode.html#aa5842460fe36a16e5f1f5b1383db9ef5a6d3c1dbdc9af5384ef71e200846c9617":[2,0,2,0,0], +"structPxCapsuleClimbingMode.html#aa5842460fe36a16e5f1f5b1383db9ef5a76288563badf1de8a15128b69594b4fd":[2,0,2,0,1], +"structPxCombineMode.html":[2,2,56], +"structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727":[2,2,56,0], +"structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727a2c12a95b4b7cde20d845c629be849c92":[2,2,56,0,0], +"structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727a5020741270303f7e4253d8f646b18683":[2,2,56,0,1], +"structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727a70c797fd2ce4c8afde0e0c5054d5aa35":[2,2,56,0,2], +"structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727a8aa4ff19d77a29323c9a1556dd85d71b":[2,2,56,0,5], +"structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727abba784e2067e321833bc88759cdb0039":[2,2,56,0,4], +"structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727ae36f28e4a23a58e6a32b0b350bc834d1":[2,2,56,0,3], +"structPxConcreteType.html":[2,1,20], +"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8":[2,1,20,0], +"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a0156649a63242d4a34c1c69af29eb92a":[2,1,20,0,20], +"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a0b7794c6d7c176b457e45ce84f9efb4a":[2,1,20,0,1], +"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a0ff66b28d98136906e07b15b396d7a1f":[2,1,20,0,18], +"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a16cd44fb372accd877e9ceef294f424f":[2,1,20,0,9], +"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a3edb3b8e6daab37cfeb242b840dc5731":[2,1,20,0,10], +"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a41858b9270c1bb6f9ff81652ee5668f8":[2,1,20,0,14], +"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a57e53b71d3577c41378c5e829ebf8408":[2,1,20,0,17], +"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a59470211a58ba63a20540005c76fd767":[2,1,20,0,4], +"structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a61a0e7164c97f640baaf56916a2ba761":[2,1,20,0,11], "structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a82eb74ec3cb3500943f14c6b587ec606":[2,1,20,0,2], "structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a927c0cfacf7985ca89a0084e2d2b552a":[2,1,20,0,6], "structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8a94841b56bdad372addb96f488a9b9f3b":[2,1,20,0,13], @@ -24,125 +50,125 @@ var NAVTREEINDEX19 = "structPxConstraintExtIDs.html#a10c7860bd807cde6ae3992c05fc489eda6fe9108d7346f313759d84d574d6a426":[2,3,6,0,1], "structPxConstraintExtIDs.html#a10c7860bd807cde6ae3992c05fc489eda8309853c3dffa373eb00ef8e9c4e7e6f":[2,3,6,0,0], "structPxConstraintExtIDs.html#a10c7860bd807cde6ae3992c05fc489edaae95fdfdce1d3b77d354d90ad83191c6":[2,3,6,0,3], -"structPxConstraintFlag.html":[2,2,27], -"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427":[2,2,27,0], -"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a2d3f8e02cd1fa3a41256d186a0a38ebf":[2,2,27,0,3], -"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a316da1cac10cf01bb0b55325ecc8e300":[2,2,27,0,7], -"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a330ccf346c5056c0570dbc495007d1ce":[2,2,27,0,6], -"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a33fd9097b65d3350f3165eacdc69abd0":[2,2,27,0,1], -"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a3636badf43fc1c44645e16c0c1004bb8":[2,2,27,0,2], -"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a519966ef860b18d3609d7c08f66389ef":[2,2,27,0,8], -"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a6ad8d7391857323f035ce2ebddee7595":[2,2,27,0,4], -"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a7b8997cb72e8bfe7189e62aaa861a820":[2,2,27,0,9], -"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a8e00c572e54f3575284ff41432f1bec6":[2,2,27,0,10], -"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a91151f48e43ade5a5d7153f1b3160696":[2,2,27,0,0], -"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427aef261aa0d46aba737d058fb32bc87c02":[2,2,27,0,5], -"structPxConstraintInfo.html":[2,2,94], -"structPxConstraintInfo.html#a073f7587ffb496c4bdc470eb34032fd2":[2,2,94,0], -"structPxConstraintInfo.html#a324fadc19904fff635aa9d16da7a21f9":[2,2,94,4], -"structPxConstraintInfo.html#a38e7eda9e38f5318b9d4dc27fa46316b":[2,2,94,2], -"structPxConstraintInfo.html#a64fa7758b3a66b003097a9609aa67c3c":[2,2,94,3], -"structPxConstraintInfo.html#aa7bd411f2d3571030b8da6eec0daf6ea":[2,2,94,1], -"structPxConstraintInvMassScale.html":[2,2,34], -"structPxConstraintInvMassScale.html#a00c6cfd8ff3bc2d7be47510584eb7507":[2,2,34,1], -"structPxConstraintInvMassScale.html#a21b735d9ea167a97b1196dac0994aeaa":[2,2,34,2], -"structPxConstraintInvMassScale.html#a98ca9fd97433a912c8ad5b592a2a2cfa":[2,2,34,3], -"structPxConstraintInvMassScale.html#a993d07d7c502a4a1f5767611de4209b0":[2,2,34,0], -"structPxConstraintInvMassScale.html#accf60e3a08768821ba0d5d08022ad1c6":[2,2,34,4], -"structPxConstraintInvMassScale.html#aec4a528a9abf04ff5a197caadf4420ba":[2,2,34,5], -"structPxConstraintShaderTable.html":[2,2,28], -"structPxConstraintShaderTable.html#a177a8411969e943559378c9311877d66":[2,2,28,3], -"structPxConstraintShaderTable.html#a1b86893516cc00d5c66bdca2de07fdae":[2,2,28,1], -"structPxConstraintShaderTable.html#a7064cf7b45cddd16a6694dbeac2b818ea84198bedfc9c24dbe44b1a6644fa2190":[2,2,28,0], -"structPxConstraintShaderTable.html#a8cebd540f03fa599e67abbc69eaccad1":[2,2,28,2], -"structPxConstraintShaderTable.html#ac7cb997bd4489968e45f8feda87e68a8":[2,2,28,4], -"structPxConstraintSolveHint.html":[2,2,31], -"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97e":[2,2,31,0], -"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97ea1a330b274784a4ff4cdbd38708576cfd":[2,2,31,0,3], -"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97ea36091739c8dad22611e51e9f0a5a4549":[2,2,31,0,5], -"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97ea41a0db94a6002465d993d7bbc5ccc25d":[2,2,31,0,6], -"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97ea59ee4e2f181346d04cf16fb617962191":[2,2,31,0,8], -"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97ea63b6c283f8624e8e14b8436a0ef69104":[2,2,31,0,2], -"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97ea73a17739d03a1de358235b02a69a944e":[2,2,31,0,7], -"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97ea92d8af80ba70bc7ef52230495aa23cc2":[2,2,31,0,4], -"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97eaeca50c5cd3b0370b5107ea949eb7e71a":[2,2,31,0,1], -"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97eaf766284eef4df1c7f5998017fbe767ef":[2,2,31,0,0], -"structPxConstraintVisualizationFlag.html":[2,2,33], -"structPxConstraintVisualizationFlag.html#a6896ce95dcc5f3a691b561c6ae3a6c3b":[2,2,33,0], -"structPxConstraintVisualizationFlag.html#a6896ce95dcc5f3a691b561c6ae3a6c3bac0031dd6a0c8f69c8d1adb369c40b79e":[2,2,33,0,1], -"structPxConstraintVisualizationFlag.html#a6896ce95dcc5f3a691b561c6ae3a6c3bad6cbcec686244113170adf566b1c50f6":[2,2,33,0,0], +"structPxConstraintFlag.html":[2,2,28], +"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427":[2,2,28,0], +"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a2d3f8e02cd1fa3a41256d186a0a38ebf":[2,2,28,0,3], +"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a316da1cac10cf01bb0b55325ecc8e300":[2,2,28,0,7], +"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a330ccf346c5056c0570dbc495007d1ce":[2,2,28,0,6], +"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a33fd9097b65d3350f3165eacdc69abd0":[2,2,28,0,1], +"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a3636badf43fc1c44645e16c0c1004bb8":[2,2,28,0,2], +"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a519966ef860b18d3609d7c08f66389ef":[2,2,28,0,8], +"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a6ad8d7391857323f035ce2ebddee7595":[2,2,28,0,4], +"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a7b8997cb72e8bfe7189e62aaa861a820":[2,2,28,0,9], +"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a8e00c572e54f3575284ff41432f1bec6":[2,2,28,0,10], +"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a91151f48e43ade5a5d7153f1b3160696":[2,2,28,0,0], +"structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427aef261aa0d46aba737d058fb32bc87c02":[2,2,28,0,5], +"structPxConstraintInfo.html":[2,2,95], +"structPxConstraintInfo.html#a073f7587ffb496c4bdc470eb34032fd2":[2,2,95,0], +"structPxConstraintInfo.html#a324fadc19904fff635aa9d16da7a21f9":[2,2,95,4], +"structPxConstraintInfo.html#a38e7eda9e38f5318b9d4dc27fa46316b":[2,2,95,2], +"structPxConstraintInfo.html#a64fa7758b3a66b003097a9609aa67c3c":[2,2,95,3], +"structPxConstraintInfo.html#aa7bd411f2d3571030b8da6eec0daf6ea":[2,2,95,1], +"structPxConstraintInvMassScale.html":[2,2,35], +"structPxConstraintInvMassScale.html#a00c6cfd8ff3bc2d7be47510584eb7507":[2,2,35,1], +"structPxConstraintInvMassScale.html#a21b735d9ea167a97b1196dac0994aeaa":[2,2,35,2], +"structPxConstraintInvMassScale.html#a98ca9fd97433a912c8ad5b592a2a2cfa":[2,2,35,3], +"structPxConstraintInvMassScale.html#a993d07d7c502a4a1f5767611de4209b0":[2,2,35,0], +"structPxConstraintInvMassScale.html#accf60e3a08768821ba0d5d08022ad1c6":[2,2,35,4], +"structPxConstraintInvMassScale.html#aec4a528a9abf04ff5a197caadf4420ba":[2,2,35,5], +"structPxConstraintShaderTable.html":[2,2,29], +"structPxConstraintShaderTable.html#a177a8411969e943559378c9311877d66":[2,2,29,3], +"structPxConstraintShaderTable.html#a1b86893516cc00d5c66bdca2de07fdae":[2,2,29,1], +"structPxConstraintShaderTable.html#a7064cf7b45cddd16a6694dbeac2b818ea84198bedfc9c24dbe44b1a6644fa2190":[2,2,29,0], +"structPxConstraintShaderTable.html#a8cebd540f03fa599e67abbc69eaccad1":[2,2,29,2], +"structPxConstraintShaderTable.html#ac7cb997bd4489968e45f8feda87e68a8":[2,2,29,4], +"structPxConstraintSolveHint.html":[2,2,32], +"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97e":[2,2,32,0], +"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97ea1a330b274784a4ff4cdbd38708576cfd":[2,2,32,0,3], +"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97ea36091739c8dad22611e51e9f0a5a4549":[2,2,32,0,5], +"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97ea41a0db94a6002465d993d7bbc5ccc25d":[2,2,32,0,6], +"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97ea59ee4e2f181346d04cf16fb617962191":[2,2,32,0,8], +"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97ea63b6c283f8624e8e14b8436a0ef69104":[2,2,32,0,2], +"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97ea73a17739d03a1de358235b02a69a944e":[2,2,32,0,7], +"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97ea92d8af80ba70bc7ef52230495aa23cc2":[2,2,32,0,4], +"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97eaeca50c5cd3b0370b5107ea949eb7e71a":[2,2,32,0,1], +"structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97eaf766284eef4df1c7f5998017fbe767ef":[2,2,32,0,0], +"structPxConstraintVisualizationFlag.html":[2,2,34], +"structPxConstraintVisualizationFlag.html#a6896ce95dcc5f3a691b561c6ae3a6c3b":[2,2,34,0], +"structPxConstraintVisualizationFlag.html#a6896ce95dcc5f3a691b561c6ae3a6c3bac0031dd6a0c8f69c8d1adb369c40b79e":[2,2,34,0,1], +"structPxConstraintVisualizationFlag.html#a6896ce95dcc5f3a691b561c6ae3a6c3bad6cbcec686244113170adf566b1c50f6":[2,2,34,0,0], "structPxContact.html":[3,0,81], "structPxContact.html#a1d45531c43034871f7c302e9f7c0a13f":[3,0,81,1], "structPxContact.html#a9b965bed8de83188fc4eb40ebfc89efc":[3,0,81,0], -"structPxContactPair.html":[2,2,91], -"structPxContactPair.html#a0468bb8f49c3eeaf0ec18ce5b828f0ca":[2,2,91,5], -"structPxContactPair.html#a48af2df819d277ca1329da1630ac4a47":[2,2,91,6], -"structPxContactPair.html#a649a2da93fe6f6227631c42733648ca7":[2,2,91,10], -"structPxContactPair.html#a7335f614a8f1aaec63340f28cc4d1f5f":[2,2,91,11], -"structPxContactPair.html#a73d11caa7df479aa964761a376968abb":[2,2,91,7], -"structPxContactPair.html#a8bee18db2d05286fc1e1b14bac54184f":[2,2,91,13], -"structPxContactPair.html#aac2821a1e5d8d8cc969b24f2a861a1a0":[2,2,91,12], -"structPxContactPair.html#abf78ac4dcef249601f486b939c08d589":[2,2,91,8], -"structPxContactPair.html#acba0b9958ac5d3884c515f94234b9c20":[2,2,91,9], -"structPxContactPair.html#ad4482d0d718415fbbd0c5852994f139f":[2,2,91,14], -"structPxContactPair.html#ad9a904aa67a0cec9887d03521c636d9e":[2,2,91,0], -"structPxContactPair.html#afd3b2178f7005d3563f41b4925e60a39":[2,2,91,4], -"structPxContactPairExtraDataItem.html":[2,2,82], -"structPxContactPairExtraDataItem.html#a18e83c33b02a0a57f0daf818379e06d6":[2,2,82,1], -"structPxContactPairExtraDataItem.html#a79c3bb558f707953197bd57b15baa0fe":[2,2,82,0], -"structPxContactPairExtraDataIterator.html":[2,2,86], -"structPxContactPairExtraDataIterator.html#a137240c7c0d90d99f78800108a311256":[2,2,86,3], -"structPxContactPairExtraDataIterator.html#a1d2a22a64b21c547ad7e586307ca3afb":[2,2,86,1], -"structPxContactPairExtraDataIterator.html#a6938e71e6ed8d693a4fe9e1bd3bd9d3a":[2,2,86,2], -"structPxContactPairExtraDataIterator.html#a8e2656d684789f0f05c135d5f5c5fa25":[2,2,86,7], -"structPxContactPairExtraDataIterator.html#abec5ba2e81dc6604bf322fe4cb1810e1":[2,2,86,8], -"structPxContactPairExtraDataIterator.html#ac54b5d820140765076bc39255d679750":[2,2,86,4], -"structPxContactPairExtraDataIterator.html#adcdd22f0243e8e2ffc81241a8831074c":[2,2,86,6], -"structPxContactPairExtraDataIterator.html#af5d36be4d51a22af103523375a04d5e0":[2,2,86,0], -"structPxContactPairExtraDataIterator.html#aff63eb915e6527e8d807ed6cdac48a7b":[2,2,86,5], -"structPxContactPairExtraDataType.html":[2,2,81], -"structPxContactPairExtraDataType.html#aba00bd5468b1e16d9b473f573ddc2ccf":[2,2,81,0], -"structPxContactPairExtraDataType.html#aba00bd5468b1e16d9b473f573ddc2ccfa4cd1b1bb26276831476d4014f3aebff4":[2,2,81,0,3], -"structPxContactPairExtraDataType.html#aba00bd5468b1e16d9b473f573ddc2ccfa65354aa538954b8a3cf69c76ea17c969":[2,2,81,0,0], -"structPxContactPairExtraDataType.html#aba00bd5468b1e16d9b473f573ddc2ccfa84f1ceadbc96a19d20b1c73b9d423f97":[2,2,81,0,1], -"structPxContactPairExtraDataType.html#aba00bd5468b1e16d9b473f573ddc2ccfacd2d0aa83804b8a76c80c4774f24cc5b":[2,2,81,0,2], -"structPxContactPairFlag.html":[2,2,89], -"structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9":[2,2,89,0], -"structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9a008066f2fa67361c251415056ad037b1":[2,2,89,0,1], -"structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9a6242154f6745f277c5eee26e6720bd92":[2,2,89,0,0], -"structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9a71986247e42a1d5f71ef758700e1945e":[2,2,89,0,5], -"structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9a7d506d1c6752284cae2dd3cf9e3d5e9b":[2,2,89,0,3], -"structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9a9de36fd88d372fec362f1b2f9e1ae84d":[2,2,89,0,4], -"structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9ae98d7d1c67a1176d3fe6945c26ae2898":[2,2,89,0,2], -"structPxContactPairHeader.html":[2,2,88], -"structPxContactPairHeader.html#a2a9619192f15e1a60104c90b83f67e33":[2,2,88,2], -"structPxContactPairHeader.html#a747c8a693f1a7100b0da1e8b431fbb36":[2,2,88,6], -"structPxContactPairHeader.html#aa4b544da63d06205662034a5ebaf1e9f":[2,2,88,5], -"structPxContactPairHeader.html#ab43e1aa99a8399533f57725d50f002d4":[2,2,88,3], -"structPxContactPairHeader.html#ad5ae557cec81ae4c92b0e987b682af7d":[2,2,88,0], -"structPxContactPairHeader.html#ae3a7e00ec5edf59b946196becc840182":[2,2,88,1], -"structPxContactPairHeader.html#aff053696e65138d0d5ca6625350e1011":[2,2,88,4], -"structPxContactPairHeaderFlag.html":[2,2,87], -"structPxContactPairHeaderFlag.html#a143dcb345f5c81bd542d33e67085ba3a":[2,2,87,0], -"structPxContactPairHeaderFlag.html#a143dcb345f5c81bd542d33e67085ba3aa5d6c30a3eb5e624bcf7cff2d69962801":[2,2,87,0,0], -"structPxContactPairHeaderFlag.html#a143dcb345f5c81bd542d33e67085ba3aaa505e89eb31298d8bc304f95565d53bf":[2,2,87,0,1], -"structPxContactPairIndex.html":[2,2,85], -"structPxContactPairIndex.html#a0aae6856f18cbe9040c586ef4852a862":[2,2,85,0], -"structPxContactPairIndex.html#ab9ca1f887cd9a26b50eadd4297c4d19e":[2,2,85,1], -"structPxContactPairPoint.html":[2,2,90], -"structPxContactPairPoint.html#a24d0d7df3a95498b60f2bc67d5d74ace":[2,2,90,2], -"structPxContactPairPoint.html#a36ae08a170895b4b57eaa1f6488bcd05":[2,2,90,3], -"structPxContactPairPoint.html#a66d3adffcb6ab1760863e56aa11e5700":[2,2,90,4], -"structPxContactPairPoint.html#a97a896e3c7d4fad769f6f90ed95e0fb4":[2,2,90,1], -"structPxContactPairPoint.html#adf48bcf5ea77bda35d58c7274fa44680":[2,2,90,0], -"structPxContactPairPoint.html#af259733d066c5295cea7423a4f9b59fd":[2,2,90,5], -"structPxContactPairPose.html":[2,2,84], -"structPxContactPairPose.html#aa6ed45b56106284558faeebdde10c8f1":[2,2,84,0], -"structPxContactPairPose.html#ab238e8a9bb30fe71637a27d497a64ca5":[2,2,84,1], -"structPxContactPairVelocity.html":[2,2,83], -"structPxContactPairVelocity.html#a413001492fb89e7e85dd76ed7a8d8f6d":[2,2,83,0], -"structPxContactPairVelocity.html#a98a55c7cf6a531934189f69933723a23":[2,2,83,2], -"structPxContactPairVelocity.html#aa930131d979792551504da7890665c76":[2,2,83,1], +"structPxContactPair.html":[2,2,92], +"structPxContactPair.html#a0468bb8f49c3eeaf0ec18ce5b828f0ca":[2,2,92,5], +"structPxContactPair.html#a48af2df819d277ca1329da1630ac4a47":[2,2,92,6], +"structPxContactPair.html#a649a2da93fe6f6227631c42733648ca7":[2,2,92,10], +"structPxContactPair.html#a7335f614a8f1aaec63340f28cc4d1f5f":[2,2,92,11], +"structPxContactPair.html#a73d11caa7df479aa964761a376968abb":[2,2,92,7], +"structPxContactPair.html#a8bee18db2d05286fc1e1b14bac54184f":[2,2,92,13], +"structPxContactPair.html#aac2821a1e5d8d8cc969b24f2a861a1a0":[2,2,92,12], +"structPxContactPair.html#abf78ac4dcef249601f486b939c08d589":[2,2,92,8], +"structPxContactPair.html#acba0b9958ac5d3884c515f94234b9c20":[2,2,92,9], +"structPxContactPair.html#ad4482d0d718415fbbd0c5852994f139f":[2,2,92,14], +"structPxContactPair.html#ad9a904aa67a0cec9887d03521c636d9e":[2,2,92,0], +"structPxContactPair.html#afd3b2178f7005d3563f41b4925e60a39":[2,2,92,4], +"structPxContactPairExtraDataItem.html":[2,2,83], +"structPxContactPairExtraDataItem.html#a18e83c33b02a0a57f0daf818379e06d6":[2,2,83,1], +"structPxContactPairExtraDataItem.html#a79c3bb558f707953197bd57b15baa0fe":[2,2,83,0], +"structPxContactPairExtraDataIterator.html":[2,2,87], +"structPxContactPairExtraDataIterator.html#a137240c7c0d90d99f78800108a311256":[2,2,87,3], +"structPxContactPairExtraDataIterator.html#a1d2a22a64b21c547ad7e586307ca3afb":[2,2,87,1], +"structPxContactPairExtraDataIterator.html#a6938e71e6ed8d693a4fe9e1bd3bd9d3a":[2,2,87,2], +"structPxContactPairExtraDataIterator.html#a8e2656d684789f0f05c135d5f5c5fa25":[2,2,87,7], +"structPxContactPairExtraDataIterator.html#abec5ba2e81dc6604bf322fe4cb1810e1":[2,2,87,8], +"structPxContactPairExtraDataIterator.html#ac54b5d820140765076bc39255d679750":[2,2,87,4], +"structPxContactPairExtraDataIterator.html#adcdd22f0243e8e2ffc81241a8831074c":[2,2,87,6], +"structPxContactPairExtraDataIterator.html#af5d36be4d51a22af103523375a04d5e0":[2,2,87,0], +"structPxContactPairExtraDataIterator.html#aff63eb915e6527e8d807ed6cdac48a7b":[2,2,87,5], +"structPxContactPairExtraDataType.html":[2,2,82], +"structPxContactPairExtraDataType.html#aba00bd5468b1e16d9b473f573ddc2ccf":[2,2,82,0], +"structPxContactPairExtraDataType.html#aba00bd5468b1e16d9b473f573ddc2ccfa4cd1b1bb26276831476d4014f3aebff4":[2,2,82,0,3], +"structPxContactPairExtraDataType.html#aba00bd5468b1e16d9b473f573ddc2ccfa65354aa538954b8a3cf69c76ea17c969":[2,2,82,0,0], +"structPxContactPairExtraDataType.html#aba00bd5468b1e16d9b473f573ddc2ccfa84f1ceadbc96a19d20b1c73b9d423f97":[2,2,82,0,1], +"structPxContactPairExtraDataType.html#aba00bd5468b1e16d9b473f573ddc2ccfacd2d0aa83804b8a76c80c4774f24cc5b":[2,2,82,0,2], +"structPxContactPairFlag.html":[2,2,90], +"structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9":[2,2,90,0], +"structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9a008066f2fa67361c251415056ad037b1":[2,2,90,0,1], +"structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9a6242154f6745f277c5eee26e6720bd92":[2,2,90,0,0], +"structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9a71986247e42a1d5f71ef758700e1945e":[2,2,90,0,5], +"structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9a7d506d1c6752284cae2dd3cf9e3d5e9b":[2,2,90,0,3], +"structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9a9de36fd88d372fec362f1b2f9e1ae84d":[2,2,90,0,4], +"structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9ae98d7d1c67a1176d3fe6945c26ae2898":[2,2,90,0,2], +"structPxContactPairHeader.html":[2,2,89], +"structPxContactPairHeader.html#a2a9619192f15e1a60104c90b83f67e33":[2,2,89,2], +"structPxContactPairHeader.html#a747c8a693f1a7100b0da1e8b431fbb36":[2,2,89,6], +"structPxContactPairHeader.html#aa4b544da63d06205662034a5ebaf1e9f":[2,2,89,5], +"structPxContactPairHeader.html#ab43e1aa99a8399533f57725d50f002d4":[2,2,89,3], +"structPxContactPairHeader.html#ad5ae557cec81ae4c92b0e987b682af7d":[2,2,89,0], +"structPxContactPairHeader.html#ae3a7e00ec5edf59b946196becc840182":[2,2,89,1], +"structPxContactPairHeader.html#aff053696e65138d0d5ca6625350e1011":[2,2,89,4], +"structPxContactPairHeaderFlag.html":[2,2,88], +"structPxContactPairHeaderFlag.html#a143dcb345f5c81bd542d33e67085ba3a":[2,2,88,0], +"structPxContactPairHeaderFlag.html#a143dcb345f5c81bd542d33e67085ba3aa5d6c30a3eb5e624bcf7cff2d69962801":[2,2,88,0,0], +"structPxContactPairHeaderFlag.html#a143dcb345f5c81bd542d33e67085ba3aaa505e89eb31298d8bc304f95565d53bf":[2,2,88,0,1], +"structPxContactPairIndex.html":[2,2,86], +"structPxContactPairIndex.html#a0aae6856f18cbe9040c586ef4852a862":[2,2,86,0], +"structPxContactPairIndex.html#ab9ca1f887cd9a26b50eadd4297c4d19e":[2,2,86,1], +"structPxContactPairPoint.html":[2,2,91], +"structPxContactPairPoint.html#a24d0d7df3a95498b60f2bc67d5d74ace":[2,2,91,2], +"structPxContactPairPoint.html#a36ae08a170895b4b57eaa1f6488bcd05":[2,2,91,3], +"structPxContactPairPoint.html#a66d3adffcb6ab1760863e56aa11e5700":[2,2,91,4], +"structPxContactPairPoint.html#a97a896e3c7d4fad769f6f90ed95e0fb4":[2,2,91,1], +"structPxContactPairPoint.html#adf48bcf5ea77bda35d58c7274fa44680":[2,2,91,0], +"structPxContactPairPoint.html#af259733d066c5295cea7423a4f9b59fd":[2,2,91,5], +"structPxContactPairPose.html":[2,2,85], +"structPxContactPairPose.html#aa6ed45b56106284558faeebdde10c8f1":[2,2,85,0], +"structPxContactPairPose.html#ab238e8a9bb30fe71637a27d497a64ca5":[2,2,85,1], +"structPxContactPairVelocity.html":[2,2,84], +"structPxContactPairVelocity.html#a413001492fb89e7e85dd76ed7a8d8f6d":[2,2,84,0], +"structPxContactPairVelocity.html#a98a55c7cf6a531934189f69933723a23":[2,2,84,2], +"structPxContactPairVelocity.html#aa930131d979792551504da7890665c76":[2,2,84,1], "structPxContactPatch.html":[3,0,96], "structPxContactPatch.html#a02ea0a2efb0fed52c4cb9a8219c5d275":[3,0,96,3], "structPxContactPatch.html#a150b3ca1257f0f5cf6b5e23ac1546bbc":[3,0,96,7], @@ -223,31 +249,5 @@ var NAVTREEINDEX19 = "structPxControllerDebugRenderFlag.html":[2,0,21], "structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9c":[2,0,21,0], "structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9ca0e3676fd229bd7fddd94550ce053618a":[2,0,21,0,4], -"structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9ca5a38627c1acae4a4c1c6a5e41cd71e53":[2,0,21,0,2], -"structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9caa161d9988d0de3687f09aa94748b966c":[2,0,21,0,1], -"structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9cab6869486b64cea747bc34cec4403c261":[2,0,21,0,3], -"structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9caebb20da3030ba4d86cc768d774fa21ae":[2,0,21,0,0], -"structPxControllerHit.html":[2,0,10], -"structPxControllerHit.html#a2b0631afdd736ccd98fc3250c27c5864":[2,0,10,1], -"structPxControllerHit.html#a7409b00db580b9b60b3c7dd62131c7f9":[2,0,10,0], -"structPxControllerHit.html#aa2296561efe5e85018d55fdc0be877c8":[2,0,10,2], -"structPxControllerHit.html#ae1b54753285595ec3d08cf8dd8df6bf7":[2,0,10,4], -"structPxControllerHit.html#aeb8d260592d13fddbfda1dc12372086a":[2,0,10,3], -"structPxControllerNonWalkableMode.html":[2,0,6], -"structPxControllerNonWalkableMode.html#a4dd560c274d7c9076469ae267ffa87f2":[2,0,6,0], -"structPxControllerNonWalkableMode.html#a4dd560c274d7c9076469ae267ffa87f2a6492bdf89bbf8ce9476fab85108e782a":[2,0,6,0,1], -"structPxControllerNonWalkableMode.html#a4dd560c274d7c9076469ae267ffa87f2ada7953fa71ceda3b66aeeb078e8f6f35":[2,0,6,0,0], -"structPxControllerObstacleHit.html":[2,0,13], -"structPxControllerObstacleHit.html#a3024a08b0783d8ee62f91ee04b611cf4":[2,0,13,0], -"structPxControllerShapeHit.html":[2,0,11], -"structPxControllerShapeHit.html#a00674a4fef9d9912dc14e8c7a1aeecca":[2,0,11,1], -"structPxControllerShapeHit.html#aa5a88d88e377b19117ef76279a5bcf9f":[2,0,11,0], -"structPxControllerShapeHit.html#afb10e6feb31fc80b9d14d31b2789b5a0":[2,0,11,2], -"structPxControllerShapeType.html":[2,0,5], -"structPxControllerShapeType.html#a46022b44cb41038a1b05bcaa6e043d03":[2,0,5,0], -"structPxControllerShapeType.html#a46022b44cb41038a1b05bcaa6e043d03a121f8b7104f6e1d6bc258a1150f38ee0":[2,0,5,0,1], -"structPxControllerShapeType.html#a46022b44cb41038a1b05bcaa6e043d03ab43bc932646395ab414f8f4acd18f1e8":[2,0,5,0,0], -"structPxControllerShapeType.html#a46022b44cb41038a1b05bcaa6e043d03ac89463326589458e96dccccfd751eb9e":[2,0,5,0,2], -"structPxControllerState.html":[2,0,8], -"structPxControllerState.html#a05501d379de1bdca0d0f7820e8a9db86":[2,0,8,0] +"structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9ca5a38627c1acae4a4c1c6a5e41cd71e53":[2,0,21,0,2] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex2.js b/physx/documentation/PhysXAPI/files/navtreeindex2.js index 5d1a46957..0a7614087 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex2.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex2.js @@ -1,5 +1,7 @@ var NAVTREEINDEX2 = { +"PxWindowsIntrinsics_8h.html#a39a4b10ef013902b46ab72a6f301faaf":[4,0,187,11], +"PxWindowsIntrinsics_8h.html#a480a9e7204fe3c8f4b3d60eb7165fae8":[4,0,187,16], "PxWindowsIntrinsics_8h.html#a5d4ea7807df2fcf1968275bc06e79319":[4,0,187,4], "PxWindowsIntrinsics_8h.html#a6cf2084ddd2ba3ac6cc5b0e4e7389806":[4,0,187,3], "PxWindowsIntrinsics_8h.html#a77584c1c595ec2dbc695f76986b5e616":[4,0,187,8], @@ -107,28 +109,32 @@ var NAVTREEINDEX2 = "classPxArticulationBase.html#ae8ee210b8b3867a8a0803875c6e53014":[2,2,8,26], "classPxArticulationBase.html#af760fbc18ace5571c97b7da64c5fbe7c":[2,2,8,11], "classPxArticulationBase.html#afb872fa8ecea5c1bc226a8e4ba0b2256":[2,2,8,15], -"classPxArticulationCache.html":[2,2,16], -"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14e":[2,2,16,0], -"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea2b507b08dbfaa208d407d857295a857b":[2,2,16,0,0], -"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea6066321f08d523d0b73cfbdf2b44041c":[2,2,16,0,4], -"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea74109d30461c72534eb5a36baf352e6a":[2,2,16,0,2], -"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea86872df915168195ac00a5cb1033ee29":[2,2,16,0,5], -"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea89efd599f1473d4a795b89fb71c5012a":[2,2,16,0,3], -"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea9bfa940c74c9da6b9ce0a27c9f6bd8f8":[2,2,16,0,1], -"classPxArticulationCache.html#a215d7bc2b910aef6ba6e594843d136bc":[2,2,16,3], -"classPxArticulationCache.html#a237505e945f16c9afddb3c431f9d6a7b":[2,2,16,13], -"classPxArticulationCache.html#a40849b1b079c9b0e517fb7eaea488ccf":[2,2,16,10], -"classPxArticulationCache.html#a515142b078989bf5034c5a97b6978c1b":[2,2,16,5], -"classPxArticulationCache.html#a64e8f0b09d6860f91d7a830c11bdddc9":[2,2,16,7], -"classPxArticulationCache.html#a6bcc917d32fa1a60a671283e0a907e5c":[2,2,16,4], -"classPxArticulationCache.html#a750cf6f5d426723b6d6cf731bd290ea5":[2,2,16,1], -"classPxArticulationCache.html#a952f509c174636c1c11e8c61bda30eaa":[2,2,16,6], -"classPxArticulationCache.html#a9df694963228f4ae0c9e58ca9d6bff02":[2,2,16,2], -"classPxArticulationCache.html#aa90b660a293d6ce7984d49e8be270465":[2,2,16,9], -"classPxArticulationCache.html#aab37dabd7db43ef927337da7f6ea9f5a":[2,2,16,8], -"classPxArticulationCache.html#ac5356bfc4c7b57dec9bdd33c698ae96c":[2,2,16,12], -"classPxArticulationCache.html#ae0431d9e6e127c49cf7cc53532b4b393":[2,2,16,11], -"classPxArticulationCache.html#af8becefcb89c7a26df4372809e31b343":[2,2,16,14], +"classPxArticulationCache.html":[2,2,17], +"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14e":[2,2,17,0], +"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea1ee0f9a7f94765e59bc93944a434af54":[2,2,17,0,5], +"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea2b507b08dbfaa208d407d857295a857b":[2,2,17,0,0], +"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea6066321f08d523d0b73cfbdf2b44041c":[2,2,17,0,6], +"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea74109d30461c72534eb5a36baf352e6a":[2,2,17,0,2], +"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea86872df915168195ac00a5cb1033ee29":[2,2,17,0,7], +"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea89efd599f1473d4a795b89fb71c5012a":[2,2,17,0,3], +"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea9bfa940c74c9da6b9ce0a27c9f6bd8f8":[2,2,17,0,1], +"classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14eacaf9eee2de38014ce959feb30fba9d1b":[2,2,17,0,4], +"classPxArticulationCache.html#a215d7bc2b910aef6ba6e594843d136bc":[2,2,17,3], +"classPxArticulationCache.html#a237505e945f16c9afddb3c431f9d6a7b":[2,2,17,15], +"classPxArticulationCache.html#a40849b1b079c9b0e517fb7eaea488ccf":[2,2,17,12], +"classPxArticulationCache.html#a515142b078989bf5034c5a97b6978c1b":[2,2,17,5], +"classPxArticulationCache.html#a64e8f0b09d6860f91d7a830c11bdddc9":[2,2,17,7], +"classPxArticulationCache.html#a6bcc917d32fa1a60a671283e0a907e5c":[2,2,17,4], +"classPxArticulationCache.html#a750cf6f5d426723b6d6cf731bd290ea5":[2,2,17,1], +"classPxArticulationCache.html#a91adda674694b0f628a07e4ca89bcec5":[2,2,17,11], +"classPxArticulationCache.html#a952f509c174636c1c11e8c61bda30eaa":[2,2,17,6], +"classPxArticulationCache.html#a9df694963228f4ae0c9e58ca9d6bff02":[2,2,17,2], +"classPxArticulationCache.html#aa90b660a293d6ce7984d49e8be270465":[2,2,17,9], +"classPxArticulationCache.html#aab37dabd7db43ef927337da7f6ea9f5a":[2,2,17,8], +"classPxArticulationCache.html#ac5356bfc4c7b57dec9bdd33c698ae96c":[2,2,17,14], +"classPxArticulationCache.html#ac67f33a6b89001467a31fd4a3f4afa23":[2,2,17,10], +"classPxArticulationCache.html#ae0431d9e6e127c49cf7cc53532b4b393":[2,2,17,13], +"classPxArticulationCache.html#af8becefcb89c7a26df4372809e31b343":[2,2,17,16], "classPxArticulationDriveCache.html":[2,2,6], "classPxArticulationDriveCache.html#a3694fca773d3027d309732183dcfa737":[2,2,6,0], "classPxArticulationJoint.html":[2,2,11], @@ -215,39 +221,33 @@ var NAVTREEINDEX2 = "classPxArticulationLink.html#aec08ba9942f441a813bdd07547d9b695":[2,2,13,11], "classPxArticulationLink.html#afaa71dfb9bd3348b6cbe58902cfe63c8":[2,2,13,5], "classPxArticulationLink.html#afd3fed0c244cb37751aa035cf78c8e2b":[2,2,13,9], -"classPxArticulationReducedCoordinate.html":[2,2,17], -"classPxArticulationReducedCoordinate.html#a024c2e5000ad1033a868a73b6a025c03":[2,2,17,26], -"classPxArticulationReducedCoordinate.html#a06a554a20844b28a9251e60ca69ebac5":[2,2,17,14], -"classPxArticulationReducedCoordinate.html#a08a58ac2a98d339c0fcab0e69f6761e0":[2,2,17,8], -"classPxArticulationReducedCoordinate.html#a0d9eeb50991fab399d0d7dbe756c1106":[2,2,17,3], -"classPxArticulationReducedCoordinate.html#a0eb36b4e092c322893c811f1e7c85b4d":[2,2,17,6], -"classPxArticulationReducedCoordinate.html#a10773e54bc023d0a4c6627c363fe1b23":[2,2,17,15], -"classPxArticulationReducedCoordinate.html#a10d36a5ac6bb414b2240774cabdc4695":[2,2,17,30], -"classPxArticulationReducedCoordinate.html#a15d00fc95ae61c2906977453e7597d9b":[2,2,17,24], -"classPxArticulationReducedCoordinate.html#a1a6a5ea9fbce5fab1389809cde5ce12a":[2,2,17,2], -"classPxArticulationReducedCoordinate.html#a2d067a41dc5bcbbdbf9a298d9064b310":[2,2,17,29], -"classPxArticulationReducedCoordinate.html#a3202bc9b19b72c88c7ea32421dce3cc9":[2,2,17,0], -"classPxArticulationReducedCoordinate.html#a32973e41c51f9dd6ed0168c401d620d7":[2,2,17,23], -"classPxArticulationReducedCoordinate.html#a3e8a26a6e87d34c31441d766b0d6a153":[2,2,17,17], -"classPxArticulationReducedCoordinate.html#a408e219bfac920e7cf527c6a7c972674":[2,2,17,13], -"classPxArticulationReducedCoordinate.html#a4d0ed61a1f9a2b2cd18ced0cf9122355":[2,2,17,20], -"classPxArticulationReducedCoordinate.html#a51b6d2bcecd81b268219e7a5d1d8f10c":[2,2,17,1], -"classPxArticulationReducedCoordinate.html#a54da9e7775e8b619d5172039213beaff":[2,2,17,19], -"classPxArticulationReducedCoordinate.html#a5a611783b278756d562f4dfe0626af18":[2,2,17,21], -"classPxArticulationReducedCoordinate.html#a86107c6d84d3132b6a46bb9b2b48666e":[2,2,17,18], -"classPxArticulationReducedCoordinate.html#a919526ace70d5aaa4fb34ad0fcc98fd0":[2,2,17,31], -"classPxArticulationReducedCoordinate.html#a92e7a37bc7b058364398265b80996607":[2,2,17,11], -"classPxArticulationReducedCoordinate.html#a95e6f19bc92d7003e4d735a26b6ebb46":[2,2,17,9], -"classPxArticulationReducedCoordinate.html#a99f7f83876a3414eb386c83e173f9364":[2,2,17,16], -"classPxArticulationReducedCoordinate.html#aa89014cf296753fd9ddffbd62ef46c4c":[2,2,17,22], -"classPxArticulationReducedCoordinate.html#ab14e3d8440c6dc754fa3318a7c91991d":[2,2,17,4], -"classPxArticulationReducedCoordinate.html#ab155a21325dd588b7e354d3a5b1ef564":[2,2,17,28], -"classPxArticulationReducedCoordinate.html#abe5b98d8b80aa4781ad1d5e9baffad25":[2,2,17,5], -"classPxArticulationReducedCoordinate.html#ae3b3c188ffd64c4ba7cfd7508efd63bf":[2,2,17,25], -"classPxArticulationReducedCoordinate.html#aea7152a77f9446960d65359e482595c4":[2,2,17,27], -"classPxArticulationReducedCoordinate.html#af1947172f99feef066872b12d675d046":[2,2,17,7], -"classPxArticulationReducedCoordinate.html#af8b5217bd48e6d1ccc8ba3e495c66df7":[2,2,17,10], -"classPxArticulationReducedCoordinate.html#afc82b045f2afb76484ea967515c01067":[2,2,17,12], -"classPxAssertHandler.html":[2,4,3], -"classPxAssertHandler.html#a65e427030347eb6bd67d859f3e562563":[2,4,3,0] +"classPxArticulationReducedCoordinate.html":[2,2,18], +"classPxArticulationReducedCoordinate.html#a024c2e5000ad1033a868a73b6a025c03":[2,2,18,28], +"classPxArticulationReducedCoordinate.html#a06a554a20844b28a9251e60ca69ebac5":[2,2,18,14], +"classPxArticulationReducedCoordinate.html#a08a58ac2a98d339c0fcab0e69f6761e0":[2,2,18,8], +"classPxArticulationReducedCoordinate.html#a0d9eeb50991fab399d0d7dbe756c1106":[2,2,18,3], +"classPxArticulationReducedCoordinate.html#a0eb36b4e092c322893c811f1e7c85b4d":[2,2,18,6], +"classPxArticulationReducedCoordinate.html#a10773e54bc023d0a4c6627c363fe1b23":[2,2,18,15], +"classPxArticulationReducedCoordinate.html#a10d36a5ac6bb414b2240774cabdc4695":[2,2,18,32], +"classPxArticulationReducedCoordinate.html#a15d00fc95ae61c2906977453e7597d9b":[2,2,18,26], +"classPxArticulationReducedCoordinate.html#a1a6a5ea9fbce5fab1389809cde5ce12a":[2,2,18,2], +"classPxArticulationReducedCoordinate.html#a2d067a41dc5bcbbdbf9a298d9064b310":[2,2,18,31], +"classPxArticulationReducedCoordinate.html#a3202bc9b19b72c88c7ea32421dce3cc9":[2,2,18,0], +"classPxArticulationReducedCoordinate.html#a32973e41c51f9dd6ed0168c401d620d7":[2,2,18,25], +"classPxArticulationReducedCoordinate.html#a3e8a26a6e87d34c31441d766b0d6a153":[2,2,18,17], +"classPxArticulationReducedCoordinate.html#a408e219bfac920e7cf527c6a7c972674":[2,2,18,13], +"classPxArticulationReducedCoordinate.html#a4520151744be7de9835c9f90291468c3":[2,2,18,22], +"classPxArticulationReducedCoordinate.html#a4d0ed61a1f9a2b2cd18ced0cf9122355":[2,2,18,20], +"classPxArticulationReducedCoordinate.html#a51b6d2bcecd81b268219e7a5d1d8f10c":[2,2,18,1], +"classPxArticulationReducedCoordinate.html#a54da9e7775e8b619d5172039213beaff":[2,2,18,19], +"classPxArticulationReducedCoordinate.html#a5a611783b278756d562f4dfe0626af18":[2,2,18,23], +"classPxArticulationReducedCoordinate.html#a86107c6d84d3132b6a46bb9b2b48666e":[2,2,18,18], +"classPxArticulationReducedCoordinate.html#a919526ace70d5aaa4fb34ad0fcc98fd0":[2,2,18,33], +"classPxArticulationReducedCoordinate.html#a92e7a37bc7b058364398265b80996607":[2,2,18,11], +"classPxArticulationReducedCoordinate.html#a95e6f19bc92d7003e4d735a26b6ebb46":[2,2,18,9], +"classPxArticulationReducedCoordinate.html#a99f7f83876a3414eb386c83e173f9364":[2,2,18,16], +"classPxArticulationReducedCoordinate.html#aa89014cf296753fd9ddffbd62ef46c4c":[2,2,18,24], +"classPxArticulationReducedCoordinate.html#ab14e3d8440c6dc754fa3318a7c91991d":[2,2,18,4], +"classPxArticulationReducedCoordinate.html#ab155a21325dd588b7e354d3a5b1ef564":[2,2,18,30], +"classPxArticulationReducedCoordinate.html#ab51ab4c2ab36f1b409a1aa0468f0fe71":[2,2,18,21] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex20.js b/physx/documentation/PhysXAPI/files/navtreeindex20.js index a9cca13c7..5afe4746b 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex20.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex20.js @@ -1,5 +1,31 @@ var NAVTREEINDEX20 = { +"structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9caa161d9988d0de3687f09aa94748b966c":[2,0,21,0,1], +"structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9cab6869486b64cea747bc34cec4403c261":[2,0,21,0,3], +"structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9caebb20da3030ba4d86cc768d774fa21ae":[2,0,21,0,0], +"structPxControllerHit.html":[2,0,10], +"structPxControllerHit.html#a2b0631afdd736ccd98fc3250c27c5864":[2,0,10,1], +"structPxControllerHit.html#a7409b00db580b9b60b3c7dd62131c7f9":[2,0,10,0], +"structPxControllerHit.html#aa2296561efe5e85018d55fdc0be877c8":[2,0,10,2], +"structPxControllerHit.html#ae1b54753285595ec3d08cf8dd8df6bf7":[2,0,10,4], +"structPxControllerHit.html#aeb8d260592d13fddbfda1dc12372086a":[2,0,10,3], +"structPxControllerNonWalkableMode.html":[2,0,6], +"structPxControllerNonWalkableMode.html#a4dd560c274d7c9076469ae267ffa87f2":[2,0,6,0], +"structPxControllerNonWalkableMode.html#a4dd560c274d7c9076469ae267ffa87f2a6492bdf89bbf8ce9476fab85108e782a":[2,0,6,0,1], +"structPxControllerNonWalkableMode.html#a4dd560c274d7c9076469ae267ffa87f2ada7953fa71ceda3b66aeeb078e8f6f35":[2,0,6,0,0], +"structPxControllerObstacleHit.html":[2,0,13], +"structPxControllerObstacleHit.html#a3024a08b0783d8ee62f91ee04b611cf4":[2,0,13,0], +"structPxControllerShapeHit.html":[2,0,11], +"structPxControllerShapeHit.html#a00674a4fef9d9912dc14e8c7a1aeecca":[2,0,11,1], +"structPxControllerShapeHit.html#aa5a88d88e377b19117ef76279a5bcf9f":[2,0,11,0], +"structPxControllerShapeHit.html#afb10e6feb31fc80b9d14d31b2789b5a0":[2,0,11,2], +"structPxControllerShapeType.html":[2,0,5], +"structPxControllerShapeType.html#a46022b44cb41038a1b05bcaa6e043d03":[2,0,5,0], +"structPxControllerShapeType.html#a46022b44cb41038a1b05bcaa6e043d03a121f8b7104f6e1d6bc258a1150f38ee0":[2,0,5,0,1], +"structPxControllerShapeType.html#a46022b44cb41038a1b05bcaa6e043d03ab43bc932646395ab414f8f4acd18f1e8":[2,0,5,0,0], +"structPxControllerShapeType.html#a46022b44cb41038a1b05bcaa6e043d03ac89463326589458e96dccccfd751eb9e":[2,0,5,0,2], +"structPxControllerState.html":[2,0,8], +"structPxControllerState.html#a05501d379de1bdca0d0f7820e8a9db86":[2,0,8,0], "structPxControllerState.html#a49ae9e9723a98c571d2ada7c7e467631":[2,0,8,4], "structPxControllerState.html#a83843d85d2dbef2f37d4d09ecf2ccf2f":[2,0,8,6], "structPxControllerState.html#a85a7ade51c86a3fbe7582c95473c0e13":[2,0,8,5], @@ -81,11 +107,11 @@ var NAVTREEINDEX20 = "structPxD6Motion.html#ac93106f83ed65cc6bf206fb9ba3994dca1677440f096980eb6662b52f7a56ee43":[2,3,8,0,0], "structPxD6Motion.html#ac93106f83ed65cc6bf206fb9ba3994dca309552869b971c8ac6894140d405db4a":[2,3,8,0,1], "structPxD6Motion.html#ac93106f83ed65cc6bf206fb9ba3994dca7be788a2340d8c13c3829c28ce9f1887":[2,3,8,0,2], -"structPxDataAccessFlag.html":[2,2,52], -"structPxDataAccessFlag.html#ab6bd468adf2809435d24c9fe4882b6be":[2,2,52,0], -"structPxDataAccessFlag.html#ab6bd468adf2809435d24c9fe4882b6bea308b2107e1616517458c104350a72064":[2,2,52,0,0], -"structPxDataAccessFlag.html#ab6bd468adf2809435d24c9fe4882b6bea93bbaa658d1b07527d2cb719e910e12a":[2,2,52,0,1], -"structPxDataAccessFlag.html#ab6bd468adf2809435d24c9fe4882b6beaae2ed54d2a15462a9565fbe3554a9024":[2,2,52,0,2], +"structPxDataAccessFlag.html":[2,2,53], +"structPxDataAccessFlag.html#ab6bd468adf2809435d24c9fe4882b6be":[2,2,53,0], +"structPxDataAccessFlag.html#ab6bd468adf2809435d24c9fe4882b6bea308b2107e1616517458c104350a72064":[2,2,53,0,0], +"structPxDataAccessFlag.html#ab6bd468adf2809435d24c9fe4882b6bea93bbaa658d1b07527d2cb719e910e12a":[2,2,53,0,1], +"structPxDataAccessFlag.html#ab6bd468adf2809435d24c9fe4882b6beaae2ed54d2a15462a9565fbe3554a9024":[2,2,53,0,2], "structPxDebugColor.html":[2,1,9], "structPxDebugColor.html#affaed1e04fc675d60f04e2c4d949dcf2":[2,1,9,0], "structPxDebugColor.html#affaed1e04fc675d60f04e2c4d949dcf2a17fd82b61392aaa5b08fab00bac23165":[2,1,9,0,3], @@ -125,19 +151,19 @@ var NAVTREEINDEX20 = "structPxDebugTriangle.html#aa8c19d7489972ea160a04f5c10799169":[2,1,12,1], "structPxDebugTriangle.html#adddc9ebf89a48b41fe386bf9387e9176":[2,1,12,5], "structPxDebugTriangle.html#adf5c44f8592e65b83e92df71f9349318":[2,1,12,2], -"structPxDeletionEventFlag.html":[2,2,42], -"structPxDeletionEventFlag.html#a77bf8900dd0107b612cdc7d86cb796f6":[2,2,42,0], -"structPxDeletionEventFlag.html#a77bf8900dd0107b612cdc7d86cb796f6a3ded5c5153f5e0dac243676b1bb58ab3":[2,2,42,0,1], -"structPxDeletionEventFlag.html#a77bf8900dd0107b612cdc7d86cb796f6a931bc79cc1f907fa640d072c14c47db7":[2,2,42,0,0], +"structPxDeletionEventFlag.html":[2,2,43], +"structPxDeletionEventFlag.html#a77bf8900dd0107b612cdc7d86cb796f6":[2,2,43,0], +"structPxDeletionEventFlag.html#a77bf8900dd0107b612cdc7d86cb796f6a3ded5c5153f5e0dac243676b1bb58ab3":[2,2,43,0,1], +"structPxDeletionEventFlag.html#a77bf8900dd0107b612cdc7d86cb796f6a931bc79cc1f907fa640d072c14c47db7":[2,2,43,0,0], "structPxDistanceJointFlag.html":[2,3,21], "structPxDistanceJointFlag.html#a739197f319da75b41a1f3fbcc39607d9":[2,3,21,0], "structPxDistanceJointFlag.html#a739197f319da75b41a1f3fbcc39607d9a445ff9fe34cd5d13f8bd5656899101cb":[2,3,21,0,1], "structPxDistanceJointFlag.html#a739197f319da75b41a1f3fbcc39607d9a57b10d96775d80633ee37fb674c37576":[2,3,21,0,0], "structPxDistanceJointFlag.html#a739197f319da75b41a1f3fbcc39607d9acef7db4704446fb9dc75d3602f1bfd49":[2,3,21,0,2], -"structPxDominanceGroupPair.html":[2,2,65], -"structPxDominanceGroupPair.html#a395d82a00772ffb5ea3b8ad10b510f94":[2,2,65,0], -"structPxDominanceGroupPair.html#a5767359f402fbda972c3a44e5d86aa75":[2,2,65,2], -"structPxDominanceGroupPair.html#aca0435bf44309f7b432df322c32deb8a":[2,2,65,1], +"structPxDominanceGroupPair.html":[2,2,66], +"structPxDominanceGroupPair.html#a395d82a00772ffb5ea3b8ad10b510f94":[2,2,66,0], +"structPxDominanceGroupPair.html#a5767359f402fbda972c3a44e5d86aa75":[2,2,66,2], +"structPxDominanceGroupPair.html#aca0435bf44309f7b432df322c32deb8a":[2,2,66,1], "structPxErrorCode.html":[2,4,9], "structPxErrorCode.html#a01157d5d2eca2cede61ecbbc32c7b2a3":[2,4,9,0], "structPxErrorCode.html#a01157d5d2eca2cede61ecbbc32c7b2a3a3882aa9c7973b904e82b686ec28bcb4b":[2,4,9,0,7], @@ -202,52 +228,26 @@ var NAVTREEINDEX20 = "structPxFeatherstoneArticulationLinkData.html#ac1ddbf727738cf710737347fe20614bc":[2,10,8,2], "structPxFeatherstoneArticulationLinkData.html#acdc95be4ba4780c781a51e996941c0d6":[2,10,8,0], "structPxFeatherstoneArticulationLinkData.html#aebb0552bf75fa367ca80cadfce32361b":[2,10,8,1], -"structPxFilterData.html":[2,2,46], -"structPxFilterData.html#a11b78c3942ccb889a7e196dc5a640cdc":[2,2,46,9], -"structPxFilterData.html#a1589bdde18f36824d80cdab891236f39":[2,2,46,11], -"structPxFilterData.html#a20d8e3db97e925668d7eba863795b679":[2,2,46,5], -"structPxFilterData.html#a326ddcb63323ef46e0ce68d0c17ece8f":[2,2,46,8], -"structPxFilterData.html#a469ff4e6a40879e92ed4dc5de4b68a48":[2,2,46,0], -"structPxFilterData.html#a9113298253c438cce4bcc0fa4fd85d9a":[2,2,46,4], -"structPxFilterData.html#aac0205beaf2c7a7aeca77c18a57fa5d8":[2,2,46,10], -"structPxFilterData.html#ab02469517e6bf86a5402b451893d60f3":[2,2,46,2], -"structPxFilterData.html#ab4ec43e89c553a53134ca8e481346002":[2,2,46,3], -"structPxFilterData.html#ad6d40431c37145235eaceea47f57b9b5":[2,2,46,7], -"structPxFilterData.html#addcc41dbb862a4ca843fb709a1ce28d0":[2,2,46,6], -"structPxFilterData.html#aecbb36ad8822aac96f39a1054d995821":[2,2,46,1], -"structPxFilterFlag.html":[2,2,45], -"structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083":[2,2,45,0], -"structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083a4df1b673a1cebe8b593252a0d725128f":[2,2,45,0,4], -"structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083a62c42e8178d44dc0ead47699f9df87b8":[2,2,45,0,2], -"structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083a823b175755a63b3e8ad474528f5e1bf6":[2,2,45,0,1], -"structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083aee697d6e40f98c73eb8f5cb5201f1ca9":[2,2,45,0,0], -"structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083afbb0680c3ea5447f44fc90560bd7dd8f":[2,2,45,0,3], -"structPxFilterObjectFlag.html":[2,2,48], -"structPxFilterObjectFlag.html#a7230bf2cf2ad3d35c4adb45187666419":[2,2,48,0], -"structPxFilterObjectFlag.html#a7230bf2cf2ad3d35c4adb45187666419a22d371ca8d8e3c460b1c15abaf7f8d66":[2,2,48,0,1], -"structPxFilterObjectFlag.html#a7230bf2cf2ad3d35c4adb45187666419a8bd2b17ea6e553d0c0770e70bfc5983c":[2,2,48,0,0], -"structPxFilterObjectType.html":[2,2,47], -"structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cf":[2,2,47,0], -"structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cfa25cf98409a3028d306afcdb07dc9bada":[2,2,47,0,1], -"structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cfa3c8b1ac55d0538b1a062f683ae76a131":[2,2,47,0,4], -"structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cfa744d025c426b25ca3261d860f6538fd9":[2,2,47,0,3], -"structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cfa84733c8624de6217f448a4bdde30d219":[2,2,47,0,2], -"structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cfaa2d4fccb6fa60f821cb7661a7d100124":[2,2,47,0,0], -"structPxFilterOp.html":[2,3,16], -"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8b":[2,3,16,0], -"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8ba2b0e2cd065fdfe6d490684fbf6104709":[2,3,16,0,3], -"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8ba6290a0b5b1861b6b75f9cb716c03c9ac":[2,3,16,0,0], -"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8ba92fc1f8ed04baafe3119a0139aa6ea13":[2,3,16,0,1], -"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8bac0d2c2b67dcf6aa8623ae0ed3706fa01":[2,3,16,0,5], -"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8bae2db7275fcd43f7b4cc39e5b5c7df1e4":[2,3,16,0,4], -"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8bae5c78fe10b30fa9a88f6312566371478":[2,3,16,0,6], -"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8bafbffd788c5efa563cb2b7ac929093df2":[2,3,16,0,2], -"structPxForceMode.html":[2,2,51], -"structPxForceMode.html#aadaaafefe0478d829b816154c676e545":[2,2,51,0], -"structPxForceMode.html#aadaaafefe0478d829b816154c676e545a6e707aa50e1612a2603643ee2df85f1a":[2,2,51,0,0], -"structPxForceMode.html#aadaaafefe0478d829b816154c676e545a9f25946973fec4c78991859e8bf76376":[2,2,51,0,2], -"structPxForceMode.html#aadaaafefe0478d829b816154c676e545aa3699bd1b7ae178eda5b946097de52c4":[2,2,51,0,1], -"structPxForceMode.html#aadaaafefe0478d829b816154c676e545ad8a356d2419566d7325ce7017c923a50":[2,2,51,0,3], -"structPxFrictionType.html":[2,2,71], -"structPxFrictionType.html#a603c53fd85805e2528a338252496a96b":[2,2,71,0] +"structPxFilterData.html":[2,2,47], +"structPxFilterData.html#a11b78c3942ccb889a7e196dc5a640cdc":[2,2,47,9], +"structPxFilterData.html#a1589bdde18f36824d80cdab891236f39":[2,2,47,11], +"structPxFilterData.html#a20d8e3db97e925668d7eba863795b679":[2,2,47,5], +"structPxFilterData.html#a326ddcb63323ef46e0ce68d0c17ece8f":[2,2,47,8], +"structPxFilterData.html#a469ff4e6a40879e92ed4dc5de4b68a48":[2,2,47,0], +"structPxFilterData.html#a9113298253c438cce4bcc0fa4fd85d9a":[2,2,47,4], +"structPxFilterData.html#aac0205beaf2c7a7aeca77c18a57fa5d8":[2,2,47,10], +"structPxFilterData.html#ab02469517e6bf86a5402b451893d60f3":[2,2,47,2], +"structPxFilterData.html#ab4ec43e89c553a53134ca8e481346002":[2,2,47,3], +"structPxFilterData.html#ad6d40431c37145235eaceea47f57b9b5":[2,2,47,7], +"structPxFilterData.html#addcc41dbb862a4ca843fb709a1ce28d0":[2,2,47,6], +"structPxFilterData.html#aecbb36ad8822aac96f39a1054d995821":[2,2,47,1], +"structPxFilterFlag.html":[2,2,46], +"structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083":[2,2,46,0], +"structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083a4df1b673a1cebe8b593252a0d725128f":[2,2,46,0,4], +"structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083a62c42e8178d44dc0ead47699f9df87b8":[2,2,46,0,2], +"structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083a823b175755a63b3e8ad474528f5e1bf6":[2,2,46,0,1], +"structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083aee697d6e40f98c73eb8f5cb5201f1ca9":[2,2,46,0,0], +"structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083afbb0680c3ea5447f44fc90560bd7dd8f":[2,2,46,0,3], +"structPxFilterObjectFlag.html":[2,2,49], +"structPxFilterObjectFlag.html#a7230bf2cf2ad3d35c4adb45187666419":[2,2,49,0] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex21.js b/physx/documentation/PhysXAPI/files/navtreeindex21.js index 08c92dbe4..484961e13 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex21.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex21.js @@ -1,9 +1,35 @@ var NAVTREEINDEX21 = { -"structPxFrictionType.html#a603c53fd85805e2528a338252496a96ba1babb0238e5d20663f85eb4e1afa9c84":[2,2,71,0,3], -"structPxFrictionType.html#a603c53fd85805e2528a338252496a96ba3db131f3d5cb7b55f36e0b0d2e3cac6d":[2,2,71,0,1], -"structPxFrictionType.html#a603c53fd85805e2528a338252496a96ba6cc49a8178d18bdd96e42fb1cb2c36a4":[2,2,71,0,2], -"structPxFrictionType.html#a603c53fd85805e2528a338252496a96bacf891c8b96deb40e1e475237fe4f4047":[2,2,71,0,0], +"structPxFilterObjectFlag.html#a7230bf2cf2ad3d35c4adb45187666419a22d371ca8d8e3c460b1c15abaf7f8d66":[2,2,49,0,1], +"structPxFilterObjectFlag.html#a7230bf2cf2ad3d35c4adb45187666419a8bd2b17ea6e553d0c0770e70bfc5983c":[2,2,49,0,0], +"structPxFilterObjectType.html":[2,2,48], +"structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cf":[2,2,48,0], +"structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cfa25cf98409a3028d306afcdb07dc9bada":[2,2,48,0,1], +"structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cfa3c8b1ac55d0538b1a062f683ae76a131":[2,2,48,0,4], +"structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cfa744d025c426b25ca3261d860f6538fd9":[2,2,48,0,3], +"structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cfa84733c8624de6217f448a4bdde30d219":[2,2,48,0,2], +"structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cfaa2d4fccb6fa60f821cb7661a7d100124":[2,2,48,0,0], +"structPxFilterOp.html":[2,3,16], +"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8b":[2,3,16,0], +"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8ba2b0e2cd065fdfe6d490684fbf6104709":[2,3,16,0,3], +"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8ba6290a0b5b1861b6b75f9cb716c03c9ac":[2,3,16,0,0], +"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8ba92fc1f8ed04baafe3119a0139aa6ea13":[2,3,16,0,1], +"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8bac0d2c2b67dcf6aa8623ae0ed3706fa01":[2,3,16,0,5], +"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8bae2db7275fcd43f7b4cc39e5b5c7df1e4":[2,3,16,0,4], +"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8bae5c78fe10b30fa9a88f6312566371478":[2,3,16,0,6], +"structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8bafbffd788c5efa563cb2b7ac929093df2":[2,3,16,0,2], +"structPxForceMode.html":[2,2,52], +"structPxForceMode.html#aadaaafefe0478d829b816154c676e545":[2,2,52,0], +"structPxForceMode.html#aadaaafefe0478d829b816154c676e545a6e707aa50e1612a2603643ee2df85f1a":[2,2,52,0,0], +"structPxForceMode.html#aadaaafefe0478d829b816154c676e545a9f25946973fec4c78991859e8bf76376":[2,2,52,0,2], +"structPxForceMode.html#aadaaafefe0478d829b816154c676e545aa3699bd1b7ae178eda5b946097de52c4":[2,2,52,0,1], +"structPxForceMode.html#aadaaafefe0478d829b816154c676e545ad8a356d2419566d7325ce7017c923a50":[2,2,52,0,3], +"structPxFrictionType.html":[2,2,72], +"structPxFrictionType.html#a603c53fd85805e2528a338252496a96b":[2,2,72,0], +"structPxFrictionType.html#a603c53fd85805e2528a338252496a96ba1babb0238e5d20663f85eb4e1afa9c84":[2,2,72,0,3], +"structPxFrictionType.html#a603c53fd85805e2528a338252496a96ba3db131f3d5cb7b55f36e0b0d2e3cac6d":[2,2,72,0,1], +"structPxFrictionType.html#a603c53fd85805e2528a338252496a96ba6cc49a8178d18bdd96e42fb1cb2c36a4":[2,2,72,0,2], +"structPxFrictionType.html#a603c53fd85805e2528a338252496a96bacf891c8b96deb40e1e475237fe4f4047":[2,2,72,0,0], "structPxGeometryType.html":[2,7,8], "structPxGeometryType.html#aefc79f72c4c479192ac19d41a6f30ed5":[2,7,8,0], "structPxGeometryType.html#aefc79f72c4c479192ac19d41a6f30ed5a2c5cbcb67ffa54ebcdc1674f12b07fb8":[2,7,8,0,0], @@ -116,11 +142,11 @@ var NAVTREEINDEX21 = "structPxMassModificationProps.html#a70262f2157ec8746217cdd6cd7f01346":[3,0,206,0], "structPxMassModificationProps.html#a8e2beb82d6ad7cbde650efce10d9ea41":[3,0,206,2], "structPxMassModificationProps.html#acd3a32386f50966f32a42271ecac6dbd":[3,0,206,1], -"structPxMaterialFlag.html":[2,2,54], -"structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298":[2,2,54,0], -"structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298a5226d9bd4d9fca36ed7f116e95ea987c":[2,2,54,0,1], -"structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298a6789dd096a4391f38bca2f991c92a525":[2,2,54,0,2], -"structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298ae7ac972a545dcab3eea1c3cc4e7f385a":[2,2,54,0,0], +"structPxMaterialFlag.html":[2,2,55], +"structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298":[2,2,55,0], +"structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298a5226d9bd4d9fca36ed7f116e95ea987c":[2,2,55,0,1], +"structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298a6789dd096a4391f38bca2f991c92a525":[2,2,55,0,2], +"structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298ae7ac972a545dcab3eea1c3cc4e7f385a":[2,2,55,0,0], "structPxMeshCookingHint.html":[2,5,0], "structPxMeshCookingHint.html#af88f4aeeaffd545c26bc9b5215303796":[2,5,0,0], "structPxMeshCookingHint.html#af88f4aeeaffd545c26bc9b5215303796a769f30972561dba7eef24120f4f9f7b3":[2,5,0,0,0], @@ -199,55 +225,29 @@ var NAVTREEINDEX21 = "structPxPadding.html":[2,1,6], "structPxPadding.html#a265445b56460ef5b0d4e4bdb477a4090":[2,1,6,1], "structPxPadding.html#a3a6e900438823b303b5818030d2df083":[2,1,6,0], -"structPxPairFilteringMode.html":[2,2,50], -"structPxPairFilteringMode.html#aeaa62ad327b874e4b199022401bf7615":[2,2,50,0], -"structPxPairFilteringMode.html#aeaa62ad327b874e4b199022401bf7615a15ecf48d452c22f6fb755df16919eca4":[2,2,50,0,0], -"structPxPairFilteringMode.html#aeaa62ad327b874e4b199022401bf7615a464ca27835cd3bfe25854b99b6940c71":[2,2,50,0,3], -"structPxPairFilteringMode.html#aeaa62ad327b874e4b199022401bf7615a90ed10dc7c31e894ffc5cff471c91537":[2,2,50,0,1], -"structPxPairFilteringMode.html#aeaa62ad327b874e4b199022401bf7615ad053cb78e88913567e0cb208ea2c458c":[2,2,50,0,2], -"structPxPairFlag.html":[2,2,44], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2f":[2,2,44,0], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa201281be698379417370bf7b0aeeb78e":[2,2,44,0,4], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa2465a37a9b236f662bda8d6636eed59b":[2,2,44,0,1], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa2cd5acfe9fb9c94dceaec1cf0b925758":[2,2,44,0,15], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa31be9ac6da5a882091927851a2c73c59":[2,2,44,0,14], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa33a173d43626000f2534bc228946347e":[2,2,44,0,0], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa517ae07b413b27ad008f766170051ae6":[2,2,44,0,8], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa69f6e6373fe2f024618f752c388ef6b1":[2,2,44,0,3], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa9502180b279a27e884468c3cb7c64544":[2,2,44,0,13], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa9757b9ece121779fa2721621756d173d":[2,2,44,0,10], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fab35919229480fcf006fe1dd5a3fe38ab":[2,2,44,0,6], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fabd8650de69997eaa7c5717e347ca74ac":[2,2,44,0,2], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fac3bd4a1e1a9cb6fbc00dd7df5770f4ac":[2,2,44,0,5], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fac41a9f8b9326480403c023ad20cdc2f1":[2,2,44,0,11], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fac74556f995b40456ab3dfcf1ea9de2dd":[2,2,44,0,7], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2facac0202003af4139c16413db81b4a2e7":[2,2,44,0,17], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2facac6889c907f5e9dcf8e6ea56da1f99e":[2,2,44,0,12], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fadb30cb0c2d2859560b34c684ac076137":[2,2,44,0,9], -"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fafd2fd2d6bbbf3acc8d3cbe63beabe6fe":[2,2,44,0,16], -"structPxPrismaticJointFlag.html":[2,3,35], -"structPxPrismaticJointFlag.html#ad175483117d7036cc021df8ac7dc15f4":[2,3,35,0], -"structPxPrismaticJointFlag.html#ad175483117d7036cc021df8ac7dc15f4ad6c3de45c0cecf5446dc5045656ccb4c":[2,3,35,0,0], -"structPxPruningStructureType.html":[2,2,69], -"structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9":[2,2,69,0], -"structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9a374d304bffaa55f53556e2b40a592e54":[2,2,69,0,1], -"structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9a613753bdd7051b3f88c0199549ee41bb":[2,2,69,0,3], -"structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9a667e19208a1fd5b2215e452ac9754b6e":[2,2,69,0,0], -"structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9a9001cb07511fa509eae16a4a933a77f6":[2,2,69,0,2], -"structPxPvdInstrumentationFlag.html":[2,8,1], -"structPxPvdInstrumentationFlag.html#ae5be1bcb179a96c601194126230aeede":[2,8,1,0], -"structPxPvdInstrumentationFlag.html#ae5be1bcb179a96c601194126230aeedea105907e11b7280f3bf29a2187688fa54":[2,8,1,0,3], -"structPxPvdInstrumentationFlag.html#ae5be1bcb179a96c601194126230aeedea1e1edeea03427ccaef15df3fb6c37eea":[2,8,1,0,2], -"structPxPvdInstrumentationFlag.html#ae5be1bcb179a96c601194126230aeedeaad2e5f3100343f6f8b7bfe7b5b8e1978":[2,8,1,0,1], -"structPxPvdInstrumentationFlag.html#ae5be1bcb179a96c601194126230aeedeadaffb4216dd0bc2a5683245ea725afdf":[2,8,1,0,0], -"structPxPvdSceneFlag.html":[2,8,3], -"structPxPvdSceneFlag.html#afa6d3e9f667028233457051fe78042bd":[2,8,3,0], -"structPxPvdSceneFlag.html#afa6d3e9f667028233457051fe78042bda3ed9ad4d1417f0a21890863151cd8479":[2,8,3,0,1], -"structPxPvdSceneFlag.html#afa6d3e9f667028233457051fe78042bda5ba8a26fb095e8aae8b44458dbc62e90":[2,8,3,0,2], -"structPxPvdSceneFlag.html#afa6d3e9f667028233457051fe78042bda763257fd0af12ca672fd4ed15b1454a7":[2,8,3,0,0], -"structPxPvdUpdateType.html":[2,2,36], -"structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821e":[2,2,36,0], -"structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821ea0eecad415d479a0d09a5fb95cd746e0b":[2,2,36,0,0], -"structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821ea350ca0e808fcd0443ac8f13d7fb46c79":[2,2,36,0,2], -"structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821ea773108482e1b98ff5517a5f3f020f5a4":[2,2,36,0,3] +"structPxPairFilteringMode.html":[2,2,51], +"structPxPairFilteringMode.html#aeaa62ad327b874e4b199022401bf7615":[2,2,51,0], +"structPxPairFilteringMode.html#aeaa62ad327b874e4b199022401bf7615a15ecf48d452c22f6fb755df16919eca4":[2,2,51,0,0], +"structPxPairFilteringMode.html#aeaa62ad327b874e4b199022401bf7615a464ca27835cd3bfe25854b99b6940c71":[2,2,51,0,3], +"structPxPairFilteringMode.html#aeaa62ad327b874e4b199022401bf7615a90ed10dc7c31e894ffc5cff471c91537":[2,2,51,0,1], +"structPxPairFilteringMode.html#aeaa62ad327b874e4b199022401bf7615ad053cb78e88913567e0cb208ea2c458c":[2,2,51,0,2], +"structPxPairFlag.html":[2,2,45], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2f":[2,2,45,0], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa201281be698379417370bf7b0aeeb78e":[2,2,45,0,4], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa2465a37a9b236f662bda8d6636eed59b":[2,2,45,0,1], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa2cd5acfe9fb9c94dceaec1cf0b925758":[2,2,45,0,15], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa31be9ac6da5a882091927851a2c73c59":[2,2,45,0,14], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa33a173d43626000f2534bc228946347e":[2,2,45,0,0], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa517ae07b413b27ad008f766170051ae6":[2,2,45,0,8], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa69f6e6373fe2f024618f752c388ef6b1":[2,2,45,0,3], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa9502180b279a27e884468c3cb7c64544":[2,2,45,0,13], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa9757b9ece121779fa2721621756d173d":[2,2,45,0,10], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fab35919229480fcf006fe1dd5a3fe38ab":[2,2,45,0,6], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fabd8650de69997eaa7c5717e347ca74ac":[2,2,45,0,2], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fac3bd4a1e1a9cb6fbc00dd7df5770f4ac":[2,2,45,0,5], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fac41a9f8b9326480403c023ad20cdc2f1":[2,2,45,0,11], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fac74556f995b40456ab3dfcf1ea9de2dd":[2,2,45,0,7], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2facac0202003af4139c16413db81b4a2e7":[2,2,45,0,17], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2facac6889c907f5e9dcf8e6ea56da1f99e":[2,2,45,0,12], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fadb30cb0c2d2859560b34c684ac076137":[2,2,45,0,9] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex22.js b/physx/documentation/PhysXAPI/files/navtreeindex22.js index 1df80f60d..af3410fc7 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex22.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex22.js @@ -1,12 +1,38 @@ var NAVTREEINDEX22 = { -"structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821eaf20c7f1d72fa509cffbdd5b10c96f0f7":[2,2,36,0,1], -"structPxQueryCache.html":[2,2,67], -"structPxQueryCache.html#a5d0d3a21b50e766b90c903145592cc7c":[2,2,67,3], -"structPxQueryCache.html#a8104d15f64ccdecf8f4d31c9bb5af409":[2,2,67,4], -"structPxQueryCache.html#a810ecb74536e940be1719d60aedfd3cd":[2,2,67,0], -"structPxQueryCache.html#a83f3c62b437087d7fab306d003f383a7":[2,2,67,2], -"structPxQueryCache.html#aec86c57516de749a1e2b658a8cb5e5bd":[2,2,67,1], +"structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fafd2fd2d6bbbf3acc8d3cbe63beabe6fe":[2,2,45,0,16], +"structPxPrismaticJointFlag.html":[2,3,35], +"structPxPrismaticJointFlag.html#ad175483117d7036cc021df8ac7dc15f4":[2,3,35,0], +"structPxPrismaticJointFlag.html#ad175483117d7036cc021df8ac7dc15f4ad6c3de45c0cecf5446dc5045656ccb4c":[2,3,35,0,0], +"structPxPruningStructureType.html":[2,2,70], +"structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9":[2,2,70,0], +"structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9a374d304bffaa55f53556e2b40a592e54":[2,2,70,0,1], +"structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9a613753bdd7051b3f88c0199549ee41bb":[2,2,70,0,3], +"structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9a667e19208a1fd5b2215e452ac9754b6e":[2,2,70,0,0], +"structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9a9001cb07511fa509eae16a4a933a77f6":[2,2,70,0,2], +"structPxPvdInstrumentationFlag.html":[2,8,1], +"structPxPvdInstrumentationFlag.html#ae5be1bcb179a96c601194126230aeede":[2,8,1,0], +"structPxPvdInstrumentationFlag.html#ae5be1bcb179a96c601194126230aeedea105907e11b7280f3bf29a2187688fa54":[2,8,1,0,3], +"structPxPvdInstrumentationFlag.html#ae5be1bcb179a96c601194126230aeedea1e1edeea03427ccaef15df3fb6c37eea":[2,8,1,0,2], +"structPxPvdInstrumentationFlag.html#ae5be1bcb179a96c601194126230aeedeaad2e5f3100343f6f8b7bfe7b5b8e1978":[2,8,1,0,1], +"structPxPvdInstrumentationFlag.html#ae5be1bcb179a96c601194126230aeedeadaffb4216dd0bc2a5683245ea725afdf":[2,8,1,0,0], +"structPxPvdSceneFlag.html":[2,8,3], +"structPxPvdSceneFlag.html#afa6d3e9f667028233457051fe78042bd":[2,8,3,0], +"structPxPvdSceneFlag.html#afa6d3e9f667028233457051fe78042bda3ed9ad4d1417f0a21890863151cd8479":[2,8,3,0,1], +"structPxPvdSceneFlag.html#afa6d3e9f667028233457051fe78042bda5ba8a26fb095e8aae8b44458dbc62e90":[2,8,3,0,2], +"structPxPvdSceneFlag.html#afa6d3e9f667028233457051fe78042bda763257fd0af12ca672fd4ed15b1454a7":[2,8,3,0,0], +"structPxPvdUpdateType.html":[2,2,37], +"structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821e":[2,2,37,0], +"structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821ea0eecad415d479a0d09a5fb95cd746e0b":[2,2,37,0,0], +"structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821ea350ca0e808fcd0443ac8f13d7fb46c79":[2,2,37,0,2], +"structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821ea773108482e1b98ff5517a5f3f020f5a4":[2,2,37,0,3], +"structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821eaf20c7f1d72fa509cffbdd5b10c96f0f7":[2,2,37,0,1], +"structPxQueryCache.html":[2,2,68], +"structPxQueryCache.html#a5d0d3a21b50e766b90c903145592cc7c":[2,2,68,3], +"structPxQueryCache.html#a8104d15f64ccdecf8f4d31c9bb5af409":[2,2,68,4], +"structPxQueryCache.html#a810ecb74536e940be1719d60aedfd3cd":[2,2,68,0], +"structPxQueryCache.html#a83f3c62b437087d7fab306d003f383a7":[2,2,68,2], +"structPxQueryCache.html#aec86c57516de749a1e2b658a8cb5e5bd":[2,2,68,1], "structPxQueryFilterData.html":[2,9,3], "structPxQueryFilterData.html#a02180ad928beb2e5d3d5caf4cc84f387":[2,9,3,4], "structPxQueryFilterData.html#a589e393317001f2effd196324ee459ed":[2,9,3,0], @@ -68,57 +94,57 @@ var NAVTREEINDEX22 = "structPxRigidBodyData.html#aa523e1704f34568a599f4744f0b6cbbc":[2,10,0,7], "structPxRigidBodyData.html#adbfbf35988384b74c8c9fa4280a7c45b":[2,10,0,4], "structPxRigidBodyData.html#afe4e0a693288590b7ce8383bc3e2cd79":[2,10,0,10], -"structPxRigidBodyFlag.html":[2,2,60], -"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596":[2,2,60,0], -"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596a37775d7c189d9f499fdfda010f73fb95":[2,2,60,0,3], -"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596a686cdd889652a435c19d8c663d809d9e":[2,2,60,0,2], -"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596a983c62745e575428d8b0aadefc23e8bc":[2,2,60,0,1], -"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596ab2bb4cc4246807076a2103d72bd69e00":[2,2,60,0,6], -"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596abd76e6985e9db78efb7a66148ea4c212":[2,2,60,0,0], -"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596ac89b33b0290d667f6f2ae69298631d01":[2,2,60,0,4], -"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596ae3f262927cf4d13f517c6f0c08ec448f":[2,2,60,0,7], -"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596af13d6aa80b364fe2cef81a0039e37d45":[2,2,60,0,5], -"structPxRigidDynamicLockFlag.html":[2,2,62], -"structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1":[2,2,62,0], -"structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1a1ea9c4f30ecf9f98b6a9057b805fee50":[2,2,62,0,1], -"structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1a3c845939174811074c1829316c942efa":[2,2,62,0,0], -"structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1a92189af0472e35c788923f75be44396f":[2,2,62,0,2], -"structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1aa8df9ce7f49c12ce3f686bd862f86fe6":[2,2,62,0,4], -"structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1acd29b90fdd453256db7d95f8d168ffd4":[2,2,62,0,3], -"structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1ae18e7d6c8b2eb5281e3f8ef8c8502133":[2,2,62,0,5], -"structPxSceneFlag.html":[2,2,73], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53":[2,2,73,0], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a05d1e69880f10fb3de7d26c2e2e7eca3":[2,2,73,0,1], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a0f33dd0881c63e1f82f9b7eb333c81b0":[2,2,73,0,13], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a29717fa631812cc31261d73055762e03":[2,2,73,0,4], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a44d457656c5ac42d8318bfa2df7aee82":[2,2,73,0,14], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a641b016fe61d501e8cb5cdadd1b412ed":[2,2,73,0,9], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a8644817a9a2916453433702614672565":[2,2,73,0,5], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a909e1cb63ea9c0394e2c2b3a526f47fe":[2,2,73,0,8], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a97a4bafb1db3bba4b8ff373e16d67c5b":[2,2,73,0,7], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a9f72bafbe1387992429615ab5842b07a":[2,2,73,0,6], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53aa645ccb938b901ce501b50ce55c15886":[2,2,73,0,10], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53ab864a8d54af8c7baaedba117977a523f":[2,2,73,0,0], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53ae5e231832542525c2c1faedcc4a49d11":[2,2,73,0,2], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53af41a174026200b36d385fbe91a67eac0":[2,2,73,0,3], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53afb55a7dd55b07e2ae234072e88d0b607":[2,2,73,0,11], -"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53afc106b84674b04718dd78ea4640daf86":[2,2,73,0,12], -"structPxSceneQueryUpdateMode.html":[2,2,70], -"structPxSceneQueryUpdateMode.html#a04e575a313bce592e2b404eedf89a9d4":[2,2,70,0], -"structPxSceneQueryUpdateMode.html#a04e575a313bce592e2b404eedf89a9d4a501079944c5156ae69a4b8e66727144c":[2,2,70,0,1], -"structPxSceneQueryUpdateMode.html#a04e575a313bce592e2b404eedf89a9d4a793afa91b648fc6b1c92ff333490e7f2":[2,2,70,0,2], -"structPxSceneQueryUpdateMode.html#a04e575a313bce592e2b404eedf89a9d4aa9f1900ad863b24a136a6bf7061718e5":[2,2,70,0,0], +"structPxRigidBodyFlag.html":[2,2,61], +"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596":[2,2,61,0], +"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596a37775d7c189d9f499fdfda010f73fb95":[2,2,61,0,3], +"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596a686cdd889652a435c19d8c663d809d9e":[2,2,61,0,2], +"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596a983c62745e575428d8b0aadefc23e8bc":[2,2,61,0,1], +"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596ab2bb4cc4246807076a2103d72bd69e00":[2,2,61,0,6], +"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596abd76e6985e9db78efb7a66148ea4c212":[2,2,61,0,0], +"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596ac89b33b0290d667f6f2ae69298631d01":[2,2,61,0,4], +"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596ae3f262927cf4d13f517c6f0c08ec448f":[2,2,61,0,7], +"structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596af13d6aa80b364fe2cef81a0039e37d45":[2,2,61,0,5], +"structPxRigidDynamicLockFlag.html":[2,2,63], +"structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1":[2,2,63,0], +"structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1a1ea9c4f30ecf9f98b6a9057b805fee50":[2,2,63,0,1], +"structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1a3c845939174811074c1829316c942efa":[2,2,63,0,0], +"structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1a92189af0472e35c788923f75be44396f":[2,2,63,0,2], +"structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1aa8df9ce7f49c12ce3f686bd862f86fe6":[2,2,63,0,4], +"structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1acd29b90fdd453256db7d95f8d168ffd4":[2,2,63,0,3], +"structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1ae18e7d6c8b2eb5281e3f8ef8c8502133":[2,2,63,0,5], +"structPxSceneFlag.html":[2,2,74], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53":[2,2,74,0], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a05d1e69880f10fb3de7d26c2e2e7eca3":[2,2,74,0,1], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a0f33dd0881c63e1f82f9b7eb333c81b0":[2,2,74,0,13], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a29717fa631812cc31261d73055762e03":[2,2,74,0,4], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a44d457656c5ac42d8318bfa2df7aee82":[2,2,74,0,14], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a641b016fe61d501e8cb5cdadd1b412ed":[2,2,74,0,9], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a8644817a9a2916453433702614672565":[2,2,74,0,5], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a909e1cb63ea9c0394e2c2b3a526f47fe":[2,2,74,0,8], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a97a4bafb1db3bba4b8ff373e16d67c5b":[2,2,74,0,7], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a9f72bafbe1387992429615ab5842b07a":[2,2,74,0,6], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53aa645ccb938b901ce501b50ce55c15886":[2,2,74,0,10], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53ab864a8d54af8c7baaedba117977a523f":[2,2,74,0,0], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53ae5e231832542525c2c1faedcc4a49d11":[2,2,74,0,2], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53af41a174026200b36d385fbe91a67eac0":[2,2,74,0,3], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53afb55a7dd55b07e2ae234072e88d0b607":[2,2,74,0,11], +"structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53afc106b84674b04718dd78ea4640daf86":[2,2,74,0,12], +"structPxSceneQueryUpdateMode.html":[2,2,71], +"structPxSceneQueryUpdateMode.html#a04e575a313bce592e2b404eedf89a9d4":[2,2,71,0], +"structPxSceneQueryUpdateMode.html#a04e575a313bce592e2b404eedf89a9d4a501079944c5156ae69a4b8e66727144c":[2,2,71,0,1], +"structPxSceneQueryUpdateMode.html#a04e575a313bce592e2b404eedf89a9d4a793afa91b648fc6b1c92ff333490e7f2":[2,2,71,0,2], +"structPxSceneQueryUpdateMode.html#a04e575a313bce592e2b404eedf89a9d4aa9f1900ad863b24a136a6bf7061718e5":[2,2,71,0,0], "structPxSerialization_1_1PxXmlMiscParameter.html":[2,3,45,0], "structPxSerialization_1_1PxXmlMiscParameter.html#a03c769123fd992745d9214c8ea30e483":[2,3,45,0,3], "structPxSerialization_1_1PxXmlMiscParameter.html#aa23353942908b5783b0d7aebe4ce3205":[2,3,45,0,0], "structPxSerialization_1_1PxXmlMiscParameter.html#ab7f05bbfdf68b9cd2445508f40d9a6f1":[2,3,45,0,1], "structPxSerialization_1_1PxXmlMiscParameter.html#ab910bcc05cf5dc2606d04c9e18a7af63":[2,3,45,0,2], -"structPxShapeFlag.html":[2,2,79], -"structPxShapeFlag.html#a6edb481aaa3a998c5d6dd3fc4ad87f1a":[2,2,79,0], -"structPxShapeFlag.html#a6edb481aaa3a998c5d6dd3fc4ad87f1aa1b3a6f33eb84ee2dc74eac63aa86f2a4":[2,2,79,0,3], -"structPxShapeFlag.html#a6edb481aaa3a998c5d6dd3fc4ad87f1aa7fa4fea0eecda9cc80a7aaa11a22df52":[2,2,79,0,0], -"structPxShapeFlag.html#a6edb481aaa3a998c5d6dd3fc4ad87f1aabc7ec24b00ed57f3914482f0706c6273":[2,2,79,0,1], -"structPxShapeFlag.html#a6edb481aaa3a998c5d6dd3fc4ad87f1aaef2b90024dc86be72b68bbaf94a5821d":[2,2,79,0,2], +"structPxShapeFlag.html":[2,2,80], +"structPxShapeFlag.html#a6edb481aaa3a998c5d6dd3fc4ad87f1a":[2,2,80,0], +"structPxShapeFlag.html#a6edb481aaa3a998c5d6dd3fc4ad87f1aa1b3a6f33eb84ee2dc74eac63aa86f2a4":[2,2,80,0,3], +"structPxShapeFlag.html#a6edb481aaa3a998c5d6dd3fc4ad87f1aa7fa4fea0eecda9cc80a7aaa11a22df52":[2,2,80,0,0], +"structPxShapeFlag.html#a6edb481aaa3a998c5d6dd3fc4ad87f1aabc7ec24b00ed57f3914482f0706c6273":[2,2,80,0,1], +"structPxShapeFlag.html#a6edb481aaa3a998c5d6dd3fc4ad87f1aaef2b90024dc86be72b68bbaf94a5821d":[2,2,80,0,2], "structPxSolverBody.html":[3,0,293], "structPxSolverBody.html#a2e3b0fc4b9097cb2ded8aec5120299ec":[3,0,293,3], "structPxSolverBody.html#a94d862d029f4dba6de658d2b84b6affc":[3,0,293,4], @@ -204,50 +230,24 @@ var NAVTREEINDEX22 = "structPxSolverContactDesc.html#aecb81b31ea78f95b634eecdc4ff787e9":[3,0,298,6], "structPxSolverContactDesc.html#af55d96c0ef829f175bf5e291d6f0edf3":[3,0,298,0], "structPxSolverContactDesc.html#afaeb10971f33613461d2c6cf1c2804fa":[3,0,298,16], -"structPxSolverType.html":[2,2,72], -"structPxSolverType.html#a96adc2f8785c6b18805a18b03289dbe6":[2,2,72,0], -"structPxSolverType.html#a96adc2f8785c6b18805a18b03289dbe6ac62cf152c5d6a5e1a12eebc81b0b6e6d":[2,2,72,0,1], -"structPxSolverType.html#a96adc2f8785c6b18805a18b03289dbe6ae450cc99d8cedb7faff78689f1bc84f5":[2,2,72,0,0], +"structPxSolverType.html":[2,2,73], +"structPxSolverType.html#a96adc2f8785c6b18805a18b03289dbe6":[2,2,73,0], +"structPxSolverType.html#a96adc2f8785c6b18805a18b03289dbe6ac62cf152c5d6a5e1a12eebc81b0b6e6d":[2,2,73,0,1], +"structPxSolverType.html#a96adc2f8785c6b18805a18b03289dbe6ae450cc99d8cedb7faff78689f1bc84f5":[2,2,73,0,0], "structPxSpatialForce.html":[2,2,14], "structPxSpatialForce.html#a0c350e4c06721f54057740e212d5c0e3":[2,2,14,3], "structPxSpatialForce.html#a2cdc903082cac57c5458f24dbfa2e1e3":[2,2,14,1], "structPxSpatialForce.html#ae286b879840cc34b800fb254b824bbe6":[2,2,14,0], "structPxSpatialForce.html#aee182664c6f1807eb945d3c83ac746b3":[2,2,14,2], +"structPxSpatialVelocity.html":[2,2,15], +"structPxSpatialVelocity.html#a02e82818206391c9ece02f9422ba159d":[2,2,15,2], +"structPxSpatialVelocity.html#a1873df39ae53892ee11f61eecf4493ac":[2,2,15,3], +"structPxSpatialVelocity.html#a9f786fd589f7cdd251bce4533740a3dc":[2,2,15,0], +"structPxSpatialVelocity.html#ac02baccbfcfc70da86f7e26a927e2f6c":[2,2,15,1], "structPxSphericalJointFlag.html":[2,3,47], "structPxSphericalJointFlag.html#afc657f6cb078dd077c835e798ac56561":[2,3,47,0], "structPxSphericalJointFlag.html#afc657f6cb078dd077c835e798ac56561adc8bbdc303d98a76306bf70548b6435c":[2,3,47,0,0], "structPxStridedData.html":[2,1,3], "structPxStridedData.html#aab3bef989385429460d352f764547767":[2,1,3,1], -"structPxStridedData.html#aabf495b4b5caec8f5350645a49e68fb3":[2,1,3,3], -"structPxStridedData.html#ad98a9e00d44b1c2c48c6dec114693f18":[2,1,3,2], -"structPxStridedData.html#af327f6129229e98cb13b949b3fa2a26d":[2,1,3,0], -"structPxSweepBufferN.html":[2,9,16], -"structPxSweepBufferN.html#ab8be2772b4fe811563efc01824201a61":[2,9,16,0], -"structPxSweepBufferN.html#ace8e98273056b9c23dd4337c7024544f":[2,9,16,1], -"structPxSweepHit.html":[2,9,11], -"structPxSweepHit.html#a4bf1a7791ef7aa0d5030fdd2756a607f":[2,9,11,1], -"structPxSweepHit.html#a7a872b4eff912e5e37e1ee8d551547ac":[2,9,11,0], -"structPxTGSSolverBodyData.html":[3,0,311], -"structPxTGSSolverBodyData.html#a3e0265b810f968f1ad0ef6442586d6ec":[3,0,311,3], -"structPxTGSSolverBodyData.html#a4fced225135ff28142c1dbb8281b74a8":[3,0,311,4], -"structPxTGSSolverBodyData.html#a6486d9b8c5fe602b22cba2f77fc97a5f":[3,0,311,8], -"structPxTGSSolverBodyData.html#a7b17688352d179df4698a1caf0327c76":[3,0,311,7], -"structPxTGSSolverBodyData.html#a8c36cfdf8537f4d1109466c8ad65b57c":[3,0,311,0], -"structPxTGSSolverBodyData.html#a97354c23b2c33dde73b4a4c19f7ebaf6":[3,0,311,1], -"structPxTGSSolverBodyData.html#adcfb898a3284a280700296191ac1ac45":[3,0,311,5], -"structPxTGSSolverBodyData.html#adf8bec50408d2405fbf2372b13390572":[3,0,311,6], -"structPxTGSSolverBodyData.html#aef16d81dc691549d6b58f2118406dd2f":[3,0,311,2], -"structPxTGSSolverBodyTxInertia.html":[3,0,312], -"structPxTGSSolverBodyTxInertia.html#aaa47dd8511fb2b56f1d285b5ba45f118":[3,0,312,0], -"structPxTGSSolverBodyTxInertia.html#af71f4198dd9c487461a3302c6784ea6f":[3,0,312,1], -"structPxTGSSolverBodyVel.html":[3,0,313], -"structPxTGSSolverBodyVel.html#a024740f7b599adb152a938b55c153709":[3,0,313,9], -"structPxTGSSolverBodyVel.html#a0f8a1cde9ca85bff8d8c95a444502128":[3,0,313,3], -"structPxTGSSolverBodyVel.html#a143884acc4bdc567626be91653ed861f":[3,0,313,10], -"structPxTGSSolverBodyVel.html#a1f1ac6c09e0d09bf84cfa4d0e88facee":[3,0,313,8], -"structPxTGSSolverBodyVel.html#a24e2c2e70799b612afe971b20a3daf56":[3,0,313,0], -"structPxTGSSolverBodyVel.html#a270fce74ffe1dc2d2207fd709b9fb2cd":[3,0,313,11], -"structPxTGSSolverBodyVel.html#a396aa6ce5758b19d81a4860fa67065db":[3,0,313,6], -"structPxTGSSolverBodyVel.html#a62180b6a25deacd6454c72f0680b3349":[3,0,313,2], -"structPxTGSSolverBodyVel.html#a64ac2385ae08ca2228a82d867277c6e9":[3,0,313,1] +"structPxStridedData.html#aabf495b4b5caec8f5350645a49e68fb3":[2,1,3,3] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex23.js b/physx/documentation/PhysXAPI/files/navtreeindex23.js index de89c1413..dce9d24b4 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex23.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex23.js @@ -1,55 +1,86 @@ var NAVTREEINDEX23 = { -"structPxTGSSolverBodyVel.html#a661c068fee9d0d69310f061791cc1a31":[3,0,313,5], -"structPxTGSSolverBodyVel.html#a863ba941fa369400c70692b7fa7b57e6":[3,0,313,4], -"structPxTGSSolverBodyVel.html#a96df4104c19d116c22bc0279975a16b2":[3,0,313,7], -"structPxTGSSolverConstraintPrepDesc.html":[3,0,314], -"structPxTGSSolverConstraintPrepDesc.html#a01424750f4140ed60797167cf6e4162f":[3,0,314,3], -"structPxTGSSolverConstraintPrepDesc.html#a0cdbc868a9696b9cf91225391b355d5f":[3,0,314,1], -"structPxTGSSolverConstraintPrepDesc.html#a16112a28791d053030749d7a16dba358":[3,0,314,7], -"structPxTGSSolverConstraintPrepDesc.html#a2e6f1bfe2c789007a302b614b730daaa":[3,0,314,8], -"structPxTGSSolverConstraintPrepDesc.html#a35c2833954aa8eabdf9d2ee67e973130":[3,0,314,2], -"structPxTGSSolverConstraintPrepDesc.html#a40bead37a891a1e5bdac959256e7f1bc":[3,0,314,5], -"structPxTGSSolverConstraintPrepDesc.html#a4e898ee147ebd910c17f972b36469c2f":[3,0,314,12], -"structPxTGSSolverConstraintPrepDesc.html#a6d22cbffa472183363fdb9b38400db09":[3,0,314,11], -"structPxTGSSolverConstraintPrepDesc.html#a6fa8f15b3d25c668667d45ab0493d637":[3,0,314,10], -"structPxTGSSolverConstraintPrepDesc.html#a8aa125210bc7775041c4ed07b5d0beca":[3,0,314,0], -"structPxTGSSolverConstraintPrepDesc.html#ab0a996ed090bea6630a56bc00a4637d3":[3,0,314,6], -"structPxTGSSolverConstraintPrepDesc.html#abb4e61b97d7c31cda50f046a6997905b":[3,0,314,9], -"structPxTGSSolverConstraintPrepDesc.html#ac90d6c44134ff6338c99f129334f877b":[3,0,314,4], -"structPxTGSSolverConstraintPrepDescBase.html":[3,0,315], -"structPxTGSSolverConstraintPrepDescBase.html#a00e4ad46100575375c9fcddd86a166b3":[3,0,315,9], -"structPxTGSSolverConstraintPrepDescBase.html#a1b333a2fea69f88f1c11c9f812052e0f":[3,0,315,0], -"structPxTGSSolverConstraintPrepDescBase.html#a1bf247709055aaa9e9c702d76de6c866":[3,0,315,4], -"structPxTGSSolverConstraintPrepDescBase.html#a51d8370090983c269966739e14979e4a":[3,0,315,1], -"structPxTGSSolverConstraintPrepDescBase.html#a661a0d94ab747d3f6e71deb44179f74a":[3,0,315,8], -"structPxTGSSolverConstraintPrepDescBase.html#a6a22f7cd3293b9877ec97560b1862e8c":[3,0,315,7], -"structPxTGSSolverConstraintPrepDescBase.html#a6a53ca0ea9f69a6581f2b44ed1ea8aa4":[3,0,315,10], -"structPxTGSSolverConstraintPrepDescBase.html#a93cdc318c9c74323988c5204870b6733":[3,0,315,5], -"structPxTGSSolverConstraintPrepDescBase.html#aae266269124532f1dee273c75209d9fb":[3,0,315,11], -"structPxTGSSolverConstraintPrepDescBase.html#abf87509917d688f2296b3e4ca1883bc2":[3,0,315,3], -"structPxTGSSolverConstraintPrepDescBase.html#ac428634b273386f0edf5e17ea3fd0049":[3,0,315,2], -"structPxTGSSolverConstraintPrepDescBase.html#aeba37ba193902e0141dc9cd4d6cacaf2":[3,0,315,6], -"structPxTGSSolverContactDesc.html":[3,0,316], -"structPxTGSSolverContactDesc.html#a009c28b94dbb4e2bf77ee50f187924be":[3,0,316,10], -"structPxTGSSolverContactDesc.html#a0ff123ce07992aa9ba795366f347aed1":[3,0,316,9], -"structPxTGSSolverContactDesc.html#a11c978927580e83557522429a291b1e0":[3,0,316,4], -"structPxTGSSolverContactDesc.html#a2528245373f86eb6475151cff7f517c5":[3,0,316,1], -"structPxTGSSolverContactDesc.html#a264877eb201cfe904fbe832b94ebfccc":[3,0,316,14], -"structPxTGSSolverContactDesc.html#a2b7236819f8aacbc20f5d68596ec37ec":[3,0,316,15], -"structPxTGSSolverContactDesc.html#a31b779c60e6f523d3367b109a55b8498":[3,0,316,7], -"structPxTGSSolverContactDesc.html#a32c32515e655df204dc97163c0d8f503":[3,0,316,8], -"structPxTGSSolverContactDesc.html#a42cdafb4a9c8ef0daaa1dd584b2f2bd4":[3,0,316,6], -"structPxTGSSolverContactDesc.html#a4b1fadcb0c18263f2f7e31a1a8e9fcc1":[3,0,316,5], -"structPxTGSSolverContactDesc.html#a52c82757413cf7a74fd33543be21f9bc":[3,0,316,13], -"structPxTGSSolverContactDesc.html#a71566924a2d0ebc51d688318309e0e7e":[3,0,316,12], -"structPxTGSSolverContactDesc.html#a9925f638d123b5636e4b3ab9d58966ff":[3,0,316,18], -"structPxTGSSolverContactDesc.html#ac846e96c932f98fe0ade48f813c464c6":[3,0,316,0], -"structPxTGSSolverContactDesc.html#ad20755f12b4cc3e302af7353a923ae4f":[3,0,316,17], -"structPxTGSSolverContactDesc.html#ad451864f355f80ff88b943b9f3ec6079":[3,0,316,11], -"structPxTGSSolverContactDesc.html#ae94706f6d8851b7cfb9cfc054afe7fd2":[3,0,316,3], -"structPxTGSSolverContactDesc.html#aed207eb98917eeda2b19bdb2fe65f14e":[3,0,316,16], -"structPxTGSSolverContactDesc.html#af209e0ce9b1975ed8340b528f00df9c1":[3,0,316,2], +"structPxStridedData.html#ad98a9e00d44b1c2c48c6dec114693f18":[2,1,3,2], +"structPxStridedData.html#af327f6129229e98cb13b949b3fa2a26d":[2,1,3,0], +"structPxSweepBufferN.html":[2,9,16], +"structPxSweepBufferN.html#ab8be2772b4fe811563efc01824201a61":[2,9,16,0], +"structPxSweepBufferN.html#ace8e98273056b9c23dd4337c7024544f":[2,9,16,1], +"structPxSweepHit.html":[2,9,11], +"structPxSweepHit.html#a4bf1a7791ef7aa0d5030fdd2756a607f":[2,9,11,1], +"structPxSweepHit.html#a7a872b4eff912e5e37e1ee8d551547ac":[2,9,11,0], +"structPxTGSSolverBodyData.html":[3,0,312], +"structPxTGSSolverBodyData.html#a3e0265b810f968f1ad0ef6442586d6ec":[3,0,312,3], +"structPxTGSSolverBodyData.html#a4fced225135ff28142c1dbb8281b74a8":[3,0,312,4], +"structPxTGSSolverBodyData.html#a6486d9b8c5fe602b22cba2f77fc97a5f":[3,0,312,8], +"structPxTGSSolverBodyData.html#a7b17688352d179df4698a1caf0327c76":[3,0,312,7], +"structPxTGSSolverBodyData.html#a8c36cfdf8537f4d1109466c8ad65b57c":[3,0,312,0], +"structPxTGSSolverBodyData.html#a97354c23b2c33dde73b4a4c19f7ebaf6":[3,0,312,1], +"structPxTGSSolverBodyData.html#adcfb898a3284a280700296191ac1ac45":[3,0,312,5], +"structPxTGSSolverBodyData.html#adf8bec50408d2405fbf2372b13390572":[3,0,312,6], +"structPxTGSSolverBodyData.html#aef16d81dc691549d6b58f2118406dd2f":[3,0,312,2], +"structPxTGSSolverBodyTxInertia.html":[3,0,313], +"structPxTGSSolverBodyTxInertia.html#aaa47dd8511fb2b56f1d285b5ba45f118":[3,0,313,0], +"structPxTGSSolverBodyTxInertia.html#af71f4198dd9c487461a3302c6784ea6f":[3,0,313,1], +"structPxTGSSolverBodyVel.html":[3,0,314], +"structPxTGSSolverBodyVel.html#a024740f7b599adb152a938b55c153709":[3,0,314,9], +"structPxTGSSolverBodyVel.html#a0f8a1cde9ca85bff8d8c95a444502128":[3,0,314,3], +"structPxTGSSolverBodyVel.html#a143884acc4bdc567626be91653ed861f":[3,0,314,10], +"structPxTGSSolverBodyVel.html#a1f1ac6c09e0d09bf84cfa4d0e88facee":[3,0,314,8], +"structPxTGSSolverBodyVel.html#a24e2c2e70799b612afe971b20a3daf56":[3,0,314,0], +"structPxTGSSolverBodyVel.html#a270fce74ffe1dc2d2207fd709b9fb2cd":[3,0,314,11], +"structPxTGSSolverBodyVel.html#a396aa6ce5758b19d81a4860fa67065db":[3,0,314,6], +"structPxTGSSolverBodyVel.html#a62180b6a25deacd6454c72f0680b3349":[3,0,314,2], +"structPxTGSSolverBodyVel.html#a64ac2385ae08ca2228a82d867277c6e9":[3,0,314,1], +"structPxTGSSolverBodyVel.html#a661c068fee9d0d69310f061791cc1a31":[3,0,314,5], +"structPxTGSSolverBodyVel.html#a863ba941fa369400c70692b7fa7b57e6":[3,0,314,4], +"structPxTGSSolverBodyVel.html#a96df4104c19d116c22bc0279975a16b2":[3,0,314,7], +"structPxTGSSolverConstraintPrepDesc.html":[3,0,315], +"structPxTGSSolverConstraintPrepDesc.html#a01424750f4140ed60797167cf6e4162f":[3,0,315,3], +"structPxTGSSolverConstraintPrepDesc.html#a0cdbc868a9696b9cf91225391b355d5f":[3,0,315,1], +"structPxTGSSolverConstraintPrepDesc.html#a16112a28791d053030749d7a16dba358":[3,0,315,7], +"structPxTGSSolverConstraintPrepDesc.html#a2e6f1bfe2c789007a302b614b730daaa":[3,0,315,8], +"structPxTGSSolverConstraintPrepDesc.html#a35c2833954aa8eabdf9d2ee67e973130":[3,0,315,2], +"structPxTGSSolverConstraintPrepDesc.html#a40bead37a891a1e5bdac959256e7f1bc":[3,0,315,5], +"structPxTGSSolverConstraintPrepDesc.html#a4e898ee147ebd910c17f972b36469c2f":[3,0,315,12], +"structPxTGSSolverConstraintPrepDesc.html#a6d22cbffa472183363fdb9b38400db09":[3,0,315,11], +"structPxTGSSolverConstraintPrepDesc.html#a6fa8f15b3d25c668667d45ab0493d637":[3,0,315,10], +"structPxTGSSolverConstraintPrepDesc.html#a8aa125210bc7775041c4ed07b5d0beca":[3,0,315,0], +"structPxTGSSolverConstraintPrepDesc.html#ab0a996ed090bea6630a56bc00a4637d3":[3,0,315,6], +"structPxTGSSolverConstraintPrepDesc.html#abb4e61b97d7c31cda50f046a6997905b":[3,0,315,9], +"structPxTGSSolverConstraintPrepDesc.html#ac90d6c44134ff6338c99f129334f877b":[3,0,315,4], +"structPxTGSSolverConstraintPrepDescBase.html":[3,0,316], +"structPxTGSSolverConstraintPrepDescBase.html#a00e4ad46100575375c9fcddd86a166b3":[3,0,316,9], +"structPxTGSSolverConstraintPrepDescBase.html#a1b333a2fea69f88f1c11c9f812052e0f":[3,0,316,0], +"structPxTGSSolverConstraintPrepDescBase.html#a1bf247709055aaa9e9c702d76de6c866":[3,0,316,4], +"structPxTGSSolverConstraintPrepDescBase.html#a51d8370090983c269966739e14979e4a":[3,0,316,1], +"structPxTGSSolverConstraintPrepDescBase.html#a661a0d94ab747d3f6e71deb44179f74a":[3,0,316,8], +"structPxTGSSolverConstraintPrepDescBase.html#a6a22f7cd3293b9877ec97560b1862e8c":[3,0,316,7], +"structPxTGSSolverConstraintPrepDescBase.html#a6a53ca0ea9f69a6581f2b44ed1ea8aa4":[3,0,316,10], +"structPxTGSSolverConstraintPrepDescBase.html#a93cdc318c9c74323988c5204870b6733":[3,0,316,5], +"structPxTGSSolverConstraintPrepDescBase.html#aae266269124532f1dee273c75209d9fb":[3,0,316,11], +"structPxTGSSolverConstraintPrepDescBase.html#abf87509917d688f2296b3e4ca1883bc2":[3,0,316,3], +"structPxTGSSolverConstraintPrepDescBase.html#ac428634b273386f0edf5e17ea3fd0049":[3,0,316,2], +"structPxTGSSolverConstraintPrepDescBase.html#aeba37ba193902e0141dc9cd4d6cacaf2":[3,0,316,6], +"structPxTGSSolverContactDesc.html":[3,0,317], +"structPxTGSSolverContactDesc.html#a009c28b94dbb4e2bf77ee50f187924be":[3,0,317,10], +"structPxTGSSolverContactDesc.html#a0ff123ce07992aa9ba795366f347aed1":[3,0,317,9], +"structPxTGSSolverContactDesc.html#a11c978927580e83557522429a291b1e0":[3,0,317,4], +"structPxTGSSolverContactDesc.html#a2528245373f86eb6475151cff7f517c5":[3,0,317,1], +"structPxTGSSolverContactDesc.html#a264877eb201cfe904fbe832b94ebfccc":[3,0,317,14], +"structPxTGSSolverContactDesc.html#a2b7236819f8aacbc20f5d68596ec37ec":[3,0,317,15], +"structPxTGSSolverContactDesc.html#a31b779c60e6f523d3367b109a55b8498":[3,0,317,7], +"structPxTGSSolverContactDesc.html#a32c32515e655df204dc97163c0d8f503":[3,0,317,8], +"structPxTGSSolverContactDesc.html#a42cdafb4a9c8ef0daaa1dd584b2f2bd4":[3,0,317,6], +"structPxTGSSolverContactDesc.html#a4b1fadcb0c18263f2f7e31a1a8e9fcc1":[3,0,317,5], +"structPxTGSSolverContactDesc.html#a52c82757413cf7a74fd33543be21f9bc":[3,0,317,13], +"structPxTGSSolverContactDesc.html#a71566924a2d0ebc51d688318309e0e7e":[3,0,317,12], +"structPxTGSSolverContactDesc.html#a9925f638d123b5636e4b3ab9d58966ff":[3,0,317,18], +"structPxTGSSolverContactDesc.html#ac846e96c932f98fe0ade48f813c464c6":[3,0,317,0], +"structPxTGSSolverContactDesc.html#ad20755f12b4cc3e302af7353a923ae4f":[3,0,317,17], +"structPxTGSSolverContactDesc.html#ad451864f355f80ff88b943b9f3ec6079":[3,0,317,11], +"structPxTGSSolverContactDesc.html#ae94706f6d8851b7cfb9cfc054afe7fd2":[3,0,317,3], +"structPxTGSSolverContactDesc.html#aed207eb98917eeda2b19bdb2fe65f14e":[3,0,317,16], +"structPxTGSSolverContactDesc.html#af209e0ce9b1975ed8340b528f00df9c1":[3,0,317,2], "structPxTriangleMeshCookingResult.html":[2,5,8], "structPxTriangleMeshCookingResult.html#abe8e2312c47cc522a546c34ea337fb64":[2,5,8,0], "structPxTriangleMeshCookingResult.html#abe8e2312c47cc522a546c34ea337fb64a75b84c38d545ffeae116074dac39856d":[2,5,8,0,1], @@ -59,19 +90,19 @@ var NAVTREEINDEX23 = "structPxTriangleMeshFlag.html#a7d0d36347f7c197a4bdbec68ccc074cc":[2,7,28,0], "structPxTriangleMeshFlag.html#a7d0d36347f7c197a4bdbec68ccc074cca093e66a10f948a450b8525ea58c25fd9":[2,7,28,0,1], "structPxTriangleMeshFlag.html#a7d0d36347f7c197a4bdbec68ccc074cca6bf8af3bd17d71ae8941345cb0889246":[2,7,28,0,0], -"structPxTriggerPair.html":[2,2,93], -"structPxTriggerPair.html#a483aaaaecb45e77230879bb0b303b8df":[2,2,93,3], -"structPxTriggerPair.html#aa4e5f001e8736f5033c52291486c655b":[2,2,93,1], -"structPxTriggerPair.html#aadedcfa39f52b9e32b73d9f2096069f1":[2,2,93,0], -"structPxTriggerPair.html#ab02c51a235d45757e48ecaad5fb7c091":[2,2,93,4], -"structPxTriggerPair.html#ad079ad0829b0e0e58a962a2167dcf566":[2,2,93,2], -"structPxTriggerPair.html#ad9010d4ddceacd431e8733a010dee664":[2,2,93,6], -"structPxTriggerPair.html#af4e22129ed6743a51b2ec3553e966950":[2,2,93,5], -"structPxTriggerPairFlag.html":[2,2,92], -"structPxTriggerPairFlag.html#aa3c006812673a9dc0a2a87e2be483ebb":[2,2,92,0], -"structPxTriggerPairFlag.html#aa3c006812673a9dc0a2a87e2be483ebba25a3670764c02ab4c9446f5d54db0d68":[2,2,92,0,0], -"structPxTriggerPairFlag.html#aa3c006812673a9dc0a2a87e2be483ebba4a5d51bc51e8d03782c4656cfe36fac7":[2,2,92,0,1], -"structPxTriggerPairFlag.html#aa3c006812673a9dc0a2a87e2be483ebbad52885bfb712218d2d9193012482aeb5":[2,2,92,0,2], +"structPxTriggerPair.html":[2,2,94], +"structPxTriggerPair.html#a483aaaaecb45e77230879bb0b303b8df":[2,2,94,3], +"structPxTriggerPair.html#aa4e5f001e8736f5033c52291486c655b":[2,2,94,1], +"structPxTriggerPair.html#aadedcfa39f52b9e32b73d9f2096069f1":[2,2,94,0], +"structPxTriggerPair.html#ab02c51a235d45757e48ecaad5fb7c091":[2,2,94,4], +"structPxTriggerPair.html#ad079ad0829b0e0e58a962a2167dcf566":[2,2,94,2], +"structPxTriggerPair.html#ad9010d4ddceacd431e8733a010dee664":[2,2,94,6], +"structPxTriggerPair.html#af4e22129ed6743a51b2ec3553e966950":[2,2,94,5], +"structPxTriggerPairFlag.html":[2,2,93], +"structPxTriggerPairFlag.html#aa3c006812673a9dc0a2a87e2be483ebb":[2,2,93,0], +"structPxTriggerPairFlag.html#aa3c006812673a9dc0a2a87e2be483ebba25a3670764c02ab4c9446f5d54db0d68":[2,2,93,0,0], +"structPxTriggerPairFlag.html#aa3c006812673a9dc0a2a87e2be483ebba4a5d51bc51e8d03782c4656cfe36fac7":[2,2,93,0,1], +"structPxTriggerPairFlag.html#aa3c006812673a9dc0a2a87e2be483ebbad52885bfb712218d2d9193012482aeb5":[2,2,93,0,2], "structPxTypeInfo.html":[2,1,21], "structPxTypedStridedData.html":[2,1,4], "structPxTypedStridedData.html#a00c6a63c63d01bdca92b06f60e6909bb":[2,1,4,0], @@ -185,69 +216,38 @@ var NAVTREEINDEX23 = "structPxVehicleWheelQueryResult.html":[2,11,35], "structPxVehicleWheelQueryResult.html#a60678dd75d1ef6335324e4e9987e044f":[2,11,35,0], "structPxVehicleWheelQueryResult.html#afa382a6fb104e8539622189b5d137366":[2,11,35,1], -"structPxVisualizationParameter.html":[2,2,97], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10":[2,2,97,0], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a0a3fa4551d29ec02582c0eb1165c9df8":[2,2,97,0,20], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a0ad9dcb10f5f3d6ded3baecfc1e387d3":[2,2,97,0,13], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a0c40daf35b0de6c839d05bd35c0cf5da":[2,2,97,0,24], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a0d326f5ea2be6379999dd3b0e80a0552":[2,2,97,0,5], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a20e10f3c548336018c22c52639f64ab0":[2,2,97,0,18], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a2a3d188a70b93dee7585f995e8be2494":[2,2,97,0,7], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a3e5a40d8a90d56caa62e6c483e00c9cb":[2,2,97,0,2], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a4c8d383ccf06759f8c9a102a18ba9d4b":[2,2,97,0,9], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a515f4c3c72ee88d7507b52d6ccd14eab":[2,2,97,0,12], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a53d370f2bafd9f9434013b3668ea41cf":[2,2,97,0,21], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a706ccc0cb4deca751588dcf1a4a9a361":[2,2,97,0,6], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a71119a812dde7d16f1dc8ccdb738b614":[2,2,97,0,19], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a714f24bab39d1bbe8b131bd10ef5552b":[2,2,97,0,11], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a71d96779e81c1ac240f4cdd8188c55ec":[2,2,97,0,10], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a815278fef57a54a0b563891611aa3908":[2,2,97,0,17], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a8e73c99660d921ad7dc81069ff0b2a3c":[2,2,97,0,3], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a9c6880e52a2d9c0bb48677de71621719":[2,2,97,0,1], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a9e57301b7b1ed3722334f04b9bb6f4bc":[2,2,97,0,4], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10aa0e06ca7fa1a0445abe0f4d293feb961":[2,2,97,0,16], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10ab033fa2817b492268eaf5476a715a0d0":[2,2,97,0,8], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10acac9e863525b516ca84acf281515acd6":[2,2,97,0,25], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10ad79ee3e849c6acfb058f2768d61f1838":[2,2,97,0,22], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10ad849475e6cebed2c6a90bac6b372ab73":[2,2,97,0,14], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10ad99be0a109ed09164555c5767f4bed11":[2,2,97,0,0], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10ae388a13d5b1b741b469a6f0d594f7e84":[2,2,97,0,23], -"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10afd900f30ba421d555e7f7b087126cd92":[2,2,97,0,15], +"structPxVehicleWheelsSimFlag.html":[2,11,44], +"structPxVehicleWheelsSimFlag.html#ae22cac8835a33a55a7bddc2223638d60":[2,11,44,0], +"structPxVehicleWheelsSimFlag.html#ae22cac8835a33a55a7bddc2223638d60a75d4ea0ed70a2383d36939a947f50849":[2,11,44,0,0], +"structPxVisualizationParameter.html":[2,2,98], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10":[2,2,98,0], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a0a3fa4551d29ec02582c0eb1165c9df8":[2,2,98,0,20], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a0ad9dcb10f5f3d6ded3baecfc1e387d3":[2,2,98,0,13], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a0c40daf35b0de6c839d05bd35c0cf5da":[2,2,98,0,24], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a0d326f5ea2be6379999dd3b0e80a0552":[2,2,98,0,5], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a20e10f3c548336018c22c52639f64ab0":[2,2,98,0,18], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a2a3d188a70b93dee7585f995e8be2494":[2,2,98,0,7], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a3e5a40d8a90d56caa62e6c483e00c9cb":[2,2,98,0,2], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a4c8d383ccf06759f8c9a102a18ba9d4b":[2,2,98,0,9], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a515f4c3c72ee88d7507b52d6ccd14eab":[2,2,98,0,12], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a53d370f2bafd9f9434013b3668ea41cf":[2,2,98,0,21], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a706ccc0cb4deca751588dcf1a4a9a361":[2,2,98,0,6], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a71119a812dde7d16f1dc8ccdb738b614":[2,2,98,0,19], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a714f24bab39d1bbe8b131bd10ef5552b":[2,2,98,0,11], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a71d96779e81c1ac240f4cdd8188c55ec":[2,2,98,0,10], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a815278fef57a54a0b563891611aa3908":[2,2,98,0,17], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a8e73c99660d921ad7dc81069ff0b2a3c":[2,2,98,0,3], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a9c6880e52a2d9c0bb48677de71621719":[2,2,98,0,1], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a9e57301b7b1ed3722334f04b9bb6f4bc":[2,2,98,0,4], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10aa0e06ca7fa1a0445abe0f4d293feb961":[2,2,98,0,16], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10ab033fa2817b492268eaf5476a715a0d0":[2,2,98,0,8], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10acac9e863525b516ca84acf281515acd6":[2,2,98,0,25], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10ad79ee3e849c6acfb058f2768d61f1838":[2,2,98,0,22], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10ad849475e6cebed2c6a90bac6b372ab73":[2,2,98,0,14], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10ad99be0a109ed09164555c5767f4bed11":[2,2,98,0,0], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10ae388a13d5b1b741b469a6f0d594f7e84":[2,2,98,0,23], +"structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10afd900f30ba421d555e7f7b087126cd92":[2,2,98,0,15], "structPxWheelQueryResult.html":[2,11,34], "structPxWheelQueryResult.html#a161b38c47540b17befebc36c02c8e996":[2,11,34,0], -"structPxWheelQueryResult.html#a265780749830b4cd7b7895eed6133f8a":[2,11,34,13], -"structPxWheelQueryResult.html#a31b6ed853082cacb07e8926dfc0a21b0":[2,11,34,7], -"structPxWheelQueryResult.html#a3c95ac8a6cfbdac1f496c193140342e9":[2,11,34,19], -"structPxWheelQueryResult.html#a3ca0bd3d303270ad52eb2e784d1b72d4":[2,11,34,5], -"structPxWheelQueryResult.html#a52c57fa129bcf35ccde120c6fe09567e":[2,11,34,14], -"structPxWheelQueryResult.html#a55c818d828141bcb635af224516fc107":[2,11,34,3], -"structPxWheelQueryResult.html#a62c137fe4b995c7a9c3e491bae103180":[2,11,34,15], -"structPxWheelQueryResult.html#a68a36bfd00e7f38621fca9c415cc7917":[2,11,34,6], -"structPxWheelQueryResult.html#a7a21ebf9f8747982774e747a4c096c41":[2,11,34,1], -"structPxWheelQueryResult.html#a8d048db9af70ed06e0575d979093f538":[2,11,34,12], -"structPxWheelQueryResult.html#aab6dff9c3117e76f1ffaac4c867b2cca":[2,11,34,18], -"structPxWheelQueryResult.html#ab35c38cb5001bad2c3cc4daab71d3056":[2,11,34,16], -"structPxWheelQueryResult.html#abfdde49461f75cb9e226ed2923d58ce5":[2,11,34,4], -"structPxWheelQueryResult.html#ac23b4fa451ee4a45350683bcbc0c9b14":[2,11,34,8], -"structPxWheelQueryResult.html#ac728726399b7e23755086c0a512c308b":[2,11,34,11], -"structPxWheelQueryResult.html#adece3d8e6577b7a0d01527a4b24ca432":[2,11,34,2], -"structPxWheelQueryResult.html#ae9dd6242afb08aebe9895760785facae":[2,11,34,17], -"structPxWheelQueryResult.html#aeefa0e519260b023b395abd28e5c4f01":[2,11,34,10], -"structPxWheelQueryResult.html#af2bc73597bdc1096034f5f22f2cbde2a":[2,11,34,9], -"structPxgDynamicsMemoryConfig.html":[2,2,75], -"structPxgDynamicsMemoryConfig.html#a0e8c1e5e0a636d146698ec1acd2070f9":[2,2,75,2], -"structPxgDynamicsMemoryConfig.html#a23f805337d85ee65a944feb8458659cf":[2,2,75,0], -"structPxgDynamicsMemoryConfig.html#a2d76891f7a9eb8f30f03430d9c80d7a0":[2,2,75,8], -"structPxgDynamicsMemoryConfig.html#a548423b552a06d77a3c0066d768a4dd8":[2,2,75,6], -"structPxgDynamicsMemoryConfig.html#a572bf93227593e5e9eecca69dc1ea8e9":[2,2,75,4], -"structPxgDynamicsMemoryConfig.html#a7c3deac7934eb56245b47d0373495947":[2,2,75,3], -"structPxgDynamicsMemoryConfig.html#aae38a7ac296bd11b3a505c7884c76506":[2,2,75,1], -"structPxgDynamicsMemoryConfig.html#ac61756279f4ffcc17a6ae2f1712268f7":[2,2,75,7], -"structPxgDynamicsMemoryConfig.html#ad7a64d6c606823dcfee7bc8da1ecdaae":[2,2,75,5], -"structphysx_1_1Gu_1_1ContactPoint.html":[3,0,0,0,1], -"structphysx_1_1Gu_1_1ContactPoint.html#a0cef0e99ed01d88d3488e5a65d089580":[3,0,0,0,1,4], -"structphysx_1_1Gu_1_1ContactPoint.html#a195379a6d1770fc7b4a12216edf1d8c1":[3,0,0,0,1,9], -"structphysx_1_1Gu_1_1ContactPoint.html#a2345b97a6ec98b11cb53e5c83d0b22ce":[3,0,0,0,1,0], -"structphysx_1_1Gu_1_1ContactPoint.html#a2ad7991f21ce7f72a9ed39dc5642c4b2":[3,0,0,0,1,3], -"structphysx_1_1Gu_1_1ContactPoint.html#a7598750390d48300301ee34d64408839":[3,0,0,0,1,2] +"structPxWheelQueryResult.html#a265780749830b4cd7b7895eed6133f8a":[2,11,34,13] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex24.js b/physx/documentation/PhysXAPI/files/navtreeindex24.js index 6e8b4fae2..c582fb0ec 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex24.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex24.js @@ -1,5 +1,39 @@ var NAVTREEINDEX24 = { +"structPxWheelQueryResult.html#a31b6ed853082cacb07e8926dfc0a21b0":[2,11,34,7], +"structPxWheelQueryResult.html#a3c95ac8a6cfbdac1f496c193140342e9":[2,11,34,19], +"structPxWheelQueryResult.html#a3ca0bd3d303270ad52eb2e784d1b72d4":[2,11,34,5], +"structPxWheelQueryResult.html#a52c57fa129bcf35ccde120c6fe09567e":[2,11,34,14], +"structPxWheelQueryResult.html#a55c818d828141bcb635af224516fc107":[2,11,34,3], +"structPxWheelQueryResult.html#a62c137fe4b995c7a9c3e491bae103180":[2,11,34,15], +"structPxWheelQueryResult.html#a68a36bfd00e7f38621fca9c415cc7917":[2,11,34,6], +"structPxWheelQueryResult.html#a7a21ebf9f8747982774e747a4c096c41":[2,11,34,1], +"structPxWheelQueryResult.html#a8d048db9af70ed06e0575d979093f538":[2,11,34,12], +"structPxWheelQueryResult.html#aab6dff9c3117e76f1ffaac4c867b2cca":[2,11,34,18], +"structPxWheelQueryResult.html#ab35c38cb5001bad2c3cc4daab71d3056":[2,11,34,16], +"structPxWheelQueryResult.html#abfdde49461f75cb9e226ed2923d58ce5":[2,11,34,4], +"structPxWheelQueryResult.html#ac23b4fa451ee4a45350683bcbc0c9b14":[2,11,34,8], +"structPxWheelQueryResult.html#ac728726399b7e23755086c0a512c308b":[2,11,34,11], +"structPxWheelQueryResult.html#adece3d8e6577b7a0d01527a4b24ca432":[2,11,34,2], +"structPxWheelQueryResult.html#ae9dd6242afb08aebe9895760785facae":[2,11,34,17], +"structPxWheelQueryResult.html#aeefa0e519260b023b395abd28e5c4f01":[2,11,34,10], +"structPxWheelQueryResult.html#af2bc73597bdc1096034f5f22f2cbde2a":[2,11,34,9], +"structPxgDynamicsMemoryConfig.html":[2,2,76], +"structPxgDynamicsMemoryConfig.html#a0e8c1e5e0a636d146698ec1acd2070f9":[2,2,76,2], +"structPxgDynamicsMemoryConfig.html#a23f805337d85ee65a944feb8458659cf":[2,2,76,0], +"structPxgDynamicsMemoryConfig.html#a2d76891f7a9eb8f30f03430d9c80d7a0":[2,2,76,8], +"structPxgDynamicsMemoryConfig.html#a548423b552a06d77a3c0066d768a4dd8":[2,2,76,6], +"structPxgDynamicsMemoryConfig.html#a572bf93227593e5e9eecca69dc1ea8e9":[2,2,76,4], +"structPxgDynamicsMemoryConfig.html#a7c3deac7934eb56245b47d0373495947":[2,2,76,3], +"structPxgDynamicsMemoryConfig.html#aae38a7ac296bd11b3a505c7884c76506":[2,2,76,1], +"structPxgDynamicsMemoryConfig.html#ac61756279f4ffcc17a6ae2f1712268f7":[2,2,76,7], +"structPxgDynamicsMemoryConfig.html#ad7a64d6c606823dcfee7bc8da1ecdaae":[2,2,76,5], +"structphysx_1_1Gu_1_1ContactPoint.html":[3,0,0,0,1], +"structphysx_1_1Gu_1_1ContactPoint.html#a0cef0e99ed01d88d3488e5a65d089580":[3,0,0,0,1,4], +"structphysx_1_1Gu_1_1ContactPoint.html#a195379a6d1770fc7b4a12216edf1d8c1":[3,0,0,0,1,9], +"structphysx_1_1Gu_1_1ContactPoint.html#a2345b97a6ec98b11cb53e5c83d0b22ce":[3,0,0,0,1,0], +"structphysx_1_1Gu_1_1ContactPoint.html#a2ad7991f21ce7f72a9ed39dc5642c4b2":[3,0,0,0,1,3], +"structphysx_1_1Gu_1_1ContactPoint.html#a7598750390d48300301ee34d64408839":[3,0,0,0,1,2], "structphysx_1_1Gu_1_1ContactPoint.html#a7caf32c60a9efed1a6822911403d0ca7":[3,0,0,0,1,6], "structphysx_1_1Gu_1_1ContactPoint.html#a8b99864bbd63a7edadea0831ad8c5a84":[3,0,0,0,1,10], "structphysx_1_1Gu_1_1ContactPoint.html#aab838b7e42b8be6725023a562aa44d2d":[3,0,0,0,1,8], diff --git a/physx/documentation/PhysXAPI/files/navtreeindex3.js b/physx/documentation/PhysXAPI/files/navtreeindex3.js index fe5c8e7f9..edc888789 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex3.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex3.js @@ -1,5 +1,13 @@ var NAVTREEINDEX3 = { +"classPxArticulationReducedCoordinate.html#abe5b98d8b80aa4781ad1d5e9baffad25":[2,2,18,5], +"classPxArticulationReducedCoordinate.html#ae3b3c188ffd64c4ba7cfd7508efd63bf":[2,2,18,27], +"classPxArticulationReducedCoordinate.html#aea7152a77f9446960d65359e482595c4":[2,2,18,29], +"classPxArticulationReducedCoordinate.html#af1947172f99feef066872b12d675d046":[2,2,18,7], +"classPxArticulationReducedCoordinate.html#af8b5217bd48e6d1ccc8ba3e495c66df7":[2,2,18,10], +"classPxArticulationReducedCoordinate.html#afc82b045f2afb76484ea967515c01067":[2,2,18,12], +"classPxAssertHandler.html":[2,4,3], +"classPxAssertHandler.html#a65e427030347eb6bd67d859f3e562563":[2,4,3,0], "classPxAssertHandler.html#aca1d7acf4d04ce3aa855a74920aea1f3":[2,4,3,1], "classPxBVH33TriangleMesh.html":[2,7,30], "classPxBVH33TriangleMesh.html#a04d73d186e849be0d064aca6fdf8d535":[2,7,30,2], @@ -55,12 +63,12 @@ var NAVTREEINDEX3 = "classPxBatchQuery.html#aca7ccdab697074ae572c7d0baf9af3c2":[2,9,0,10], "classPxBatchQuery.html#aedffcfa27e47ef04274bb8180b42e913":[2,9,0,6], "classPxBatchQuery.html#af12d7a7693f8f4101f51cb5582386a08":[2,9,0,4], -"classPxBatchQueryDesc.html":[2,2,21], -"classPxBatchQueryDesc.html#a1eae24bb23c561c4a656d7234d9d2e5e":[2,2,21,4], -"classPxBatchQueryDesc.html#a35d9cb33ded71261de0c7695d75ecba9":[2,2,21,3], -"classPxBatchQueryDesc.html#a5f0ec12e1149c7960b9360c53615853c":[2,2,21,2], -"classPxBatchQueryDesc.html#a9dff8b59d67283672d41c6aa6ea7c882":[2,2,21,6], -"classPxBatchQueryDesc.html#af116e4058958b7c747dfd008317764ba":[2,2,21,5], +"classPxBatchQueryDesc.html":[2,2,22], +"classPxBatchQueryDesc.html#a1eae24bb23c561c4a656d7234d9d2e5e":[2,2,22,4], +"classPxBatchQueryDesc.html#a35d9cb33ded71261de0c7695d75ecba9":[2,2,22,3], +"classPxBatchQueryDesc.html#a5f0ec12e1149c7960b9360c53615853c":[2,2,22,2], +"classPxBatchQueryDesc.html#a9dff8b59d67283672d41c6aa6ea7c882":[2,2,22,6], +"classPxBatchQueryDesc.html#af116e4058958b7c747dfd008317764ba":[2,2,22,5], "classPxBinaryConverter.html":[2,3,3], "classPxBinaryConverter.html#a30333f47d0897b3728442e915eaaba81":[2,3,3,1], "classPxBinaryConverter.html#a475c6a6dc11b63b3570f2fc5d21b5c0e":[2,3,3,5], @@ -104,15 +112,15 @@ var NAVTREEINDEX3 = "classPxBoxObstacle.html":[2,0,24], "classPxBoxObstacle.html#a9f4e679d66f76565b0b2bf09fc6a2026":[2,0,24,0], "classPxBoxObstacle.html#ae97c66abd0e2e482db266337ac1e5e96":[2,0,24,1], -"classPxBroadPhaseCallback.html":[2,2,23], -"classPxBroadPhaseCallback.html#aa5dd0f892825c46619939a11caae5620":[2,2,23,2], -"classPxBroadPhaseCallback.html#ab7aa03ff4a741400562bd5787a7aaca0":[2,2,23,1], -"classPxBroadPhaseCallback.html#adbbd54fb4eb42348829be1aa27980005":[2,2,23,0], +"classPxBroadPhaseCallback.html":[2,2,24], +"classPxBroadPhaseCallback.html#aa5dd0f892825c46619939a11caae5620":[2,2,24,2], +"classPxBroadPhaseCallback.html#ab7aa03ff4a741400562bd5787a7aaca0":[2,2,24,1], +"classPxBroadPhaseCallback.html#adbbd54fb4eb42348829be1aa27980005":[2,2,24,0], "classPxBroadPhaseExt.html":[2,3,4], "classPxBroadPhaseExt.html#a24301db187094029361f8d63fda7c274":[2,3,4,0], -"classPxCCDContactModifyCallback.html":[2,2,41], -"classPxCCDContactModifyCallback.html#a323e56a126465efff8afccade4d72642":[2,2,41,0], -"classPxCCDContactModifyCallback.html#afadc9c910fca4bd5f22c4b5da0adbe5b":[2,2,41,1], +"classPxCCDContactModifyCallback.html":[2,2,42], +"classPxCCDContactModifyCallback.html#a323e56a126465efff8afccade4d72642":[2,2,42,0], +"classPxCCDContactModifyCallback.html#afadc9c910fca4bd5f22c4b5da0adbe5b":[2,2,42,1], "classPxCacheAllocator.html":[3,0,58], "classPxCacheAllocator.html#a3969fd73085d7e1ddb8765f50b1d9028":[3,0,58,0], "classPxCacheAllocator.html#acecb8f552e749cbeff564a72c7d07557":[3,0,58,1], @@ -162,51 +170,51 @@ var NAVTREEINDEX3 = "classPxCollectionExt.html#a88b829ff0266f6ff3cead1dd7da9785c":[2,3,5,2], "classPxCollectionExt.html#ab3e2ad3cfe56c756d78d3a071a064ecf":[2,3,5,1], "classPxCollectionExt.html#af63a23e22b4a3ad678f09a388b29a160":[2,3,5,3], -"classPxConstraint.html":[2,2,29], -"classPxConstraint.html#a0319884873f5ad2c5e6b6798d6c985a4":[2,2,29,9], -"classPxConstraint.html#a2d697724814976973b1de9e303e15b3f":[2,2,29,19], -"classPxConstraint.html#a3fb6da793a10be50c30bb8e3fb175d68":[2,2,29,17], -"classPxConstraint.html#a45297b7f2310005fd74f3e7be995b0f8":[2,2,29,7], -"classPxConstraint.html#a505f367bc330fa15970154faf7f75d47":[2,2,29,0], -"classPxConstraint.html#a5838f1118a15b32ca27a6b89e6580cf4":[2,2,29,8], -"classPxConstraint.html#a5b01eac7e58581ba7bb8fab23df99810":[2,2,29,5], -"classPxConstraint.html#a8153c211d21fff49565e7e06e475d5cc":[2,2,29,14], -"classPxConstraint.html#a95488eea1d5847d3d1408c3d5cdf2576":[2,2,29,18], -"classPxConstraint.html#a96bea6e60039cf468b1c677d2594611a":[2,2,29,12], -"classPxConstraint.html#a9b0da09475c44c2957e1dd6c7fb91ab1":[2,2,29,4], -"classPxConstraint.html#a9ddd5450fca029d9574b5c854b77d3d6":[2,2,29,20], -"classPxConstraint.html#aa120d4f05abc0ee24851ae833d293f6a":[2,2,29,11], -"classPxConstraint.html#aa94f6f40eac2640b1211eb3ede57588b":[2,2,29,10], -"classPxConstraint.html#aad3f1f8c8e4220238c8fcb00c440e701":[2,2,29,15], -"classPxConstraint.html#ac35d572c4d343685c120f11c8884526e":[2,2,29,6], -"classPxConstraint.html#ac3a2526c82e5ee4e83c00d0d1d03990b":[2,2,29,1], -"classPxConstraint.html#ac54f23bc7b3d52d3b5f265f6750e3199":[2,2,29,13], -"classPxConstraint.html#adbcf13c57ee012d5e03ea54017c127cb":[2,2,29,2], -"classPxConstraint.html#adc0b069b41e76b7c017632cfc24f08d3":[2,2,29,16], -"classPxConstraint.html#ae0842055f2c3263cebcea65b1b09888e":[2,2,29,3], +"classPxConstraint.html":[2,2,30], +"classPxConstraint.html#a0319884873f5ad2c5e6b6798d6c985a4":[2,2,30,9], +"classPxConstraint.html#a2d697724814976973b1de9e303e15b3f":[2,2,30,19], +"classPxConstraint.html#a3fb6da793a10be50c30bb8e3fb175d68":[2,2,30,17], +"classPxConstraint.html#a45297b7f2310005fd74f3e7be995b0f8":[2,2,30,7], +"classPxConstraint.html#a505f367bc330fa15970154faf7f75d47":[2,2,30,0], +"classPxConstraint.html#a5838f1118a15b32ca27a6b89e6580cf4":[2,2,30,8], +"classPxConstraint.html#a5b01eac7e58581ba7bb8fab23df99810":[2,2,30,5], +"classPxConstraint.html#a8153c211d21fff49565e7e06e475d5cc":[2,2,30,14], +"classPxConstraint.html#a95488eea1d5847d3d1408c3d5cdf2576":[2,2,30,18], +"classPxConstraint.html#a96bea6e60039cf468b1c677d2594611a":[2,2,30,12], +"classPxConstraint.html#a9b0da09475c44c2957e1dd6c7fb91ab1":[2,2,30,4], +"classPxConstraint.html#a9ddd5450fca029d9574b5c854b77d3d6":[2,2,30,20], +"classPxConstraint.html#aa120d4f05abc0ee24851ae833d293f6a":[2,2,30,11], +"classPxConstraint.html#aa94f6f40eac2640b1211eb3ede57588b":[2,2,30,10], +"classPxConstraint.html#aad3f1f8c8e4220238c8fcb00c440e701":[2,2,30,15], +"classPxConstraint.html#ac35d572c4d343685c120f11c8884526e":[2,2,30,6], +"classPxConstraint.html#ac3a2526c82e5ee4e83c00d0d1d03990b":[2,2,30,1], +"classPxConstraint.html#ac54f23bc7b3d52d3b5f265f6750e3199":[2,2,30,13], +"classPxConstraint.html#adbcf13c57ee012d5e03ea54017c127cb":[2,2,30,2], +"classPxConstraint.html#adc0b069b41e76b7c017632cfc24f08d3":[2,2,30,16], +"classPxConstraint.html#ae0842055f2c3263cebcea65b1b09888e":[2,2,30,3], "classPxConstraintAllocator.html":[3,0,70], "classPxConstraintAllocator.html#a28446a3d69923bc834d8c80938ff18be":[3,0,70,0], "classPxConstraintAllocator.html#a290d9201d3480594fee91aab84a222ee":[3,0,70,1], "classPxConstraintAllocator.html#aa7ac124b5ce281e270b5e9916f1f9568":[3,0,70,2], -"classPxConstraintConnector.html":[2,2,37], -"classPxConstraintConnector.html#a1210c94b5fa0513b2cd99ceedccd23ee":[2,2,37,2], -"classPxConstraintConnector.html#a668fc9420f8dee64887f9d7dad97ed5f":[2,2,37,7], -"classPxConstraintConnector.html#a71f8ff017c14b26c81b06be700f015f1":[2,2,37,0], -"classPxConstraintConnector.html#a7a93655be259791a2eaf2a7d857c598d":[2,2,37,1], -"classPxConstraintConnector.html#a93cb6a551c50f48d5ccec421a97cabcc":[2,2,37,5], -"classPxConstraintConnector.html#a9c4abc11ca607b42c8f84956392c9cdd":[2,2,37,6], -"classPxConstraintConnector.html#ac70ca90dc4055c11c76b2faf15dbb205":[2,2,37,9], -"classPxConstraintConnector.html#ae924cd9415c06057a3fcd7077028baad":[2,2,37,4], -"classPxConstraintConnector.html#af04ac1b3cbd43565ac99957dd9cde100":[2,2,37,8], -"classPxConstraintConnector.html#aff598a3ab349524666e2ed79c862f3a9":[2,2,37,3], -"classPxConstraintVisualizer.html":[2,2,35], -"classPxConstraintVisualizer.html#a0cc5d456616e9ffede2a5d442eb07d29":[2,2,35,1], -"classPxConstraintVisualizer.html#a15747a8a3b88a2c2476d4c30bc6b01be":[2,2,35,3], -"classPxConstraintVisualizer.html#a2fe0327cd9b89a5971b95d40d9e9b493":[2,2,35,4], -"classPxConstraintVisualizer.html#a575b179f6376a302feeee663e5e74ee0":[2,2,35,0], -"classPxConstraintVisualizer.html#a63a59547a58cb1e606b9b9131b5e235f":[2,2,35,5], -"classPxConstraintVisualizer.html#ad68fdf5a3f8b69f8a81dff999317cf55":[2,2,35,6], -"classPxConstraintVisualizer.html#aebac3373457064a9510efe5a6ca874ca":[2,2,35,2], +"classPxConstraintConnector.html":[2,2,38], +"classPxConstraintConnector.html#a1210c94b5fa0513b2cd99ceedccd23ee":[2,2,38,2], +"classPxConstraintConnector.html#a668fc9420f8dee64887f9d7dad97ed5f":[2,2,38,7], +"classPxConstraintConnector.html#a71f8ff017c14b26c81b06be700f015f1":[2,2,38,0], +"classPxConstraintConnector.html#a7a93655be259791a2eaf2a7d857c598d":[2,2,38,1], +"classPxConstraintConnector.html#a93cb6a551c50f48d5ccec421a97cabcc":[2,2,38,5], +"classPxConstraintConnector.html#a9c4abc11ca607b42c8f84956392c9cdd":[2,2,38,6], +"classPxConstraintConnector.html#ac70ca90dc4055c11c76b2faf15dbb205":[2,2,38,9], +"classPxConstraintConnector.html#ae924cd9415c06057a3fcd7077028baad":[2,2,38,4], +"classPxConstraintConnector.html#af04ac1b3cbd43565ac99957dd9cde100":[2,2,38,8], +"classPxConstraintConnector.html#aff598a3ab349524666e2ed79c862f3a9":[2,2,38,3], +"classPxConstraintVisualizer.html":[2,2,36], +"classPxConstraintVisualizer.html#a0cc5d456616e9ffede2a5d442eb07d29":[2,2,36,1], +"classPxConstraintVisualizer.html#a15747a8a3b88a2c2476d4c30bc6b01be":[2,2,36,3], +"classPxConstraintVisualizer.html#a2fe0327cd9b89a5971b95d40d9e9b493":[2,2,36,4], +"classPxConstraintVisualizer.html#a575b179f6376a302feeee663e5e74ee0":[2,2,36,0], +"classPxConstraintVisualizer.html#a63a59547a58cb1e606b9b9131b5e235f":[2,2,36,5], +"classPxConstraintVisualizer.html#ad68fdf5a3f8b69f8a81dff999317cf55":[2,2,36,6], +"classPxConstraintVisualizer.html#aebac3373457064a9510efe5a6ca874ca":[2,2,36,2], "classPxContactJoint.html":[3,0,82], "classPxContactJoint.html#a085aa0261f2081146362f07691b6f6b8":[3,0,82,4], "classPxContactJoint.html#a261d1396f7027c013adba40f7b51ad5f":[3,0,82,0], @@ -224,30 +232,22 @@ var NAVTREEINDEX3 = "classPxContactJoint.html#ac848e9ea36840bedb24f281955941d7e":[3,0,82,12], "classPxContactJoint.html#add1a7231c4de71b558d07b7075793401":[3,0,82,15], "classPxContactJoint.html#ae5c68765fb4b399dcaa240efd1624048":[3,0,82,2], -"classPxContactModifyCallback.html":[2,2,40], -"classPxContactModifyCallback.html#a383f0448886bf352215c886b3066f790":[2,2,40,1], -"classPxContactModifyCallback.html#ad6c57abf114d4c594973c2d365a98b6f":[2,2,40,0], -"classPxContactModifyPair.html":[2,2,39], -"classPxContactModifyPair.html#a5102f62e13acc449f81670353cdac114":[2,2,39,0], -"classPxContactModifyPair.html#a8d6715a77c2fb18a8ee9906813149d22":[2,2,39,3], -"classPxContactModifyPair.html#a9266a6cd1e9604f2bc6f7104064bb388":[2,2,39,1], -"classPxContactModifyPair.html#ae562e272dd6588e55139200aed047c38":[2,2,39,2], +"classPxContactModifyCallback.html":[2,2,41], +"classPxContactModifyCallback.html#a383f0448886bf352215c886b3066f790":[2,2,41,1], +"classPxContactModifyCallback.html#ad6c57abf114d4c594973c2d365a98b6f":[2,2,41,0], +"classPxContactModifyPair.html":[2,2,40], +"classPxContactModifyPair.html#a5102f62e13acc449f81670353cdac114":[2,2,40,0], +"classPxContactModifyPair.html#a8d6715a77c2fb18a8ee9906813149d22":[2,2,40,3], +"classPxContactModifyPair.html#a9266a6cd1e9604f2bc6f7104064bb388":[2,2,40,1], +"classPxContactModifyPair.html#ae562e272dd6588e55139200aed047c38":[2,2,40,2], "classPxContactRecorder.html":[2,10,1], "classPxContactRecorder.html#a0438ffde649943dc78286c3e3d0bce86":[2,10,1,0], "classPxContactRecorder.html#af7dd25caea78a2175e6b079df5ae2a75":[2,10,1,1], -"classPxContactSet.html":[2,2,38], -"classPxContactSet.html#a02e47e98080310c600e07c6981c0092b":[2,2,38,10], -"classPxContactSet.html#a02f160a1a9135d6d7f1e5f77557ce63e":[2,2,38,1], -"classPxContactSet.html#a145d98e983e46057f0fa57903f671c06":[2,2,38,21], -"classPxContactSet.html#a21cfe31aa14065c8b3ee6390c312e178":[2,2,38,23], -"classPxContactSet.html#a2bf52bb6a14a67d82e23e233e06fa0c3":[2,2,38,5], -"classPxContactSet.html#a2c1f31f9201c804d6310ec0129cc0cea":[2,2,38,24], -"classPxContactSet.html#a2e374d99ff72fcf410a070ee3bf17abb":[2,2,38,27], -"classPxContactSet.html#a360344f51cce5d01c69701e3dcc3747b":[2,2,38,16], -"classPxContactSet.html#a614a3d5bbdfe9fccce114e0ce64913a8":[2,2,38,29], -"classPxContactSet.html#a649785dca7f48629279cd0dccf73f18d":[2,2,38,0], -"classPxContactSet.html#a6535e80819a6d2a5bbe38db6aa86684e":[2,2,38,2], -"classPxContactSet.html#a6b38910a19843d40816bc7807c482bff":[2,2,38,7], -"classPxContactSet.html#a6c480bbee40ef09750a07e43dffe53dc":[2,2,38,6], -"classPxContactSet.html#a7262db2928f9ba341c17909864250754":[2,2,38,12] +"classPxContactSet.html":[2,2,39], +"classPxContactSet.html#a02e47e98080310c600e07c6981c0092b":[2,2,39,10], +"classPxContactSet.html#a02f160a1a9135d6d7f1e5f77557ce63e":[2,2,39,1], +"classPxContactSet.html#a145d98e983e46057f0fa57903f671c06":[2,2,39,21], +"classPxContactSet.html#a21cfe31aa14065c8b3ee6390c312e178":[2,2,39,23], +"classPxContactSet.html#a2bf52bb6a14a67d82e23e233e06fa0c3":[2,2,39,5], +"classPxContactSet.html#a2c1f31f9201c804d6310ec0129cc0cea":[2,2,39,24] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex4.js b/physx/documentation/PhysXAPI/files/navtreeindex4.js index 2e8cfc230..934a2d225 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex4.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex4.js @@ -1,22 +1,30 @@ var NAVTREEINDEX4 = { -"classPxContactSet.html#a7294514e0c3e773a40ba0ecec449b03e":[2,2,38,4], -"classPxContactSet.html#a74648acc75bce20cfd555e76298b514f":[2,2,38,19], -"classPxContactSet.html#a74a22b5ae3140aba546b66415427a7d5":[2,2,38,18], -"classPxContactSet.html#a881f87b838841b3961c865895a259403":[2,2,38,9], -"classPxContactSet.html#a8c585855a8936d762520b1d1471bf3fe":[2,2,38,26], -"classPxContactSet.html#a930b0b6a5450e9b2e83634d6803f4045":[2,2,38,15], -"classPxContactSet.html#a96f5fb3c78f2418dd6321e183401c30f":[2,2,38,13], -"classPxContactSet.html#a9c837a61e087bffc0e1ac07579db137d":[2,2,38,11], -"classPxContactSet.html#ad5eeabcc4bcf3d3bfcf4c123fb763010":[2,2,38,3], -"classPxContactSet.html#ad77be76292fb196ff129d70c372c5d97":[2,2,38,20], -"classPxContactSet.html#add1b219393a21fdbb6e6db51400aa900":[2,2,38,25], -"classPxContactSet.html#ade35c9665ad6ab497860d0110e536a65":[2,2,38,14], -"classPxContactSet.html#ae145d9eec7403316390478f401837dcf":[2,2,38,17], -"classPxContactSet.html#ae8b03d814a326b0301d679d45d2c42ff":[2,2,38,28], -"classPxContactSet.html#af25b100d5badb85ae1e35e9a11c29312":[2,2,38,8], -"classPxContactSet.html#afcc7a677fe3cf662ebab5a49f5a454b9":[2,2,38,30], -"classPxContactSet.html#afdc45b285e1aaedd29690571b2098daa":[2,2,38,22], +"classPxContactSet.html#a2e374d99ff72fcf410a070ee3bf17abb":[2,2,39,27], +"classPxContactSet.html#a360344f51cce5d01c69701e3dcc3747b":[2,2,39,16], +"classPxContactSet.html#a614a3d5bbdfe9fccce114e0ce64913a8":[2,2,39,29], +"classPxContactSet.html#a649785dca7f48629279cd0dccf73f18d":[2,2,39,0], +"classPxContactSet.html#a6535e80819a6d2a5bbe38db6aa86684e":[2,2,39,2], +"classPxContactSet.html#a6b38910a19843d40816bc7807c482bff":[2,2,39,7], +"classPxContactSet.html#a6c480bbee40ef09750a07e43dffe53dc":[2,2,39,6], +"classPxContactSet.html#a7262db2928f9ba341c17909864250754":[2,2,39,12], +"classPxContactSet.html#a7294514e0c3e773a40ba0ecec449b03e":[2,2,39,4], +"classPxContactSet.html#a74648acc75bce20cfd555e76298b514f":[2,2,39,19], +"classPxContactSet.html#a74a22b5ae3140aba546b66415427a7d5":[2,2,39,18], +"classPxContactSet.html#a881f87b838841b3961c865895a259403":[2,2,39,9], +"classPxContactSet.html#a8c585855a8936d762520b1d1471bf3fe":[2,2,39,26], +"classPxContactSet.html#a930b0b6a5450e9b2e83634d6803f4045":[2,2,39,15], +"classPxContactSet.html#a96f5fb3c78f2418dd6321e183401c30f":[2,2,39,13], +"classPxContactSet.html#a9c837a61e087bffc0e1ac07579db137d":[2,2,39,11], +"classPxContactSet.html#ad5eeabcc4bcf3d3bfcf4c123fb763010":[2,2,39,3], +"classPxContactSet.html#ad77be76292fb196ff129d70c372c5d97":[2,2,39,20], +"classPxContactSet.html#add1b219393a21fdbb6e6db51400aa900":[2,2,39,25], +"classPxContactSet.html#ade35c9665ad6ab497860d0110e536a65":[2,2,39,14], +"classPxContactSet.html#ae145d9eec7403316390478f401837dcf":[2,2,39,17], +"classPxContactSet.html#ae8b03d814a326b0301d679d45d2c42ff":[2,2,39,28], +"classPxContactSet.html#af25b100d5badb85ae1e35e9a11c29312":[2,2,39,8], +"classPxContactSet.html#afcc7a677fe3cf662ebab5a49f5a454b9":[2,2,39,30], +"classPxContactSet.html#afdc45b285e1aaedd29690571b2098daa":[2,2,39,22], "classPxController.html":[2,0,18], "classPxController.html#a0ed314c5bf5dd95f9f340de15efb5776":[2,0,18,17], "classPxController.html#a1cbd9da6b634f45585df92bb71e37782":[2,0,18,16], @@ -238,16 +246,8 @@ var NAVTREEINDEX4 = "classPxDelayLoadHook.html#a59bbc3738ce9b3484b81012ba85423e6":[2,4,1,1], "classPxDelayLoadHook.html#aa419286dfb6738bacbee2a27936eee39":[2,4,1,2], "classPxDelayLoadHook.html#ac2a82887db618b3616f45dcc3fc7c608":[2,4,1,3], -"classPxDeletionListener.html":[2,2,43], -"classPxDeletionListener.html#a76fa5705a41d0996d0f31c591f4f049c":[2,2,43,2], -"classPxDeletionListener.html#a7c42c11dd067fbabe73b818a5d476bce":[2,2,43,1], -"classPxDeletionListener.html#afc09e12240bd133f30d23fd73adb62d2":[2,2,43,0], -"classPxDeserializationContext.html":[2,1,17], -"classPxDeserializationContext.html#a155f00275087cb2faf4819bca9d21989":[2,1,17,7], -"classPxDeserializationContext.html#a18007433a2cc90ef8ccf4353fb8b123d":[2,1,17,0], -"classPxDeserializationContext.html#a2299e472c6c4dc486cbd08385efd31d9":[2,1,17,1], -"classPxDeserializationContext.html#a393b7ca347c967d330791d19b2e37006":[2,1,17,5], -"classPxDeserializationContext.html#a5c9fff58c41cd679b10359b836851263":[2,1,17,4], -"classPxDeserializationContext.html#a91c4d17f9b7f7acd3cd7a119fe701939":[2,1,17,8], -"classPxDeserializationContext.html#ab190b79866da182afa6f3f23f48d1d37":[2,1,17,6] +"classPxDeletionListener.html":[2,2,44], +"classPxDeletionListener.html#a76fa5705a41d0996d0f31c591f4f049c":[2,2,44,2], +"classPxDeletionListener.html#a7c42c11dd067fbabe73b818a5d476bce":[2,2,44,1], +"classPxDeletionListener.html#afc09e12240bd133f30d23fd73adb62d2":[2,2,44,0] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex5.js b/physx/documentation/PhysXAPI/files/navtreeindex5.js index 673c5e065..aaad1b43d 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex5.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex5.js @@ -1,5 +1,13 @@ var NAVTREEINDEX5 = { +"classPxDeserializationContext.html":[2,1,17], +"classPxDeserializationContext.html#a155f00275087cb2faf4819bca9d21989":[2,1,17,7], +"classPxDeserializationContext.html#a18007433a2cc90ef8ccf4353fb8b123d":[2,1,17,0], +"classPxDeserializationContext.html#a2299e472c6c4dc486cbd08385efd31d9":[2,1,17,1], +"classPxDeserializationContext.html#a393b7ca347c967d330791d19b2e37006":[2,1,17,5], +"classPxDeserializationContext.html#a5c9fff58c41cd679b10359b836851263":[2,1,17,4], +"classPxDeserializationContext.html#a91c4d17f9b7f7acd3cd7a119fe701939":[2,1,17,8], +"classPxDeserializationContext.html#ab190b79866da182afa6f3f23f48d1d37":[2,1,17,6], "classPxDeserializationContext.html#aec988e991d65c299c9f4742c0ada3ccc":[2,1,17,3], "classPxDeserializationContext.html#af6b8fa92c606bc4641ef3e06750b4a37":[2,1,17,2], "classPxDistanceJoint.html":[2,3,22], @@ -241,13 +249,5 @@ var NAVTREEINDEX5 = "classPxInputData.html#ac80d55021a6bae02a1cc64d27a98c575":[2,1,23,2], "classPxInputData.html#ae82db2806183495ecc5b22adc3386b3a":[2,1,23,0], "classPxInputStream.html":[2,1,22], -"classPxInputStream.html#a74fdc1e5af87577e7cc13cc99894b2b3":[2,1,22,1], -"classPxInputStream.html#ae9bbfe54d3bd96668f6dd19b30737e26":[2,1,22,0], -"classPxJoint.html":[2,3,26], -"classPxJoint.html#a116450043c073548c1c55d032014f7e7":[2,3,26,16], -"classPxJoint.html#a1cfe86fe5c8131cea1b9b5ff9df7a014":[2,3,26,21], -"classPxJoint.html#a1da1a62c8aa565a92ff25c83825d1657":[2,3,26,7], -"classPxJoint.html#a2c43517c6bc6d77062c4563e45a1dd99":[2,3,26,0], -"classPxJoint.html#a2f5f6c66b5e6933f8578a880a4a957ad":[2,3,26,27], -"classPxJoint.html#a36e5f97539fc423389536bbe20d59785":[2,3,26,11] +"classPxInputStream.html#a74fdc1e5af87577e7cc13cc99894b2b3":[2,1,22,1] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex6.js b/physx/documentation/PhysXAPI/files/navtreeindex6.js index ae28b1566..e32d3386b 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex6.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex6.js @@ -1,5 +1,13 @@ var NAVTREEINDEX6 = { +"classPxInputStream.html#ae9bbfe54d3bd96668f6dd19b30737e26":[2,1,22,0], +"classPxJoint.html":[2,3,26], +"classPxJoint.html#a116450043c073548c1c55d032014f7e7":[2,3,26,16], +"classPxJoint.html#a1cfe86fe5c8131cea1b9b5ff9df7a014":[2,3,26,21], +"classPxJoint.html#a1da1a62c8aa565a92ff25c83825d1657":[2,3,26,7], +"classPxJoint.html#a2c43517c6bc6d77062c4563e45a1dd99":[2,3,26,0], +"classPxJoint.html#a2f5f6c66b5e6933f8578a880a4a957ad":[2,3,26,27], +"classPxJoint.html#a36e5f97539fc423389536bbe20d59785":[2,3,26,11], "classPxJoint.html#a373b38ccd4aff8671b5b17761b73af1b":[2,3,26,4], "classPxJoint.html#a3fbb9ab9cb1ce50be8cd480ce5047e0e":[2,3,26,18], "classPxJoint.html#a4d2fb184640f84666e2f6198dc6b7e0d":[2,3,26,9], @@ -67,10 +75,10 @@ var NAVTREEINDEX6 = "classPxJointLinearLimitPair.html#a665b7dfdfae70094a37dac14cc895fbe":[2,3,30,2], "classPxJointLinearLimitPair.html#a8a95bf4d353436b030e652ef3cb1343b":[2,3,30,1], "classPxJointLinearLimitPair.html#aa0bd4b39e190c58bb7db3d09db37fbe2":[2,3,30,0], -"classPxLockedData.html":[2,2,53], -"classPxLockedData.html#a1393e474dbe1cc8a430b12330ee31e32":[2,2,53,1], -"classPxLockedData.html#a2534f2c0832c1208db78c3b67f563f48":[2,2,53,2], -"classPxLockedData.html#afafaf2ee2464e51ed51e0107687860f1":[2,2,53,0], +"classPxLockedData.html":[2,2,54], +"classPxLockedData.html#a1393e474dbe1cc8a430b12330ee31e32":[2,2,54,1], +"classPxLockedData.html#a2534f2c0832c1208db78c3b67f563f48":[2,2,54,2], +"classPxLockedData.html#afafaf2ee2464e51ed51e0107687860f1":[2,2,54,0], "classPxMassProperties.html":[2,3,34], "classPxMassProperties.html#a1cbdb127fcb5b2b3617693e24ccdb49b":[2,3,34,0], "classPxMassProperties.html#a4ba3bf338320c9f0bf558b5d3a9046bd":[2,3,34,6], @@ -166,29 +174,29 @@ var NAVTREEINDEX6 = "classPxMat44.html#af379d3c40dcd771a79bf9ea075d39355":[2,4,12,1], "classPxMat44.html#af499741cc9fca601f695f3f5bccb1558":[2,4,12,10], "classPxMat44.html#afcda14c487a5c247c5ccc57d563ec6fc":[2,4,12,43], -"classPxMaterial.html":[2,2,56], -"classPxMaterial.html#a0384706084d22fe2ec745bc81d54ef14":[2,2,56,20], -"classPxMaterial.html#a06db9f154df542598da209a31fdc123f":[2,2,56,9], -"classPxMaterial.html#a0d97b1335e367b8f27f32f6c3766f5a8":[2,2,56,7], -"classPxMaterial.html#a15c32fcd28a63a02caad0247dd2e9835":[2,2,56,17], -"classPxMaterial.html#a2d19a3388f5c3f023540661baa587de5":[2,2,56,3], -"classPxMaterial.html#a3c240b5123bbabc0673c0c8f9441e155":[2,2,56,12], -"classPxMaterial.html#a3dbcd175e805766442291c1285eafe8c":[2,2,56,15], -"classPxMaterial.html#a452856bae712ad60a281ec45a4bd69a9":[2,2,56,16], -"classPxMaterial.html#a459b91a5b16327891dc7b9364c854888":[2,2,56,8], -"classPxMaterial.html#a462f7d7aa49aec69871bbf066632a5d4":[2,2,56,21], -"classPxMaterial.html#a8f9930b0e18a932e428a061891e4683f":[2,2,56,19], -"classPxMaterial.html#a9038f690c180b962a7543734f44ec0f1":[2,2,56,18], -"classPxMaterial.html#a971a4c6a385310c28aaeaa1f5ead78e9":[2,2,56,14], -"classPxMaterial.html#a9f402b870b0729455ba8199b46a0fccd":[2,2,56,0], -"classPxMaterial.html#aa4f567c979252e84dc88cbd626dc8812":[2,2,56,10], -"classPxMaterial.html#ab80c2e686ea428c58dbd020e067eaa70":[2,2,56,11], -"classPxMaterial.html#ac0635989d3c9a12d55d25fe468e91256":[2,2,56,13], -"classPxMaterial.html#adbb15eb75d3d467bd02c311047cee7d2":[2,2,56,4], -"classPxMaterial.html#af304d5eda8ffb0d1afeada9a98186c0a":[2,2,56,2], -"classPxMaterial.html#af307774d0f072ac743621419a5d7c1a7":[2,2,56,1], -"classPxMaterial.html#af8fca7a3079e8da26c8275a9fe3ce635":[2,2,56,6], -"classPxMaterial.html#afc25f357ba1de24c8b98b22f94153d3d":[2,2,56,5], +"classPxMaterial.html":[2,2,57], +"classPxMaterial.html#a0384706084d22fe2ec745bc81d54ef14":[2,2,57,20], +"classPxMaterial.html#a06db9f154df542598da209a31fdc123f":[2,2,57,9], +"classPxMaterial.html#a0d97b1335e367b8f27f32f6c3766f5a8":[2,2,57,7], +"classPxMaterial.html#a15c32fcd28a63a02caad0247dd2e9835":[2,2,57,17], +"classPxMaterial.html#a2d19a3388f5c3f023540661baa587de5":[2,2,57,3], +"classPxMaterial.html#a3c240b5123bbabc0673c0c8f9441e155":[2,2,57,12], +"classPxMaterial.html#a3dbcd175e805766442291c1285eafe8c":[2,2,57,15], +"classPxMaterial.html#a452856bae712ad60a281ec45a4bd69a9":[2,2,57,16], +"classPxMaterial.html#a459b91a5b16327891dc7b9364c854888":[2,2,57,8], +"classPxMaterial.html#a462f7d7aa49aec69871bbf066632a5d4":[2,2,57,21], +"classPxMaterial.html#a8f9930b0e18a932e428a061891e4683f":[2,2,57,19], +"classPxMaterial.html#a9038f690c180b962a7543734f44ec0f1":[2,2,57,18], +"classPxMaterial.html#a971a4c6a385310c28aaeaa1f5ead78e9":[2,2,57,14], +"classPxMaterial.html#a9f402b870b0729455ba8199b46a0fccd":[2,2,57,0], +"classPxMaterial.html#aa4f567c979252e84dc88cbd626dc8812":[2,2,57,10], +"classPxMaterial.html#ab80c2e686ea428c58dbd020e067eaa70":[2,2,57,11], +"classPxMaterial.html#ac0635989d3c9a12d55d25fe468e91256":[2,2,57,13], +"classPxMaterial.html#adbb15eb75d3d467bd02c311047cee7d2":[2,2,57,4], +"classPxMaterial.html#af304d5eda8ffb0d1afeada9a98186c0a":[2,2,57,2], +"classPxMaterial.html#af307774d0f072ac743621419a5d7c1a7":[2,2,57,1], +"classPxMaterial.html#af8fca7a3079e8da26c8275a9fe3ce635":[2,2,57,6], +"classPxMaterial.html#afc25f357ba1de24c8b98b22f94153d3d":[2,2,57,5], "classPxMeshOverlapUtil.html":[2,3,49], "classPxMeshOverlapUtil.html#a5a7ae3b4ede9cd27b22205668a850fce":[2,3,49,2], "classPxMeshOverlapUtil.html#a5df6a18748cb8fc4e8fe5bca26b64182":[2,3,49,3], @@ -241,13 +249,5 @@ var NAVTREEINDEX6 = "classPxObstacleContext.html#a228a7b8cb5900251d7888ee0f4d912cd":[2,0,26,5], "classPxObstacleContext.html#a3ea7ddb35145ea2ca1184ae7d8ce7b15":[2,0,26,8], "classPxObstacleContext.html#a53b1408cf617fc505dc1bbf19f94f1ff":[2,0,26,0], -"classPxObstacleContext.html#a73ea47d73adaeda1228fd5030ee8cdd2":[2,0,26,9], -"classPxObstacleContext.html#a9390f860fb489f283c9f872af2777123":[2,0,26,3], -"classPxObstacleContext.html#aaf653d99de6f092896cc1baa2a4e99c2":[2,0,26,7], -"classPxObstacleContext.html#adf341c13bb11532604ee7012228061f6":[2,0,26,1], -"classPxObstacleContext.html#ae55da4495a10d1c310068e23d87ce7d5":[2,0,26,4], -"classPxObstacleContext.html#afa8438d6cdc3d82375944d7ca126487a":[2,0,26,6], -"classPxOutputStream.html":[2,1,24], -"classPxOutputStream.html#a0ae7333d40100aa27d0cc38a13335561":[2,1,24,0], -"classPxOutputStream.html#a21b2d0c73d63560533c9e85487224123":[2,1,24,1] +"classPxObstacleContext.html#a73ea47d73adaeda1228fd5030ee8cdd2":[2,0,26,9] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex7.js b/physx/documentation/PhysXAPI/files/navtreeindex7.js index 1aa390b7b..8949c4e20 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex7.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex7.js @@ -1,44 +1,52 @@ var NAVTREEINDEX7 = { -"classPxPhysics.html":[2,2,57], -"classPxPhysics.html#a051662877c0f3346ac7fa4f1bf4bcd95":[2,2,57,24], -"classPxPhysics.html#a07630a24a3f8f249feae94008eb41f06":[2,2,57,3], -"classPxPhysics.html#a084ff8d2b32c74056f95580cbb2a0cb3":[2,2,57,26], -"classPxPhysics.html#a1126f3f545ebe183be1753f62d1efc7d":[2,2,57,5], -"classPxPhysics.html#a1806546c22306e8d44b7ff7719fbcc99":[2,2,57,7], -"classPxPhysics.html#a1a9cabf0c8c0f11d7eb7e948be2e32b0":[2,2,57,20], -"classPxPhysics.html#a1c2899065d7b3d9367a409b0207848cc":[2,2,57,18], -"classPxPhysics.html#a1ecd80a6f7c5239bd6cc50c5ea76156d":[2,2,57,29], -"classPxPhysics.html#a29dcbbe128cef11eaf4ce5696c216dfd":[2,2,57,15], -"classPxPhysics.html#a2a54be70acbcce6d2efe6130a4e94e8a":[2,2,57,36], -"classPxPhysics.html#a35c1965ae47b24e119c6a2d8ce25477e":[2,2,57,8], -"classPxPhysics.html#a372b961576ee45702d02618933e8db0d":[2,2,57,22], -"classPxPhysics.html#a3eabed665fe069eed00fca73da25ae2b":[2,2,57,33], -"classPxPhysics.html#a4209ffb5ab43cd7d9c6a59e4139c1993":[2,2,57,1], -"classPxPhysics.html#a54fc5f8b0884977ccfd45ea829392a52":[2,2,57,6], -"classPxPhysics.html#a55e2319c4c8f51f7f9badbf2aef69f29":[2,2,57,4], -"classPxPhysics.html#a58d338d214918182945c8fcb99325e20":[2,2,57,10], -"classPxPhysics.html#a5c62ebf74c105e7ecf3eaba6949a42fa":[2,2,57,9], -"classPxPhysics.html#a5d2cea62dd20865d8c13b8d07bd6fb60":[2,2,57,0], -"classPxPhysics.html#a6dcded7be00c17004432a04a78569db1":[2,2,57,12], -"classPxPhysics.html#a795e11d0e5ed6ac50af9c656f6a67e37":[2,2,57,35], -"classPxPhysics.html#a7a4588fd79b87766cb81fae3ddd4f074":[2,2,57,28], -"classPxPhysics.html#a811b31357dd44bcf7c632902cfb06625":[2,2,57,21], -"classPxPhysics.html#a82949b1375677a8c58d64c7cd47b7f4b":[2,2,57,11], -"classPxPhysics.html#a91183bc0ffba9000a0f76bf4d9bf5fa2":[2,2,57,27], -"classPxPhysics.html#a92275b36165ce356aa217d17fbb3ac2c":[2,2,57,23], -"classPxPhysics.html#a9ce0bf9fd2bb7c6d4e1247df43cb54d9":[2,2,57,16], -"classPxPhysics.html#aa65bf245c40886f007b7cda86dee9f3f":[2,2,57,2], -"classPxPhysics.html#aa781fee3bcd9ea28cfaa45717c4a8738":[2,2,57,32], -"classPxPhysics.html#aad319213709679f7ecddca5a97db29a4":[2,2,57,37], -"classPxPhysics.html#abc564607f208cbc1944880172a3d62fe":[2,2,57,13], -"classPxPhysics.html#ad2470ec4f7a3b36664f92d08c3b42ba7":[2,2,57,19], -"classPxPhysics.html#adf5fc0714a1ad19e0a2b2723ee4b1714":[2,2,57,34], -"classPxPhysics.html#ae6b06e75ab03222d301a15e14c5ac467":[2,2,57,31], -"classPxPhysics.html#af6181c2f379b52712bece3f7639fab1e":[2,2,57,25], -"classPxPhysics.html#af842c37b9e11bf180465452e8dacfc06":[2,2,57,17], -"classPxPhysics.html#af8a7ab6d85ff7232e622a7127f5e2528":[2,2,57,30], -"classPxPhysics.html#afde7d3527975abe62c8b4951d9e69978":[2,2,57,14], +"classPxObstacleContext.html#a9390f860fb489f283c9f872af2777123":[2,0,26,3], +"classPxObstacleContext.html#aaf653d99de6f092896cc1baa2a4e99c2":[2,0,26,7], +"classPxObstacleContext.html#adf341c13bb11532604ee7012228061f6":[2,0,26,1], +"classPxObstacleContext.html#ae55da4495a10d1c310068e23d87ce7d5":[2,0,26,4], +"classPxObstacleContext.html#afa8438d6cdc3d82375944d7ca126487a":[2,0,26,6], +"classPxOutputStream.html":[2,1,24], +"classPxOutputStream.html#a0ae7333d40100aa27d0cc38a13335561":[2,1,24,0], +"classPxOutputStream.html#a21b2d0c73d63560533c9e85487224123":[2,1,24,1], +"classPxPhysics.html":[2,2,58], +"classPxPhysics.html#a051662877c0f3346ac7fa4f1bf4bcd95":[2,2,58,24], +"classPxPhysics.html#a07630a24a3f8f249feae94008eb41f06":[2,2,58,3], +"classPxPhysics.html#a084ff8d2b32c74056f95580cbb2a0cb3":[2,2,58,26], +"classPxPhysics.html#a1126f3f545ebe183be1753f62d1efc7d":[2,2,58,5], +"classPxPhysics.html#a1806546c22306e8d44b7ff7719fbcc99":[2,2,58,7], +"classPxPhysics.html#a1a9cabf0c8c0f11d7eb7e948be2e32b0":[2,2,58,20], +"classPxPhysics.html#a1c2899065d7b3d9367a409b0207848cc":[2,2,58,18], +"classPxPhysics.html#a1ecd80a6f7c5239bd6cc50c5ea76156d":[2,2,58,29], +"classPxPhysics.html#a29dcbbe128cef11eaf4ce5696c216dfd":[2,2,58,15], +"classPxPhysics.html#a2a54be70acbcce6d2efe6130a4e94e8a":[2,2,58,36], +"classPxPhysics.html#a35c1965ae47b24e119c6a2d8ce25477e":[2,2,58,8], +"classPxPhysics.html#a372b961576ee45702d02618933e8db0d":[2,2,58,22], +"classPxPhysics.html#a3eabed665fe069eed00fca73da25ae2b":[2,2,58,33], +"classPxPhysics.html#a4209ffb5ab43cd7d9c6a59e4139c1993":[2,2,58,1], +"classPxPhysics.html#a54fc5f8b0884977ccfd45ea829392a52":[2,2,58,6], +"classPxPhysics.html#a55e2319c4c8f51f7f9badbf2aef69f29":[2,2,58,4], +"classPxPhysics.html#a58d338d214918182945c8fcb99325e20":[2,2,58,10], +"classPxPhysics.html#a5c62ebf74c105e7ecf3eaba6949a42fa":[2,2,58,9], +"classPxPhysics.html#a5d2cea62dd20865d8c13b8d07bd6fb60":[2,2,58,0], +"classPxPhysics.html#a6dcded7be00c17004432a04a78569db1":[2,2,58,12], +"classPxPhysics.html#a795e11d0e5ed6ac50af9c656f6a67e37":[2,2,58,35], +"classPxPhysics.html#a7a4588fd79b87766cb81fae3ddd4f074":[2,2,58,28], +"classPxPhysics.html#a811b31357dd44bcf7c632902cfb06625":[2,2,58,21], +"classPxPhysics.html#a82949b1375677a8c58d64c7cd47b7f4b":[2,2,58,11], +"classPxPhysics.html#a91183bc0ffba9000a0f76bf4d9bf5fa2":[2,2,58,27], +"classPxPhysics.html#a92275b36165ce356aa217d17fbb3ac2c":[2,2,58,23], +"classPxPhysics.html#a9ce0bf9fd2bb7c6d4e1247df43cb54d9":[2,2,58,16], +"classPxPhysics.html#aa65bf245c40886f007b7cda86dee9f3f":[2,2,58,2], +"classPxPhysics.html#aa781fee3bcd9ea28cfaa45717c4a8738":[2,2,58,32], +"classPxPhysics.html#aad319213709679f7ecddca5a97db29a4":[2,2,58,37], +"classPxPhysics.html#abc564607f208cbc1944880172a3d62fe":[2,2,58,13], +"classPxPhysics.html#ad2470ec4f7a3b36664f92d08c3b42ba7":[2,2,58,19], +"classPxPhysics.html#adf5fc0714a1ad19e0a2b2723ee4b1714":[2,2,58,34], +"classPxPhysics.html#ae6b06e75ab03222d301a15e14c5ac467":[2,2,58,31], +"classPxPhysics.html#af6181c2f379b52712bece3f7639fab1e":[2,2,58,25], +"classPxPhysics.html#af842c37b9e11bf180465452e8dacfc06":[2,2,58,17], +"classPxPhysics.html#af8a7ab6d85ff7232e622a7127f5e2528":[2,2,58,30], +"classPxPhysics.html#afde7d3527975abe62c8b4951d9e69978":[2,2,58,14], "classPxPhysicsInsertionCallback.html":[2,1,8], "classPxPhysicsInsertionCallback.html#ad1424ae705471676424f57e2037f63dd":[2,1,8,0], "classPxPhysicsInsertionCallback.html#ad96a7237e29bb61034a5fee1903fc6e0":[2,1,8,2], @@ -78,15 +86,15 @@ var NAVTREEINDEX7 = "classPxProcessPxBaseCallback.html":[2,1,15], "classPxProcessPxBaseCallback.html#ab0421495c7988c6b2300ee52d92918fc":[2,1,15,1], "classPxProcessPxBaseCallback.html#af561cc0a3039eb78ba0c041797334952":[2,1,15,0], -"classPxPruningStructure.html":[2,2,58], -"classPxPruningStructure.html#a034b569b8e1db318efcb97fa3dc03020":[2,2,58,0], -"classPxPruningStructure.html#a1075ac464928c4f97d98e4f287b33182":[2,2,58,7], -"classPxPruningStructure.html#a2123cf6d0ec8f856c4b8cdf7c3693326":[2,2,58,1], -"classPxPruningStructure.html#a4d56877674adf3eaf854cd677d2b3f56":[2,2,58,2], -"classPxPruningStructure.html#a654e539a68db0ea162d54f8c5ee8c4ed":[2,2,58,4], -"classPxPruningStructure.html#a6c930e8a4f47e3b4a3f1c5bde7f98169":[2,2,58,5], -"classPxPruningStructure.html#a7515d78332f131fb92a15109e1b1136d":[2,2,58,6], -"classPxPruningStructure.html#ad469db86fbfab17593651ca26218842f":[2,2,58,3], +"classPxPruningStructure.html":[2,2,59], +"classPxPruningStructure.html#a034b569b8e1db318efcb97fa3dc03020":[2,2,59,0], +"classPxPruningStructure.html#a1075ac464928c4f97d98e4f287b33182":[2,2,59,7], +"classPxPruningStructure.html#a2123cf6d0ec8f856c4b8cdf7c3693326":[2,2,59,1], +"classPxPruningStructure.html#a4d56877674adf3eaf854cd677d2b3f56":[2,2,59,2], +"classPxPruningStructure.html#a654e539a68db0ea162d54f8c5ee8c4ed":[2,2,59,4], +"classPxPruningStructure.html#a6c930e8a4f47e3b4a3f1c5bde7f98169":[2,2,59,5], +"classPxPruningStructure.html#a7515d78332f131fb92a15109e1b1136d":[2,2,59,6], +"classPxPruningStructure.html#ad469db86fbfab17593651ca26218842f":[2,2,59,3], "classPxPvd.html":[2,8,2], "classPxPvd.html#a1824e29488871970252cdc2ed6bc54e5":[2,8,2,3], "classPxPvd.html#a23c137a2fe3c347382ea17a3b8bfa06d":[2,8,2,1], @@ -201,53 +209,45 @@ var NAVTREEINDEX7 = "classPxRevoluteJoint.html#ad28e13ae7149b0a09f8b5a9d8beaae60":[2,3,41,16], "classPxRevoluteJoint.html#ad452487c45190f0c51c9699d09a9ab57":[2,3,41,12], "classPxRevoluteJoint.html#afd45c654a94755ad2366c53794ebd30a":[2,3,41,8], -"classPxRigidActor.html":[2,2,59], -"classPxRigidActor.html#a022e098ea67bc8ec87f93c2f18a4db6f":[2,2,59,3], -"classPxRigidActor.html#a1130f92afcba590b04b1e51b86f5377a":[2,2,59,11], -"classPxRigidActor.html#a22ef86619d7a6de688b9ef2b0ad7bcec":[2,2,59,9], -"classPxRigidActor.html#a26994d9594ed9a04bd412bdeb2a55f3e":[2,2,59,12], -"classPxRigidActor.html#a2e82b1515fd2c875edca2762cfe76f81":[2,2,59,10], -"classPxRigidActor.html#a467f9dc1517978b8d517936a475d3c4c":[2,2,59,4], -"classPxRigidActor.html#a6eb5e3d590e6087c930f8141d40de722":[2,2,59,6], -"classPxRigidActor.html#aaa01a5b7ff077d01da077a5c8163609f":[2,2,59,2], -"classPxRigidActor.html#abc3690608611b90d1efd033e804fd774":[2,2,59,1], -"classPxRigidActor.html#ac88777d5457f87247f5625094eb2be57":[2,2,59,5], -"classPxRigidActor.html#ad941cfa63351e7ff6095a4afbe2d9172":[2,2,59,7], -"classPxRigidActor.html#ae5c3534de94642c5980d29f4c49bc112":[2,2,59,8], -"classPxRigidActor.html#aea61d8192d25e64cefbbdc5f6d68a39b":[2,2,59,0], +"classPxRigidActor.html":[2,2,60], +"classPxRigidActor.html#a022e098ea67bc8ec87f93c2f18a4db6f":[2,2,60,3], +"classPxRigidActor.html#a1130f92afcba590b04b1e51b86f5377a":[2,2,60,11], +"classPxRigidActor.html#a22ef86619d7a6de688b9ef2b0ad7bcec":[2,2,60,9], +"classPxRigidActor.html#a26994d9594ed9a04bd412bdeb2a55f3e":[2,2,60,12], +"classPxRigidActor.html#a2e82b1515fd2c875edca2762cfe76f81":[2,2,60,10], +"classPxRigidActor.html#a467f9dc1517978b8d517936a475d3c4c":[2,2,60,4], +"classPxRigidActor.html#a6eb5e3d590e6087c930f8141d40de722":[2,2,60,6], +"classPxRigidActor.html#aaa01a5b7ff077d01da077a5c8163609f":[2,2,60,2], +"classPxRigidActor.html#abc3690608611b90d1efd033e804fd774":[2,2,60,1], +"classPxRigidActor.html#ac88777d5457f87247f5625094eb2be57":[2,2,60,5], +"classPxRigidActor.html#ad941cfa63351e7ff6095a4afbe2d9172":[2,2,60,7], +"classPxRigidActor.html#ae5c3534de94642c5980d29f4c49bc112":[2,2,60,8], +"classPxRigidActor.html#aea61d8192d25e64cefbbdc5f6d68a39b":[2,2,60,0], "classPxRigidActorExt.html":[2,3,42], "classPxRigidActorExt.html#a83136f2febcf60ac70f9da3664d1880f":[2,3,42,1], "classPxRigidActorExt.html#aa9a87cc3fb664926a444280bfb1ebe43":[2,3,42,2], "classPxRigidActorExt.html#ae708f5ca3fc5f1ce3db14032a89f62b9":[2,3,42,0], -"classPxRigidBody.html":[2,2,61], -"classPxRigidBody.html#a00f7fee01b5d357fdeb840ee4322c7a4":[2,2,61,20], -"classPxRigidBody.html#a04bab22deecb716e2cdd7a64b5cfaee7":[2,2,61,13], -"classPxRigidBody.html#a063cce94190de44d86a15c1b49dd7f71":[2,2,61,15], -"classPxRigidBody.html#a0aed51d5ddcf81b09a104ad7f0f30c05":[2,2,61,29], -"classPxRigidBody.html#a126446a6de640cdc08d339911f826270":[2,2,61,23], -"classPxRigidBody.html#a14d4e7068063768f6029a975ff5d41e4":[2,2,61,1], -"classPxRigidBody.html#a1a3bbe100e644995742f80f19ea8f250":[2,2,61,33], -"classPxRigidBody.html#a229ff64730b95c9c36b653ffee707e8a":[2,2,61,2], -"classPxRigidBody.html#a22b0a1ef0b6c5656a6063c5c38f5679c":[2,2,61,3], -"classPxRigidBody.html#a238775889dd7a555d700fd8cd65623e9":[2,2,61,10], -"classPxRigidBody.html#a261ce18fdc6cb81c0bfb46590db0867d":[2,2,61,34], -"classPxRigidBody.html#a2b1c475ca9cc6aebc168ac58256b7284":[2,2,61,14], -"classPxRigidBody.html#a2ef3c66318db72f2dd2c1b0d20513f18":[2,2,61,22], -"classPxRigidBody.html#a2f9e9e7946ab265013229612aad4c3c7":[2,2,61,18], -"classPxRigidBody.html#a3304d26a39bbdd99dc0ad51d1d99aec4":[2,2,61,19], -"classPxRigidBody.html#a399c1bb619f89ad1df4400a03a242051":[2,2,61,35], -"classPxRigidBody.html#a4c82bd72a216c0460887cf94184560bd":[2,2,61,11], -"classPxRigidBody.html#a63830b4cd24cd6e5e9f5bb2d6a1d3dc3":[2,2,61,16], -"classPxRigidBody.html#a755d0c8a8d1dd8b29e59d50a6dfda5fd":[2,2,61,31], -"classPxRigidBody.html#a8052320915132f7d7f72ede4543b64ad":[2,2,61,17], -"classPxRigidBody.html#a8a697a7a4b9bdd2c83a68e84b9bc3a35":[2,2,61,30], -"classPxRigidBody.html#a9b23b890404b1010bf0b67a225bd22e7":[2,2,61,37], -"classPxRigidBody.html#a9e6f3afd71605e037a5de47955d941e0":[2,2,61,38], -"classPxRigidBody.html#aafdbdab1865112b15201aeabb23877b4":[2,2,61,9], -"classPxRigidBody.html#aaffbfa748d3a75e79a13dbca92aaa7ff":[2,2,61,7], -"classPxRigidBody.html#ab152773926fe7b222d61e982c3cb6adf":[2,2,61,26], -"classPxRigidBody.html#abae787a717c8468dbf67345dde14ba85":[2,2,61,21], -"classPxRigidBody.html#ac6f4fe582726801cb09c2381de0c144d":[2,2,61,36], -"classPxRigidBody.html#ac81d09f36de3f2d1984709b559bb74ff":[2,2,61,28], -"classPxRigidBody.html#acb04ffc816d45afff2d04e93d7446e79":[2,2,61,4] +"classPxRigidBody.html":[2,2,62], +"classPxRigidBody.html#a00f7fee01b5d357fdeb840ee4322c7a4":[2,2,62,20], +"classPxRigidBody.html#a04bab22deecb716e2cdd7a64b5cfaee7":[2,2,62,13], +"classPxRigidBody.html#a063cce94190de44d86a15c1b49dd7f71":[2,2,62,15], +"classPxRigidBody.html#a0aed51d5ddcf81b09a104ad7f0f30c05":[2,2,62,29], +"classPxRigidBody.html#a126446a6de640cdc08d339911f826270":[2,2,62,23], +"classPxRigidBody.html#a14d4e7068063768f6029a975ff5d41e4":[2,2,62,1], +"classPxRigidBody.html#a1a3bbe100e644995742f80f19ea8f250":[2,2,62,33], +"classPxRigidBody.html#a229ff64730b95c9c36b653ffee707e8a":[2,2,62,2], +"classPxRigidBody.html#a22b0a1ef0b6c5656a6063c5c38f5679c":[2,2,62,3], +"classPxRigidBody.html#a238775889dd7a555d700fd8cd65623e9":[2,2,62,10], +"classPxRigidBody.html#a261ce18fdc6cb81c0bfb46590db0867d":[2,2,62,34], +"classPxRigidBody.html#a2b1c475ca9cc6aebc168ac58256b7284":[2,2,62,14], +"classPxRigidBody.html#a2ef3c66318db72f2dd2c1b0d20513f18":[2,2,62,22], +"classPxRigidBody.html#a2f9e9e7946ab265013229612aad4c3c7":[2,2,62,18], +"classPxRigidBody.html#a3304d26a39bbdd99dc0ad51d1d99aec4":[2,2,62,19], +"classPxRigidBody.html#a399c1bb619f89ad1df4400a03a242051":[2,2,62,35], +"classPxRigidBody.html#a4c82bd72a216c0460887cf94184560bd":[2,2,62,11], +"classPxRigidBody.html#a63830b4cd24cd6e5e9f5bb2d6a1d3dc3":[2,2,62,16], +"classPxRigidBody.html#a755d0c8a8d1dd8b29e59d50a6dfda5fd":[2,2,62,31], +"classPxRigidBody.html#a8052320915132f7d7f72ede4543b64ad":[2,2,62,17], +"classPxRigidBody.html#a8a697a7a4b9bdd2c83a68e84b9bc3a35":[2,2,62,30], +"classPxRigidBody.html#a9b23b890404b1010bf0b67a225bd22e7":[2,2,62,37] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex8.js b/physx/documentation/PhysXAPI/files/navtreeindex8.js index c73ddbe2d..6e05dfed8 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex8.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex8.js @@ -1,14 +1,22 @@ var NAVTREEINDEX8 = { -"classPxRigidBody.html#ad49850630db14af26e019d2550ecfd27":[2,2,61,25], -"classPxRigidBody.html#ad7fb785dde2e8e0954db807c7ec69a26":[2,2,61,12], -"classPxRigidBody.html#adb8f357ce212cdf05250237073278d0c":[2,2,61,24], -"classPxRigidBody.html#adf18dc769f8d1d3da7760097fa699acb":[2,2,61,0], -"classPxRigidBody.html#ae1cf856d4059ff6b422b2c58f91d242f":[2,2,61,27], -"classPxRigidBody.html#ae251132385cc0b082b612d709aa4375d":[2,2,61,6], -"classPxRigidBody.html#aefe5174aa160a07d488de2a18ba61f94":[2,2,61,5], -"classPxRigidBody.html#af91b92d6fcf47103b148337749aa93e0":[2,2,61,8], -"classPxRigidBody.html#afdf8a649186d2b993b0e64d6228706db":[2,2,61,32], +"classPxRigidBody.html#a9e6f3afd71605e037a5de47955d941e0":[2,2,62,38], +"classPxRigidBody.html#aafdbdab1865112b15201aeabb23877b4":[2,2,62,9], +"classPxRigidBody.html#aaffbfa748d3a75e79a13dbca92aaa7ff":[2,2,62,7], +"classPxRigidBody.html#ab152773926fe7b222d61e982c3cb6adf":[2,2,62,26], +"classPxRigidBody.html#abae787a717c8468dbf67345dde14ba85":[2,2,62,21], +"classPxRigidBody.html#ac6f4fe582726801cb09c2381de0c144d":[2,2,62,36], +"classPxRigidBody.html#ac81d09f36de3f2d1984709b559bb74ff":[2,2,62,28], +"classPxRigidBody.html#acb04ffc816d45afff2d04e93d7446e79":[2,2,62,4], +"classPxRigidBody.html#ad49850630db14af26e019d2550ecfd27":[2,2,62,25], +"classPxRigidBody.html#ad7fb785dde2e8e0954db807c7ec69a26":[2,2,62,12], +"classPxRigidBody.html#adb8f357ce212cdf05250237073278d0c":[2,2,62,24], +"classPxRigidBody.html#adf18dc769f8d1d3da7760097fa699acb":[2,2,62,0], +"classPxRigidBody.html#ae1cf856d4059ff6b422b2c58f91d242f":[2,2,62,27], +"classPxRigidBody.html#ae251132385cc0b082b612d709aa4375d":[2,2,62,6], +"classPxRigidBody.html#aefe5174aa160a07d488de2a18ba61f94":[2,2,62,5], +"classPxRigidBody.html#af91b92d6fcf47103b148337749aa93e0":[2,2,62,8], +"classPxRigidBody.html#afdf8a649186d2b993b0e64d6228706db":[2,2,62,32], "classPxRigidBodyExt.html":[2,3,43], "classPxRigidBodyExt.html#a0df8ee24ebf8b840909bdb09c8d90717":[2,3,43,3], "classPxRigidBodyExt.html#a0e3a81ec184fe8981dbbcebff6da1f61":[2,3,43,1], @@ -27,201 +35,201 @@ var NAVTREEINDEX8 = "classPxRigidBodyExt.html#ace7be55938f260ee769b993c6c90d288":[2,3,43,2], "classPxRigidBodyExt.html#adfc2b24aa3d9207ce6af21094151aede":[2,3,43,11], "classPxRigidBodyExt.html#afed73713b7c1032a7ce921c7de25a278":[2,3,43,9], -"classPxRigidDynamic.html":[2,2,63], -"classPxRigidDynamic.html#a0f7de8c56c76461555219b2b98d5147a":[2,2,63,21], -"classPxRigidDynamic.html#a16f9f0dfeae6e7877bcebca80df42c92":[2,2,63,17], -"classPxRigidDynamic.html#a1a0232d5a392e204e6b133fd2ab0879e":[2,2,63,7], -"classPxRigidDynamic.html#a2e1d23ebdce36455824949be867128d1":[2,2,63,11], -"classPxRigidDynamic.html#a2fcdafcbc0dd5a691d502b2f7b03a7d7":[2,2,63,8], -"classPxRigidDynamic.html#a3b6ed86370cfd04958ca7e1c637e310b":[2,2,63,5], -"classPxRigidDynamic.html#a43150714d9e16cd056149bad325f0527":[2,2,63,3], -"classPxRigidDynamic.html#a4464d188e7a1e94582c9cf35da9bbc93":[2,2,63,15], -"classPxRigidDynamic.html#a4f1b9e9f437d8b8f27a6e9c2d9ea22fd":[2,2,63,22], -"classPxRigidDynamic.html#a59fb22d9402497cffe1b5e54d9ecd62f":[2,2,63,20], -"classPxRigidDynamic.html#a5f9d98c9bd3b9ab0be7ce1b3ec4a4574":[2,2,63,9], -"classPxRigidDynamic.html#a7cf3e84117da3ec5b499262a3a9f5521":[2,2,63,16], -"classPxRigidDynamic.html#a88dc31fa470c5f37e3e9683534ad83aa":[2,2,63,10], -"classPxRigidDynamic.html#a9380b2f317161026b39c6a296ba9e273":[2,2,63,2], -"classPxRigidDynamic.html#a9e63c1ec6872048e16f7d6b744ec3eef":[2,2,63,1], -"classPxRigidDynamic.html#aa88e055440d6c1cc846e32dbed017345":[2,2,63,6], -"classPxRigidDynamic.html#aae00aa2067a2fe268b999aad04f27c28":[2,2,63,13], -"classPxRigidDynamic.html#aaf537a84cd9b119ed5f77888c600f2ae":[2,2,63,12], -"classPxRigidDynamic.html#ab21ed0e4e1be20fc975fcd3ceeb4e064":[2,2,63,0], -"classPxRigidDynamic.html#abfd510964f2287e81fe76a1a9e1725b5":[2,2,63,14], -"classPxRigidDynamic.html#ac087213f7360a202eaccfab26e97e644":[2,2,63,18], -"classPxRigidDynamic.html#acc91baffa652090e523df5e6627686ed":[2,2,63,4], -"classPxRigidDynamic.html#afa68d947962bc2d0f8862caaf3e8b304":[2,2,63,19], -"classPxRigidStatic.html":[2,2,64], -"classPxRigidStatic.html#a33f405d68b5ec1e8e60d0b361151645c":[2,2,64,0], -"classPxRigidStatic.html#a7881e50c535f44a6d69f40af3baa7ffc":[2,2,64,1], -"classPxRigidStatic.html#a8e7b7b750f554d4e9dd1d2d01f7acec0":[2,2,64,3], -"classPxRigidStatic.html#af464a35ff764f48b0ab8d74cd56db661":[2,2,64,2], -"classPxRigidStatic.html#af8a30e9f27d53c34dcc612ba48ebe811":[2,2,64,4], -"classPxScene.html":[2,2,68], -"classPxScene.html#a033c70c3094db21a2c51246e1a65a0e5":[2,2,68,2], -"classPxScene.html#a03b103772b8c06f2bf5c8192f1cb3f70":[2,2,68,22], -"classPxScene.html#a080866698f34876134941cf42949592b":[2,2,68,13], -"classPxScene.html#a088a9978be5b160b79665d4fb471ec81":[2,2,68,75], -"classPxScene.html#a0acbc97457d54775b6402f3790c3513b":[2,2,68,46], -"classPxScene.html#a0b247a2c4fc704ef4553a2e2958294fc":[2,2,68,84], -"classPxScene.html#a0c756c7ad50f94675d3d8ff9ac12289b":[2,2,68,40], -"classPxScene.html#a0cfa2d3835ea936ecd6ff94fbcefd689":[2,2,68,103], -"classPxScene.html#a0db918a532ef4d36474bf3f46cfad5a8":[2,2,68,104], -"classPxScene.html#a148be23880c4e2d67f9f772066a9f966":[2,2,68,101], -"classPxScene.html#a17c3863f711ef79c08c6054b69fd430c":[2,2,68,12], -"classPxScene.html#a1978693b355df49712d7e59c10c4115d":[2,2,68,35], -"classPxScene.html#a1c9025d9a26efa7b90c8c75cb7126b92":[2,2,68,100], -"classPxScene.html#a1e102ec1b29dea3b588b7507561e656e":[2,2,68,89], -"classPxScene.html#a1e9919abdfb23495a84f47c5157a67b1":[2,2,68,34], -"classPxScene.html#a1fd7e1e617aa9359b56e91e060ad9f90":[2,2,68,63], -"classPxScene.html#a285849425521dd0344f55b4a7c0a834a":[2,2,68,14], -"classPxScene.html#a287734b244b7ff6e40496e65d166ae95":[2,2,68,74], -"classPxScene.html#a2b4c17b1a16df239e5d6a2e0e6f8b633":[2,2,68,42], -"classPxScene.html#a2f7af5ab3815d6ec6db66603ef8ced4e":[2,2,68,16], -"classPxScene.html#a31d09c0e967f9806a1f0d5df78dfc996":[2,2,68,77], -"classPxScene.html#a32850ee34d1736811c1e93e25c689a68":[2,2,68,62], -"classPxScene.html#a353da44d631c07cacd2f8d85f08cbc09":[2,2,68,90], -"classPxScene.html#a35f231796a325fcf587e681831c5fcb5":[2,2,68,60], -"classPxScene.html#a36f1319b6695b33823529924f389ca3e":[2,2,68,27], -"classPxScene.html#a37b5f1aed7edbae16640e0555d9271ae":[2,2,68,0], -"classPxScene.html#a3cb2b6b3b72cefb94fa9e64ca09660f6":[2,2,68,108], -"classPxScene.html#a4055d302466a1f5cd9d481028b66b20a":[2,2,68,107], -"classPxScene.html#a4c3269f14110636d8e2beee333bfdd71":[2,2,68,28], -"classPxScene.html#a575ed34c73adbd61892d728a688479f3":[2,2,68,99], -"classPxScene.html#a58d87bb19d1a3497bb2ca96eee2b2480":[2,2,68,82], -"classPxScene.html#a593d339e0fd64e47fa3b68016ce723ec":[2,2,68,91], -"classPxScene.html#a5ab05d2a2c908d98aed4ca642c5f394d":[2,2,68,96], -"classPxScene.html#a5ac224256bfbe7380ea3dad4dc6dac06":[2,2,68,31], -"classPxScene.html#a5d004fdc88ed31447aa57ee4f98c14ea":[2,2,68,44], -"classPxScene.html#a6003ed1a202d434ef64439741e3f2de2":[2,2,68,71], -"classPxScene.html#a61f68a8c516aea477cc5328b00c976ed":[2,2,68,80], -"classPxScene.html#a6329c94cc092aff2193c1307e033f6bf":[2,2,68,37], -"classPxScene.html#a64fbe5f25cef90d47fcb1c6428efe15a":[2,2,68,113], -"classPxScene.html#a6610c08a5a92c894dcac9d658e48b7de":[2,2,68,97], -"classPxScene.html#a670748d0b132b7360d76188c2b5262c9":[2,2,68,29], -"classPxScene.html#a6a5610ee50faad60924a332ff4559321":[2,2,68,4], -"classPxScene.html#a6b61683d8acb5e73b2ffb41ebecae589":[2,2,68,8], -"classPxScene.html#a6ba76326fc73e3c5b0361568caec9267":[2,2,68,81], -"classPxScene.html#a6f45a8ee04f0bcd2c23b23daa176bee5":[2,2,68,11], -"classPxScene.html#a6fe48dbf9144be415d63f1d2f3ce0b16":[2,2,68,49], -"classPxScene.html#a71c7735111340425a6ca1b78772ee8be":[2,2,68,6], -"classPxScene.html#a76d9b31b013e4d666e3b5fdea3448887":[2,2,68,51], -"classPxScene.html#a775116b0714ee0884b5f2389e05947f6":[2,2,68,26], -"classPxScene.html#a78c78c1d47c7a3ab9ee234032c438d36":[2,2,68,30], -"classPxScene.html#a7abb1e1354ae3258b91fc097e9d682b8":[2,2,68,65], -"classPxScene.html#a7c036458140a45b23facb9cf2a9cdb84":[2,2,68,73], -"classPxScene.html#a7d7dcd877cee092f8b57c67d79982b50":[2,2,68,79], -"classPxScene.html#a7e1a5eaea13e5f97415dd14690e7ce38":[2,2,68,5], -"classPxScene.html#a7ee023de370ac90a7d4c204d916d3080":[2,2,68,57], -"classPxScene.html#a8951e43f8e23c320c1c90dd552135171":[2,2,68,64], -"classPxScene.html#a89d45878685fa31bb2684c096d2c6918":[2,2,68,76], -"classPxScene.html#a8b689efc2353e9c57abf0182cb3f7dfd":[2,2,68,102], -"classPxScene.html#a8fff11a9236b623ae6c2e45d00c60232":[2,2,68,85], -"classPxScene.html#a951ada59fff16e5c860ccdd5f6d5a1f3":[2,2,68,39], -"classPxScene.html#a952ff4e7b46ff4d3396195e65cd494e6":[2,2,68,32], -"classPxScene.html#a9a9cacecc3b0f6adaf2f3d2168c2aff5":[2,2,68,109], -"classPxScene.html#a9b07b2a98e64105a06e97ffaeba2a63d":[2,2,68,110], -"classPxScene.html#a9e70b9f9ac942c0b90b2b78d45b99708":[2,2,68,18], -"classPxScene.html#a9f212d5f07851efca3731594eccbccfd":[2,2,68,78], -"classPxScene.html#a9fd01bd95bb91adf32f2020a51230cb6":[2,2,68,68], -"classPxScene.html#a9ff7784b4d51acf2d56b9462e256b58b":[2,2,68,98], -"classPxScene.html#aa2b103c61cc84c1df17b82266a17413f":[2,2,68,88], -"classPxScene.html#aa3c625507d5cfaf0f1cb9d26f66be329":[2,2,68,52], -"classPxScene.html#aa3f57314433de21448966c1d9004d71a":[2,2,68,43], -"classPxScene.html#aa531bcd0f349fee87c0c6447869a24cc":[2,2,68,56], -"classPxScene.html#aa77b43c78a62a0c771e5e6404fc55ffe":[2,2,68,59], -"classPxScene.html#aa95c08ef234a55388b297ec657487b69":[2,2,68,54], -"classPxScene.html#aaab5854538e05abbe83c485e9d3ec082":[2,2,68,72], -"classPxScene.html#aac4ee13053cdb7f50ca6c065077c9ee3":[2,2,68,61], -"classPxScene.html#aaca4a2838bc3bf7ffece380c8c7f0f4e":[2,2,68,48], -"classPxScene.html#aad9cc8bf329f4de4b407436f5cd38c98":[2,2,68,105], -"classPxScene.html#aae469799c2e23d06ce5c1079e36df953":[2,2,68,87], -"classPxScene.html#ab0033036e31f91c68d520185ef6c1703":[2,2,68,33], -"classPxScene.html#ab09a3fad6a720283c0a95fe7f76973e4":[2,2,68,55], -"classPxScene.html#ab34e054ccf428a1cdbd81bf1e2b87fae":[2,2,68,17], -"classPxScene.html#ab557fc677e9549c71d36979dfd3ec8c5":[2,2,68,21], -"classPxScene.html#ab562ba2df953188a7e2b99f7ddcda5dc":[2,2,68,106], -"classPxScene.html#ab5b6fb6168a5fb8aa34299cbe73747ed":[2,2,68,20], -"classPxScene.html#ab6224a915d459fb6a1c0899a080f5697":[2,2,68,58], -"classPxScene.html#ab6d9e986e6af967d2bd60a63a0b550c4":[2,2,68,94], -"classPxScene.html#aba2cd20df65cecbc62a08415f9a8a4b8":[2,2,68,1], -"classPxScene.html#abd705ae117336d9d56efcc8717c3f89b":[2,2,68,83], -"classPxScene.html#abe1495d04a1852030c0dec380999525a":[2,2,68,70], -"classPxScene.html#abf2322887ca4db2fdea0229a44e2892c":[2,2,68,95], -"classPxScene.html#ac02554e87f89db490aca6803056db522":[2,2,68,47], -"classPxScene.html#ac320cd782704022cc044a1ef4b0c582f":[2,2,68,15], -"classPxScene.html#ac74778bafc058fbd4e8abd8006c323e8":[2,2,68,38], -"classPxScene.html#ac7b1dccad5d20304653f21c91b09258a":[2,2,68,36], -"classPxScene.html#aca7f8e7bc71ad39645b787bc41ab8c13":[2,2,68,111], -"classPxScene.html#acaae28f21ccf233d0a9c0ad17a1ff5bd":[2,2,68,3], -"classPxScene.html#ace291f68b365a4f1aaa291ba940eff9a":[2,2,68,45], -"classPxScene.html#ad285bee8674cc03378588a32c4f85dda":[2,2,68,69], -"classPxScene.html#ad33763d5f9ee70bf79608d07594ead11":[2,2,68,50], -"classPxScene.html#adc4fb967ae9d0ebd0bbe617b3b987312":[2,2,68,23], -"classPxScene.html#adc85aa20552a55905aa1329722a555d7":[2,2,68,9], -"classPxScene.html#add966317a1feb083e273fd8c12f454b5":[2,2,68,67], -"classPxScene.html#ae220420fdd08f0dabee8b30f5ef2de68":[2,2,68,41], -"classPxScene.html#ae2ad69311278772a479950d0c73f0b75":[2,2,68,24], -"classPxScene.html#ae4e41c3f3c32b955b230b26a86390e0c":[2,2,68,10], -"classPxScene.html#ae5515efb07a300166c0d47adce6acd6f":[2,2,68,19], -"classPxScene.html#aed46505d6eac63a508c7a2d7e39cd5fb":[2,2,68,92], -"classPxScene.html#aeec3367a4461c1ab2e552acdb8c0609e":[2,2,68,93], -"classPxScene.html#af11e6f5eedaa53bb4a1e3420e1c2c531":[2,2,68,66], -"classPxScene.html#af25335de0c6012d9a5d7e78c8272824e":[2,2,68,25], -"classPxScene.html#af2fa25d740641e78ae934c0488f17a4d":[2,2,68,112], -"classPxScene.html#af44b7f47e3d9332a2fcade3e3f766a5d":[2,2,68,53], -"classPxScene.html#af648aa06d19cfec20eeee278719f345c":[2,2,68,86], -"classPxScene.html#affbf0f147c773e2b2d58831df610b1a7":[2,2,68,7], -"classPxSceneDesc.html":[2,2,76], -"classPxSceneDesc.html#a00495fa3240d1087d38cf33eebc313a7":[2,2,76,40], -"classPxSceneDesc.html#a02d696140e9828477c8aa493a048f48a":[2,2,76,11], -"classPxSceneDesc.html#a038ba820b16315ea55c6e12a3cbe2b7f":[2,2,76,14], -"classPxSceneDesc.html#a166d622a6ea49c6e58be0b1d123f03ab":[2,2,76,38], -"classPxSceneDesc.html#a1ff29795e987f8f9b347545468915de2":[2,2,76,39], -"classPxSceneDesc.html#a2000ccfa6287d160b88967769de34b90":[2,2,76,10], -"classPxSceneDesc.html#a26b321b928708c10a047b38ec9127797":[2,2,76,36], -"classPxSceneDesc.html#a3673610cdfbcb84103e2c3840754ecac":[2,2,76,25], -"classPxSceneDesc.html#a3c27c85987bc2be98578f0130f455157":[2,2,76,5], -"classPxSceneDesc.html#a466c85f090678a01f2c6ee85b9584e7a":[2,2,76,33], -"classPxSceneDesc.html#a57fd72417c89bd73fc398678ae153c52":[2,2,76,35], -"classPxSceneDesc.html#a5b8bb05a5b151da44d30986e729172c7":[2,2,76,9], -"classPxSceneDesc.html#a625cdbae7d2149a9df472fb4f9c06f83":[2,2,76,31], -"classPxSceneDesc.html#a63d40516cfbbe7d167d89e6fe55e3834":[2,2,76,41], -"classPxSceneDesc.html#a65aa4ceefbbd6aebd75ea879d7c385f9":[2,2,76,7], -"classPxSceneDesc.html#a65bbe399965691dec83ba3fe1a5082ec":[2,2,76,29], -"classPxSceneDesc.html#a710c03915bbaaa9bdf23925d535c3883":[2,2,76,19], -"classPxSceneDesc.html#a71a00536a56d40fe031de2ced1834941":[2,2,76,34], -"classPxSceneDesc.html#a74dc6e8ebde591ca823a3ea4807fca33":[2,2,76,8], -"classPxSceneDesc.html#a79e2c9c06f711272a48d7f07451117b7":[2,2,76,42], -"classPxSceneDesc.html#a8791132cbe8cce32f051e5eaab774d35":[2,2,76,30], -"classPxSceneDesc.html#a8d6ba51fe74a6c5ea4a46709abb89168":[2,2,76,32], -"classPxSceneDesc.html#a90e220df7cb1f25852d4cc62cecd8869":[2,2,76,27], -"classPxSceneDesc.html#a91b6c205bf684c0f41432a23c1323ee2":[2,2,76,37], -"classPxSceneDesc.html#a9410287c6ea926dad9e2b2374541ad38":[2,2,76,17], -"classPxSceneDesc.html#a9510b1233fb0ab03e9c1d5be44ff5a38":[2,2,76,20], -"classPxSceneDesc.html#a9b0de35c38c43b8aeff6e6f29bf0db20":[2,2,76,26], -"classPxSceneDesc.html#aae577616d3e898347924de90e16188bb":[2,2,76,6], -"classPxSceneDesc.html#ab1f18b0666adb645d92fc2f53373b1e9":[2,2,76,22], -"classPxSceneDesc.html#ab90ebca71afa21639bd99693df30e197":[2,2,76,24], -"classPxSceneDesc.html#ab996312333ef4fdf5f77fcc16b84923e":[2,2,76,28], -"classPxSceneDesc.html#abc7769532392c8e47ec4580677145e34":[2,2,76,3], -"classPxSceneDesc.html#ac02177181688e06f18f504e3ba6327a7":[2,2,76,23], -"classPxSceneDesc.html#ac3270ea72968fc446cacb81a7ce683d3":[2,2,76,15], -"classPxSceneDesc.html#ac74f5f6c12d72b873716f82c2225b725":[2,2,76,12], -"classPxSceneDesc.html#ad55a6e9d290779839659bb2763db2e2a":[2,2,76,13], -"classPxSceneDesc.html#ad9ceb142127cc259aa2f5d322a1494e2":[2,2,76,18], -"classPxSceneDesc.html#aee15ebe1d7155c19866972ecf5cbdd91":[2,2,76,4], -"classPxSceneDesc.html#af707e0c97624aaf6fa9ab2e82aadbecf":[2,2,76,21], -"classPxSceneDesc.html#af7b94475075eb9b43ca32650cd169cc1":[2,2,76,16], -"classPxSceneLimits.html":[2,2,74], -"classPxSceneLimits.html#a2657acecc1cc484fc48a1263f4fc0427":[2,2,74,8], -"classPxSceneLimits.html#a4226fb580e6cf704af33208a931bfd0e":[2,2,74,7], -"classPxSceneLimits.html#a5269e317c229389fc49ed658d60f1a7e":[2,2,74,10], -"classPxSceneLimits.html#a8f662dce363bf4b21782a0d33b309446":[2,2,74,6], -"classPxSceneLimits.html#ac629764140a510c999a83e1b65e796af":[2,2,74,9], -"classPxSceneLimits.html#ad0eaee83c330232159c791093abc0f4c":[2,2,74,5], -"classPxSceneLimits.html#ad44cb62b261514d8937077f75b40c5cc":[2,2,74,4], -"classPxSceneLimits.html#af0a6bbbff2a3c1ce5cf80d2ef3666cf5":[2,2,74,3], +"classPxRigidDynamic.html":[2,2,64], +"classPxRigidDynamic.html#a0f7de8c56c76461555219b2b98d5147a":[2,2,64,21], +"classPxRigidDynamic.html#a16f9f0dfeae6e7877bcebca80df42c92":[2,2,64,17], +"classPxRigidDynamic.html#a1a0232d5a392e204e6b133fd2ab0879e":[2,2,64,7], +"classPxRigidDynamic.html#a2e1d23ebdce36455824949be867128d1":[2,2,64,11], +"classPxRigidDynamic.html#a2fcdafcbc0dd5a691d502b2f7b03a7d7":[2,2,64,8], +"classPxRigidDynamic.html#a3b6ed86370cfd04958ca7e1c637e310b":[2,2,64,5], +"classPxRigidDynamic.html#a43150714d9e16cd056149bad325f0527":[2,2,64,3], +"classPxRigidDynamic.html#a4464d188e7a1e94582c9cf35da9bbc93":[2,2,64,15], +"classPxRigidDynamic.html#a4f1b9e9f437d8b8f27a6e9c2d9ea22fd":[2,2,64,22], +"classPxRigidDynamic.html#a59fb22d9402497cffe1b5e54d9ecd62f":[2,2,64,20], +"classPxRigidDynamic.html#a5f9d98c9bd3b9ab0be7ce1b3ec4a4574":[2,2,64,9], +"classPxRigidDynamic.html#a7cf3e84117da3ec5b499262a3a9f5521":[2,2,64,16], +"classPxRigidDynamic.html#a88dc31fa470c5f37e3e9683534ad83aa":[2,2,64,10], +"classPxRigidDynamic.html#a9380b2f317161026b39c6a296ba9e273":[2,2,64,2], +"classPxRigidDynamic.html#a9e63c1ec6872048e16f7d6b744ec3eef":[2,2,64,1], +"classPxRigidDynamic.html#aa88e055440d6c1cc846e32dbed017345":[2,2,64,6], +"classPxRigidDynamic.html#aae00aa2067a2fe268b999aad04f27c28":[2,2,64,13], +"classPxRigidDynamic.html#aaf537a84cd9b119ed5f77888c600f2ae":[2,2,64,12], +"classPxRigidDynamic.html#ab21ed0e4e1be20fc975fcd3ceeb4e064":[2,2,64,0], +"classPxRigidDynamic.html#abfd510964f2287e81fe76a1a9e1725b5":[2,2,64,14], +"classPxRigidDynamic.html#ac087213f7360a202eaccfab26e97e644":[2,2,64,18], +"classPxRigidDynamic.html#acc91baffa652090e523df5e6627686ed":[2,2,64,4], +"classPxRigidDynamic.html#afa68d947962bc2d0f8862caaf3e8b304":[2,2,64,19], +"classPxRigidStatic.html":[2,2,65], +"classPxRigidStatic.html#a33f405d68b5ec1e8e60d0b361151645c":[2,2,65,0], +"classPxRigidStatic.html#a7881e50c535f44a6d69f40af3baa7ffc":[2,2,65,1], +"classPxRigidStatic.html#a8e7b7b750f554d4e9dd1d2d01f7acec0":[2,2,65,3], +"classPxRigidStatic.html#af464a35ff764f48b0ab8d74cd56db661":[2,2,65,2], +"classPxRigidStatic.html#af8a30e9f27d53c34dcc612ba48ebe811":[2,2,65,4], +"classPxScene.html":[2,2,69], +"classPxScene.html#a033c70c3094db21a2c51246e1a65a0e5":[2,2,69,2], +"classPxScene.html#a03b103772b8c06f2bf5c8192f1cb3f70":[2,2,69,22], +"classPxScene.html#a080866698f34876134941cf42949592b":[2,2,69,13], +"classPxScene.html#a088a9978be5b160b79665d4fb471ec81":[2,2,69,75], +"classPxScene.html#a0acbc97457d54775b6402f3790c3513b":[2,2,69,46], +"classPxScene.html#a0b247a2c4fc704ef4553a2e2958294fc":[2,2,69,84], +"classPxScene.html#a0c756c7ad50f94675d3d8ff9ac12289b":[2,2,69,40], +"classPxScene.html#a0cfa2d3835ea936ecd6ff94fbcefd689":[2,2,69,103], +"classPxScene.html#a0db918a532ef4d36474bf3f46cfad5a8":[2,2,69,104], +"classPxScene.html#a148be23880c4e2d67f9f772066a9f966":[2,2,69,101], +"classPxScene.html#a17c3863f711ef79c08c6054b69fd430c":[2,2,69,12], +"classPxScene.html#a1978693b355df49712d7e59c10c4115d":[2,2,69,35], +"classPxScene.html#a1c9025d9a26efa7b90c8c75cb7126b92":[2,2,69,100], +"classPxScene.html#a1e102ec1b29dea3b588b7507561e656e":[2,2,69,89], +"classPxScene.html#a1e9919abdfb23495a84f47c5157a67b1":[2,2,69,34], +"classPxScene.html#a1fd7e1e617aa9359b56e91e060ad9f90":[2,2,69,63], +"classPxScene.html#a285849425521dd0344f55b4a7c0a834a":[2,2,69,14], +"classPxScene.html#a287734b244b7ff6e40496e65d166ae95":[2,2,69,74], +"classPxScene.html#a2b4c17b1a16df239e5d6a2e0e6f8b633":[2,2,69,42], +"classPxScene.html#a2f7af5ab3815d6ec6db66603ef8ced4e":[2,2,69,16], +"classPxScene.html#a31d09c0e967f9806a1f0d5df78dfc996":[2,2,69,77], +"classPxScene.html#a32850ee34d1736811c1e93e25c689a68":[2,2,69,62], +"classPxScene.html#a353da44d631c07cacd2f8d85f08cbc09":[2,2,69,90], +"classPxScene.html#a35f231796a325fcf587e681831c5fcb5":[2,2,69,60], +"classPxScene.html#a36f1319b6695b33823529924f389ca3e":[2,2,69,27], +"classPxScene.html#a37b5f1aed7edbae16640e0555d9271ae":[2,2,69,0], +"classPxScene.html#a3cb2b6b3b72cefb94fa9e64ca09660f6":[2,2,69,108], +"classPxScene.html#a4055d302466a1f5cd9d481028b66b20a":[2,2,69,107], +"classPxScene.html#a4c3269f14110636d8e2beee333bfdd71":[2,2,69,28], +"classPxScene.html#a575ed34c73adbd61892d728a688479f3":[2,2,69,99], +"classPxScene.html#a58d87bb19d1a3497bb2ca96eee2b2480":[2,2,69,82], +"classPxScene.html#a593d339e0fd64e47fa3b68016ce723ec":[2,2,69,91], +"classPxScene.html#a5ab05d2a2c908d98aed4ca642c5f394d":[2,2,69,96], +"classPxScene.html#a5ac224256bfbe7380ea3dad4dc6dac06":[2,2,69,31], +"classPxScene.html#a5d004fdc88ed31447aa57ee4f98c14ea":[2,2,69,44], +"classPxScene.html#a6003ed1a202d434ef64439741e3f2de2":[2,2,69,71], +"classPxScene.html#a61f68a8c516aea477cc5328b00c976ed":[2,2,69,80], +"classPxScene.html#a6329c94cc092aff2193c1307e033f6bf":[2,2,69,37], +"classPxScene.html#a64fbe5f25cef90d47fcb1c6428efe15a":[2,2,69,113], +"classPxScene.html#a6610c08a5a92c894dcac9d658e48b7de":[2,2,69,97], +"classPxScene.html#a670748d0b132b7360d76188c2b5262c9":[2,2,69,29], +"classPxScene.html#a6a5610ee50faad60924a332ff4559321":[2,2,69,4], +"classPxScene.html#a6b61683d8acb5e73b2ffb41ebecae589":[2,2,69,8], +"classPxScene.html#a6ba76326fc73e3c5b0361568caec9267":[2,2,69,81], +"classPxScene.html#a6f45a8ee04f0bcd2c23b23daa176bee5":[2,2,69,11], +"classPxScene.html#a6fe48dbf9144be415d63f1d2f3ce0b16":[2,2,69,49], +"classPxScene.html#a71c7735111340425a6ca1b78772ee8be":[2,2,69,6], +"classPxScene.html#a76d9b31b013e4d666e3b5fdea3448887":[2,2,69,51], +"classPxScene.html#a775116b0714ee0884b5f2389e05947f6":[2,2,69,26], +"classPxScene.html#a78c78c1d47c7a3ab9ee234032c438d36":[2,2,69,30], +"classPxScene.html#a7abb1e1354ae3258b91fc097e9d682b8":[2,2,69,65], +"classPxScene.html#a7c036458140a45b23facb9cf2a9cdb84":[2,2,69,73], +"classPxScene.html#a7d7dcd877cee092f8b57c67d79982b50":[2,2,69,79], +"classPxScene.html#a7e1a5eaea13e5f97415dd14690e7ce38":[2,2,69,5], +"classPxScene.html#a7ee023de370ac90a7d4c204d916d3080":[2,2,69,57], +"classPxScene.html#a8951e43f8e23c320c1c90dd552135171":[2,2,69,64], +"classPxScene.html#a89d45878685fa31bb2684c096d2c6918":[2,2,69,76], +"classPxScene.html#a8b689efc2353e9c57abf0182cb3f7dfd":[2,2,69,102], +"classPxScene.html#a8fff11a9236b623ae6c2e45d00c60232":[2,2,69,85], +"classPxScene.html#a951ada59fff16e5c860ccdd5f6d5a1f3":[2,2,69,39], +"classPxScene.html#a952ff4e7b46ff4d3396195e65cd494e6":[2,2,69,32], +"classPxScene.html#a9a9cacecc3b0f6adaf2f3d2168c2aff5":[2,2,69,109], +"classPxScene.html#a9b07b2a98e64105a06e97ffaeba2a63d":[2,2,69,110], +"classPxScene.html#a9e70b9f9ac942c0b90b2b78d45b99708":[2,2,69,18], +"classPxScene.html#a9f212d5f07851efca3731594eccbccfd":[2,2,69,78], +"classPxScene.html#a9fd01bd95bb91adf32f2020a51230cb6":[2,2,69,68], +"classPxScene.html#a9ff7784b4d51acf2d56b9462e256b58b":[2,2,69,98], +"classPxScene.html#aa2b103c61cc84c1df17b82266a17413f":[2,2,69,88], +"classPxScene.html#aa3c625507d5cfaf0f1cb9d26f66be329":[2,2,69,52], +"classPxScene.html#aa3f57314433de21448966c1d9004d71a":[2,2,69,43], +"classPxScene.html#aa531bcd0f349fee87c0c6447869a24cc":[2,2,69,56], +"classPxScene.html#aa77b43c78a62a0c771e5e6404fc55ffe":[2,2,69,59], +"classPxScene.html#aa95c08ef234a55388b297ec657487b69":[2,2,69,54], +"classPxScene.html#aaab5854538e05abbe83c485e9d3ec082":[2,2,69,72], +"classPxScene.html#aac4ee13053cdb7f50ca6c065077c9ee3":[2,2,69,61], +"classPxScene.html#aaca4a2838bc3bf7ffece380c8c7f0f4e":[2,2,69,48], +"classPxScene.html#aad9cc8bf329f4de4b407436f5cd38c98":[2,2,69,105], +"classPxScene.html#aae469799c2e23d06ce5c1079e36df953":[2,2,69,87], +"classPxScene.html#ab0033036e31f91c68d520185ef6c1703":[2,2,69,33], +"classPxScene.html#ab09a3fad6a720283c0a95fe7f76973e4":[2,2,69,55], +"classPxScene.html#ab34e054ccf428a1cdbd81bf1e2b87fae":[2,2,69,17], +"classPxScene.html#ab557fc677e9549c71d36979dfd3ec8c5":[2,2,69,21], +"classPxScene.html#ab562ba2df953188a7e2b99f7ddcda5dc":[2,2,69,106], +"classPxScene.html#ab5b6fb6168a5fb8aa34299cbe73747ed":[2,2,69,20], +"classPxScene.html#ab6224a915d459fb6a1c0899a080f5697":[2,2,69,58], +"classPxScene.html#ab6d9e986e6af967d2bd60a63a0b550c4":[2,2,69,94], +"classPxScene.html#aba2cd20df65cecbc62a08415f9a8a4b8":[2,2,69,1], +"classPxScene.html#abd705ae117336d9d56efcc8717c3f89b":[2,2,69,83], +"classPxScene.html#abe1495d04a1852030c0dec380999525a":[2,2,69,70], +"classPxScene.html#abf2322887ca4db2fdea0229a44e2892c":[2,2,69,95], +"classPxScene.html#ac02554e87f89db490aca6803056db522":[2,2,69,47], +"classPxScene.html#ac320cd782704022cc044a1ef4b0c582f":[2,2,69,15], +"classPxScene.html#ac74778bafc058fbd4e8abd8006c323e8":[2,2,69,38], +"classPxScene.html#ac7b1dccad5d20304653f21c91b09258a":[2,2,69,36], +"classPxScene.html#aca7f8e7bc71ad39645b787bc41ab8c13":[2,2,69,111], +"classPxScene.html#acaae28f21ccf233d0a9c0ad17a1ff5bd":[2,2,69,3], +"classPxScene.html#ace291f68b365a4f1aaa291ba940eff9a":[2,2,69,45], +"classPxScene.html#ad285bee8674cc03378588a32c4f85dda":[2,2,69,69], +"classPxScene.html#ad33763d5f9ee70bf79608d07594ead11":[2,2,69,50], +"classPxScene.html#adc4fb967ae9d0ebd0bbe617b3b987312":[2,2,69,23], +"classPxScene.html#adc85aa20552a55905aa1329722a555d7":[2,2,69,9], +"classPxScene.html#add966317a1feb083e273fd8c12f454b5":[2,2,69,67], +"classPxScene.html#ae220420fdd08f0dabee8b30f5ef2de68":[2,2,69,41], +"classPxScene.html#ae2ad69311278772a479950d0c73f0b75":[2,2,69,24], +"classPxScene.html#ae4e41c3f3c32b955b230b26a86390e0c":[2,2,69,10], +"classPxScene.html#ae5515efb07a300166c0d47adce6acd6f":[2,2,69,19], +"classPxScene.html#aed46505d6eac63a508c7a2d7e39cd5fb":[2,2,69,92], +"classPxScene.html#aeec3367a4461c1ab2e552acdb8c0609e":[2,2,69,93], +"classPxScene.html#af11e6f5eedaa53bb4a1e3420e1c2c531":[2,2,69,66], +"classPxScene.html#af25335de0c6012d9a5d7e78c8272824e":[2,2,69,25], +"classPxScene.html#af2fa25d740641e78ae934c0488f17a4d":[2,2,69,112], +"classPxScene.html#af44b7f47e3d9332a2fcade3e3f766a5d":[2,2,69,53], +"classPxScene.html#af648aa06d19cfec20eeee278719f345c":[2,2,69,86], +"classPxScene.html#affbf0f147c773e2b2d58831df610b1a7":[2,2,69,7], +"classPxSceneDesc.html":[2,2,77], +"classPxSceneDesc.html#a00495fa3240d1087d38cf33eebc313a7":[2,2,77,40], +"classPxSceneDesc.html#a02d696140e9828477c8aa493a048f48a":[2,2,77,11], +"classPxSceneDesc.html#a038ba820b16315ea55c6e12a3cbe2b7f":[2,2,77,14], +"classPxSceneDesc.html#a166d622a6ea49c6e58be0b1d123f03ab":[2,2,77,38], +"classPxSceneDesc.html#a1ff29795e987f8f9b347545468915de2":[2,2,77,39], +"classPxSceneDesc.html#a2000ccfa6287d160b88967769de34b90":[2,2,77,10], +"classPxSceneDesc.html#a26b321b928708c10a047b38ec9127797":[2,2,77,36], +"classPxSceneDesc.html#a3673610cdfbcb84103e2c3840754ecac":[2,2,77,25], +"classPxSceneDesc.html#a3c27c85987bc2be98578f0130f455157":[2,2,77,5], +"classPxSceneDesc.html#a466c85f090678a01f2c6ee85b9584e7a":[2,2,77,33], +"classPxSceneDesc.html#a57fd72417c89bd73fc398678ae153c52":[2,2,77,35], +"classPxSceneDesc.html#a5b8bb05a5b151da44d30986e729172c7":[2,2,77,9], +"classPxSceneDesc.html#a625cdbae7d2149a9df472fb4f9c06f83":[2,2,77,31], +"classPxSceneDesc.html#a63d40516cfbbe7d167d89e6fe55e3834":[2,2,77,41], +"classPxSceneDesc.html#a65aa4ceefbbd6aebd75ea879d7c385f9":[2,2,77,7], +"classPxSceneDesc.html#a65bbe399965691dec83ba3fe1a5082ec":[2,2,77,29], +"classPxSceneDesc.html#a710c03915bbaaa9bdf23925d535c3883":[2,2,77,19], +"classPxSceneDesc.html#a71a00536a56d40fe031de2ced1834941":[2,2,77,34], +"classPxSceneDesc.html#a74dc6e8ebde591ca823a3ea4807fca33":[2,2,77,8], +"classPxSceneDesc.html#a79e2c9c06f711272a48d7f07451117b7":[2,2,77,42], +"classPxSceneDesc.html#a8791132cbe8cce32f051e5eaab774d35":[2,2,77,30], +"classPxSceneDesc.html#a8d6ba51fe74a6c5ea4a46709abb89168":[2,2,77,32], +"classPxSceneDesc.html#a90e220df7cb1f25852d4cc62cecd8869":[2,2,77,27], +"classPxSceneDesc.html#a91b6c205bf684c0f41432a23c1323ee2":[2,2,77,37], +"classPxSceneDesc.html#a9410287c6ea926dad9e2b2374541ad38":[2,2,77,17], +"classPxSceneDesc.html#a9510b1233fb0ab03e9c1d5be44ff5a38":[2,2,77,20], +"classPxSceneDesc.html#a9b0de35c38c43b8aeff6e6f29bf0db20":[2,2,77,26], +"classPxSceneDesc.html#aae577616d3e898347924de90e16188bb":[2,2,77,6], +"classPxSceneDesc.html#ab1f18b0666adb645d92fc2f53373b1e9":[2,2,77,22], +"classPxSceneDesc.html#ab90ebca71afa21639bd99693df30e197":[2,2,77,24], +"classPxSceneDesc.html#ab996312333ef4fdf5f77fcc16b84923e":[2,2,77,28], +"classPxSceneDesc.html#abc7769532392c8e47ec4580677145e34":[2,2,77,3], +"classPxSceneDesc.html#ac02177181688e06f18f504e3ba6327a7":[2,2,77,23], +"classPxSceneDesc.html#ac3270ea72968fc446cacb81a7ce683d3":[2,2,77,15], +"classPxSceneDesc.html#ac74f5f6c12d72b873716f82c2225b725":[2,2,77,12], +"classPxSceneDesc.html#ad55a6e9d290779839659bb2763db2e2a":[2,2,77,13], +"classPxSceneDesc.html#ad9ceb142127cc259aa2f5d322a1494e2":[2,2,77,18], +"classPxSceneDesc.html#aee15ebe1d7155c19866972ecf5cbdd91":[2,2,77,4], +"classPxSceneDesc.html#af707e0c97624aaf6fa9ab2e82aadbecf":[2,2,77,21], +"classPxSceneDesc.html#af7b94475075eb9b43ca32650cd169cc1":[2,2,77,16], +"classPxSceneLimits.html":[2,2,75], +"classPxSceneLimits.html#a2657acecc1cc484fc48a1263f4fc0427":[2,2,75,8], +"classPxSceneLimits.html#a4226fb580e6cf704af33208a931bfd0e":[2,2,75,7], +"classPxSceneLimits.html#a5269e317c229389fc49ed658d60f1a7e":[2,2,75,10], +"classPxSceneLimits.html#a8f662dce363bf4b21782a0d33b309446":[2,2,75,6], +"classPxSceneLimits.html#ac629764140a510c999a83e1b65e796af":[2,2,75,9], +"classPxSceneLimits.html#ad0eaee83c330232159c791093abc0f4c":[2,2,75,5], +"classPxSceneLimits.html#ad44cb62b261514d8937077f75b40c5cc":[2,2,75,4], +"classPxSceneLimits.html#af0a6bbbff2a3c1ce5cf80d2ef3666cf5":[2,2,75,3], "classPxSceneQueryExt.html":[2,3,44], "classPxSceneQueryExt.html#a2b2f50e1795b79105c257ffc5817f9e3":[2,3,44,6], "classPxSceneQueryExt.html#a6382f246b8aa6740e4c632421144c9ba":[2,3,44,3], @@ -231,23 +239,15 @@ var NAVTREEINDEX8 = "classPxSceneQueryExt.html#ac873ab4f1e84f68cfe94cf4dd78c51a2":[2,3,44,4], "classPxSceneQueryExt.html#ace866afd7855433007206337d5da42fe":[2,3,44,2], "classPxSceneQueryExt.html#af7e85106326c08d8c98f73e55141eec1":[2,3,44,5], -"classPxSceneReadLock.html":[2,2,77], -"classPxSceneReadLock.html#a3d9fede7ae012ba282191510d78bc263":[2,2,77,3], -"classPxSceneReadLock.html#a7ab5a151068accac3c32694c01b40a34":[2,2,77,4], -"classPxSceneReadLock.html#ac2c7cda40fe1ebcb45a8c771ab00644f":[2,2,77,2], -"classPxSceneReadLock.html#ac6f82c5407164675be3fc767c4e9cecd":[2,2,77,1], -"classPxSceneReadLock.html#aef1281bce24a99ed88fc45e88c702266":[2,2,77,0], -"classPxSceneWriteLock.html":[2,2,78], -"classPxSceneWriteLock.html#a09e6d3e1544bf51e7f60ed43b2a60909":[2,2,78,3], -"classPxSceneWriteLock.html#a3171b8380aa5aecf8f80fcffb347290a":[2,2,78,1], -"classPxSceneWriteLock.html#a35e6e8dc88be6e7dfcc1567181af09d3":[2,2,78,2], -"classPxSceneWriteLock.html#a79dfa45a702ade06c4ca4af9de6ea160":[2,2,78,0], -"classPxSceneWriteLock.html#ace8fdd1122b661e18b2bcec225ede3a9":[2,2,78,4], -"classPxSerialization.html":[2,3,45], -"classPxSerialization.html#a0cf59eda36c56e9e66bac0c2b5168094":[2,3,45,1], -"classPxSerialization.html#a159728a265b7ed81cd5cf329f8cad30e":[2,3,45,10], -"classPxSerialization.html#a1d6242bea0c7513bfbfb24670e5cfb03":[2,3,45,9], -"classPxSerialization.html#a33d7707fb8d82862773a6b9ae1d4782e":[2,3,45,5], -"classPxSerialization.html#a6c64dc9a55f7ae9ffc8c1802855134ed":[2,3,45,3], -"classPxSerialization.html#a84d55e6e21727087653a70cc20557765":[2,3,45,6] +"classPxSceneReadLock.html":[2,2,78], +"classPxSceneReadLock.html#a3d9fede7ae012ba282191510d78bc263":[2,2,78,3], +"classPxSceneReadLock.html#a7ab5a151068accac3c32694c01b40a34":[2,2,78,4], +"classPxSceneReadLock.html#ac2c7cda40fe1ebcb45a8c771ab00644f":[2,2,78,2], +"classPxSceneReadLock.html#ac6f82c5407164675be3fc767c4e9cecd":[2,2,78,1], +"classPxSceneReadLock.html#aef1281bce24a99ed88fc45e88c702266":[2,2,78,0], +"classPxSceneWriteLock.html":[2,2,79], +"classPxSceneWriteLock.html#a09e6d3e1544bf51e7f60ed43b2a60909":[2,2,79,3], +"classPxSceneWriteLock.html#a3171b8380aa5aecf8f80fcffb347290a":[2,2,79,1], +"classPxSceneWriteLock.html#a35e6e8dc88be6e7dfcc1567181af09d3":[2,2,79,2], +"classPxSceneWriteLock.html#a79dfa45a702ade06c4ca4af9de6ea160":[2,2,79,0] }; diff --git a/physx/documentation/PhysXAPI/files/navtreeindex9.js b/physx/documentation/PhysXAPI/files/navtreeindex9.js index 42210cbc9..b5dd1e05a 100644 --- a/physx/documentation/PhysXAPI/files/navtreeindex9.js +++ b/physx/documentation/PhysXAPI/files/navtreeindex9.js @@ -1,5 +1,13 @@ var NAVTREEINDEX9 = { +"classPxSceneWriteLock.html#ace8fdd1122b661e18b2bcec225ede3a9":[2,2,79,4], +"classPxSerialization.html":[2,3,45], +"classPxSerialization.html#a0cf59eda36c56e9e66bac0c2b5168094":[2,3,45,1], +"classPxSerialization.html#a159728a265b7ed81cd5cf329f8cad30e":[2,3,45,10], +"classPxSerialization.html#a1d6242bea0c7513bfbfb24670e5cfb03":[2,3,45,9], +"classPxSerialization.html#a33d7707fb8d82862773a6b9ae1d4782e":[2,3,45,5], +"classPxSerialization.html#a6c64dc9a55f7ae9ffc8c1802855134ed":[2,3,45,3], +"classPxSerialization.html#a84d55e6e21727087653a70cc20557765":[2,3,45,6], "classPxSerialization.html#a86026f68eb651de87e4a7720bc708893":[2,3,45,7], "classPxSerialization.html#a9014b476bfd9e3e9bc7ea755df232bfd":[2,3,45,2], "classPxSerialization.html#acbb99dac3e71e78338ab3eec4ab0ab75":[2,3,45,11], @@ -44,51 +52,51 @@ var NAVTREEINDEX9 = "classPxSerializerDefaultAdapter.html#a8b025cc71d171a5d5f1d1dc0fe816545":[2,3,1,1], "classPxSerializerDefaultAdapter.html#a90784fea8b148d20c0688a8269fa2099":[2,3,1,3], "classPxSerializerDefaultAdapter.html#aea2cb77a709074813a634343497a4f6e":[2,3,1,4], -"classPxShape.html":[2,2,80], -"classPxShape.html#a0166cefbe1d120da68db5f68ddd6ebbc":[2,2,80,19], -"classPxShape.html#a034f5e45e01796a60c77382bc4db3627":[2,2,80,37], -"classPxShape.html#a060ff01d827d559fc8b11385a161eca0":[2,2,80,23], -"classPxShape.html#a07c638b68e14de5e284a03dbcc128d27":[2,2,80,31], -"classPxShape.html#a14fbf4de00134d17b85194487d68ff30":[2,2,80,36], -"classPxShape.html#a165dc6eaf5c58997b90b06176220be37":[2,2,80,30], -"classPxShape.html#a21faab5134bd944a5056c51158e6c60c":[2,2,80,42], -"classPxShape.html#a3709d51079c4c809415d31087ebac65b":[2,2,80,13], -"classPxShape.html#a3c879df184ef40514589c5aa3d1f2a33":[2,2,80,32], -"classPxShape.html#a3f0686821f3f8fe92103e31c293f118b":[2,2,80,8], -"classPxShape.html#a413afb25b39a7a0cf0981aa01c6d7f8b":[2,2,80,40], -"classPxShape.html#a46a4aa44d34de7625129c5d449c26e5d":[2,2,80,3], -"classPxShape.html#a4b66c8a3e1de304cc0a98df14ac2cdb3":[2,2,80,4], -"classPxShape.html#a51a289ac174c48ccc8d0b09d3fd90508":[2,2,80,38], -"classPxShape.html#a531b866a02c9dc59131bc9887c065ff8":[2,2,80,11], -"classPxShape.html#a557b80df942f039122b0ee750d29c552":[2,2,80,43], -"classPxShape.html#a6794af0658d89f3774fd00af259637b9":[2,2,80,29], -"classPxShape.html#a6ab51c8e6ac18603a668d8135d6a3cfb":[2,2,80,17], -"classPxShape.html#a74ff05bd6c8ac9db9fcae9be23c08d82":[2,2,80,0], -"classPxShape.html#a77dcd61c00720726ffcce1fe370f0042":[2,2,80,15], -"classPxShape.html#a7d037f8803d4dff457564e9903452e94":[2,2,80,2], -"classPxShape.html#a800c362a0a6c6c120525876f56378959":[2,2,80,18], -"classPxShape.html#a80bed1030a3740c7d033f65d97ee2ec4":[2,2,80,9], -"classPxShape.html#a8365c22a5780649bd890703b3ebc1f20":[2,2,80,12], -"classPxShape.html#a8515335ab379ef0709b083ea09ce0a00":[2,2,80,6], -"classPxShape.html#a9797f4bf85e72881b3cb90d303a22b91":[2,2,80,28], -"classPxShape.html#a9f32c7cea3b5701de3f815cd64c978df":[2,2,80,35], -"classPxShape.html#aa0c62176ed01c9fb14c26ad7c393963c":[2,2,80,41], -"classPxShape.html#aa7a1ba5182584faa6bddb15e4b3465c3":[2,2,80,1], -"classPxShape.html#ab6cbdfa3d01aa384f4d0109a591d1f12":[2,2,80,21], -"classPxShape.html#abfa95e009f300060ba648637fb685686":[2,2,80,24], -"classPxShape.html#ac3b7dd28df7cad842e33a96775f6a351":[2,2,80,26], -"classPxShape.html#ac6112e8c0ee9803eb3436bbaf673d98a":[2,2,80,34], -"classPxShape.html#ac98191c26e55ecebfd9eb4553c969fab":[2,2,80,39], -"classPxShape.html#acd44b1c761c14e6319475797ec4f9715":[2,2,80,10], -"classPxShape.html#ad36c41170461ca897fa70433d23268fa":[2,2,80,25], -"classPxShape.html#adbaf4b32d62babcbab918fc64d4fcae9":[2,2,80,16], -"classPxShape.html#ae10e641c3e5d77993440abe64c1446ea":[2,2,80,27], -"classPxShape.html#ae4fe68bfc7be057dae8d0c3eac5a725c":[2,2,80,5], -"classPxShape.html#ae5dfb6682fb55f085a642fcfc22270bf":[2,2,80,22], -"classPxShape.html#aee685c949f0bd884717dabead384ac6c":[2,2,80,7], -"classPxShape.html#af455638230d515adbfb561f1064e70a1":[2,2,80,14], -"classPxShape.html#afc179cb4b2146af98c76623d2fc0db6e":[2,2,80,33], -"classPxShape.html#afe05ad6f093d762abaf03e3e0c1de704":[2,2,80,20], +"classPxShape.html":[2,2,81], +"classPxShape.html#a0166cefbe1d120da68db5f68ddd6ebbc":[2,2,81,19], +"classPxShape.html#a034f5e45e01796a60c77382bc4db3627":[2,2,81,37], +"classPxShape.html#a060ff01d827d559fc8b11385a161eca0":[2,2,81,23], +"classPxShape.html#a07c638b68e14de5e284a03dbcc128d27":[2,2,81,31], +"classPxShape.html#a14fbf4de00134d17b85194487d68ff30":[2,2,81,36], +"classPxShape.html#a165dc6eaf5c58997b90b06176220be37":[2,2,81,30], +"classPxShape.html#a21faab5134bd944a5056c51158e6c60c":[2,2,81,42], +"classPxShape.html#a3709d51079c4c809415d31087ebac65b":[2,2,81,13], +"classPxShape.html#a3c879df184ef40514589c5aa3d1f2a33":[2,2,81,32], +"classPxShape.html#a3f0686821f3f8fe92103e31c293f118b":[2,2,81,8], +"classPxShape.html#a413afb25b39a7a0cf0981aa01c6d7f8b":[2,2,81,40], +"classPxShape.html#a46a4aa44d34de7625129c5d449c26e5d":[2,2,81,3], +"classPxShape.html#a4b66c8a3e1de304cc0a98df14ac2cdb3":[2,2,81,4], +"classPxShape.html#a51a289ac174c48ccc8d0b09d3fd90508":[2,2,81,38], +"classPxShape.html#a531b866a02c9dc59131bc9887c065ff8":[2,2,81,11], +"classPxShape.html#a557b80df942f039122b0ee750d29c552":[2,2,81,43], +"classPxShape.html#a6794af0658d89f3774fd00af259637b9":[2,2,81,29], +"classPxShape.html#a6ab51c8e6ac18603a668d8135d6a3cfb":[2,2,81,17], +"classPxShape.html#a74ff05bd6c8ac9db9fcae9be23c08d82":[2,2,81,0], +"classPxShape.html#a77dcd61c00720726ffcce1fe370f0042":[2,2,81,15], +"classPxShape.html#a7d037f8803d4dff457564e9903452e94":[2,2,81,2], +"classPxShape.html#a800c362a0a6c6c120525876f56378959":[2,2,81,18], +"classPxShape.html#a80bed1030a3740c7d033f65d97ee2ec4":[2,2,81,9], +"classPxShape.html#a8365c22a5780649bd890703b3ebc1f20":[2,2,81,12], +"classPxShape.html#a8515335ab379ef0709b083ea09ce0a00":[2,2,81,6], +"classPxShape.html#a9797f4bf85e72881b3cb90d303a22b91":[2,2,81,28], +"classPxShape.html#a9f32c7cea3b5701de3f815cd64c978df":[2,2,81,35], +"classPxShape.html#aa0c62176ed01c9fb14c26ad7c393963c":[2,2,81,41], +"classPxShape.html#aa7a1ba5182584faa6bddb15e4b3465c3":[2,2,81,1], +"classPxShape.html#ab6cbdfa3d01aa384f4d0109a591d1f12":[2,2,81,21], +"classPxShape.html#abfa95e009f300060ba648637fb685686":[2,2,81,24], +"classPxShape.html#ac3b7dd28df7cad842e33a96775f6a351":[2,2,81,26], +"classPxShape.html#ac6112e8c0ee9803eb3436bbaf673d98a":[2,2,81,34], +"classPxShape.html#ac98191c26e55ecebfd9eb4553c969fab":[2,2,81,39], +"classPxShape.html#acd44b1c761c14e6319475797ec4f9715":[2,2,81,10], +"classPxShape.html#ad36c41170461ca897fa70433d23268fa":[2,2,81,25], +"classPxShape.html#adbaf4b32d62babcbab918fc64d4fcae9":[2,2,81,16], +"classPxShape.html#ae10e641c3e5d77993440abe64c1446ea":[2,2,81,27], +"classPxShape.html#ae4fe68bfc7be057dae8d0c3eac5a725c":[2,2,81,5], +"classPxShape.html#ae5dfb6682fb55f085a642fcfc22270bf":[2,2,81,22], +"classPxShape.html#aee685c949f0bd884717dabead384ac6c":[2,2,81,7], +"classPxShape.html#af455638230d515adbfb561f1064e70a1":[2,2,81,14], +"classPxShape.html#afc179cb4b2146af98c76623d2fc0db6e":[2,2,81,33], +"classPxShape.html#afe05ad6f093d762abaf03e3e0c1de704":[2,2,81,20], "classPxShapeExt.html":[2,3,46], "classPxShapeExt.html#a71b7808c2c0623fe264f7973be837897":[2,3,46,1], "classPxShapeExt.html#a9fb19195f3ac80b6ab55fd0aa7a41cf3":[2,3,46,4], @@ -99,56 +107,56 @@ var NAVTREEINDEX9 = "classPxSimpleTriangleMesh.html#a1b39b2bb65a9f246eaa1848e881cf988":[2,7,24,5], "classPxSimpleTriangleMesh.html#a765848d06b09a3452f9923115d5ccdd0":[2,7,24,3], "classPxSimpleTriangleMesh.html#afdeb26b7e3d491fbe041f4bc119e22af":[2,7,24,4], -"classPxSimulationEventCallback.html":[2,2,95], -"classPxSimulationEventCallback.html#a37e6f45b530cfb8536bc2ff14f38e2fe":[2,2,95,6], -"classPxSimulationEventCallback.html#a4dc1da28643ccf9f77c8432b5eb2fd32":[2,2,95,3], -"classPxSimulationEventCallback.html#a614256e6c2570e24cf45e974d6087d38":[2,2,95,4], -"classPxSimulationEventCallback.html#a67c6553ee9090481ece8b041502eb948":[2,2,95,2], -"classPxSimulationEventCallback.html#a768b2ee9fe28736da3fcdc6a0eae9733":[2,2,95,5], -"classPxSimulationEventCallback.html#a86cd9bd80e504054d075fda24498756b":[2,2,95,1], -"classPxSimulationEventCallback.html#ae97f7e6f3dbccaeef1e3fa1578862e88":[2,2,95,0], -"classPxSimulationFilterCallback.html":[2,2,49], -"classPxSimulationFilterCallback.html#a0ba6a20106fd9ef3eca10099be8017da":[2,2,49,3], -"classPxSimulationFilterCallback.html#a385041a8854edf7e7e2281fd56eb9b6b":[2,2,49,0], -"classPxSimulationFilterCallback.html#aa434e6ecd4e0cfa7bede6c9ad10d319e":[2,2,49,1], -"classPxSimulationFilterCallback.html#ada6fcf31c0678d3852f926f545884b3e":[2,2,49,2], -"classPxSimulationStatistics.html":[2,2,96], -"classPxSimulationStatistics.html#a1d5feb904597a5a98d02f39707e6c349":[2,2,96,19], -"classPxSimulationStatistics.html#a2385b3afe6fc6237f7fcbb4712e4ad57":[2,2,96,27], -"classPxSimulationStatistics.html#a38012209b56e1e6993e0955f3a5606d2":[2,2,96,20], -"classPxSimulationStatistics.html#a3a3e17aed5223a69ba3b832f909a6a59":[2,2,96,14], -"classPxSimulationStatistics.html#a3ba1901c4ac662c535daa1ac58987aba":[2,2,96,6], -"classPxSimulationStatistics.html#a4412ac46b492100c5a8446ba3ba35164":[2,2,96,4], -"classPxSimulationStatistics.html#a4903606cb701b7237a92a6a43f8d60ea":[2,2,96,9], -"classPxSimulationStatistics.html#a56865c878c5d74dd30a7ab81e2728c36":[2,2,96,0], -"classPxSimulationStatistics.html#a56865c878c5d74dd30a7ab81e2728c36a13b4e0a4ca71ad756078820ab928c1b3":[2,2,96,0,1], -"classPxSimulationStatistics.html#a56865c878c5d74dd30a7ab81e2728c36a366eae507d69961741d28c3b6c04d576":[2,2,96,0,0], -"classPxSimulationStatistics.html#a56865c878c5d74dd30a7ab81e2728c36a9b0bca86a9a15f66d11b191efbcfb65b":[2,2,96,0,3], -"classPxSimulationStatistics.html#a56865c878c5d74dd30a7ab81e2728c36ae1d23646a3bd6d7cfef7986a92afe270":[2,2,96,0,2], -"classPxSimulationStatistics.html#a5918fad96b0c2c876f333deacb7661c1":[2,2,96,3], -"classPxSimulationStatistics.html#a612d72aad0d4e7adab3bbb5f14135bf1":[2,2,96,25], -"classPxSimulationStatistics.html#a6310732fffde7fa5013aada6ca2434c1":[2,2,96,16], -"classPxSimulationStatistics.html#a717bce9ff3da25dd9250c1746008e52b":[2,2,96,24], -"classPxSimulationStatistics.html#a832a4823ac63af2716b4132aad10b51c":[2,2,96,12], -"classPxSimulationStatistics.html#a84b14e904af17d9c86d158ecea5fb9d1":[2,2,96,21], -"classPxSimulationStatistics.html#a897bc3a4b6dc809b1f04059fe4b4a2af":[2,2,96,18], -"classPxSimulationStatistics.html#a8aebb151f3f50cd831f2a42165ef9409":[2,2,96,28], -"classPxSimulationStatistics.html#a910e1921a55acda66f5c22ee173eda32":[2,2,96,1], -"classPxSimulationStatistics.html#a97dfe63f126e504699c8eeda86ebcb28":[2,2,96,15], -"classPxSimulationStatistics.html#a9b03e0dc11df05eea8ded2e95d01fdcf":[2,2,96,11], -"classPxSimulationStatistics.html#aa1e487295538b16ec29c359082d12976":[2,2,96,31], -"classPxSimulationStatistics.html#aab9b2646eb89d7fb3bb707256be46cf0":[2,2,96,26], -"classPxSimulationStatistics.html#aade3e5f9699bfd0858786f9ed6b7d1c9":[2,2,96,23], -"classPxSimulationStatistics.html#ab56ac5aa68f31b68a0852c87817ff026":[2,2,96,30], -"classPxSimulationStatistics.html#abcb6c70a6d7e5146767b0be74db34cde":[2,2,96,29], -"classPxSimulationStatistics.html#abfacb597d8b72b1d86961dfdb8e768e3":[2,2,96,5], -"classPxSimulationStatistics.html#abfd24df0bcef58fccc82cd06423aeff2":[2,2,96,10], -"classPxSimulationStatistics.html#ac086bc02b779c42c0b38f09c2fde294b":[2,2,96,13], -"classPxSimulationStatistics.html#adb8e7d0a9d70b16a4b7309c4d47685e2":[2,2,96,7], -"classPxSimulationStatistics.html#adcb848b8642fd2bfbc21d589de6a81b6":[2,2,96,2], -"classPxSimulationStatistics.html#ae20e0fabfd1e8dfdec622a496bfbaf83":[2,2,96,22], -"classPxSimulationStatistics.html#af783cd541d93f5f72b64f07cebbbe71a":[2,2,96,8], -"classPxSimulationStatistics.html#afc4203ee9a309b63e0a9638595d28867":[2,2,96,17], +"classPxSimulationEventCallback.html":[2,2,96], +"classPxSimulationEventCallback.html#a37e6f45b530cfb8536bc2ff14f38e2fe":[2,2,96,6], +"classPxSimulationEventCallback.html#a4dc1da28643ccf9f77c8432b5eb2fd32":[2,2,96,3], +"classPxSimulationEventCallback.html#a614256e6c2570e24cf45e974d6087d38":[2,2,96,4], +"classPxSimulationEventCallback.html#a67c6553ee9090481ece8b041502eb948":[2,2,96,2], +"classPxSimulationEventCallback.html#a768b2ee9fe28736da3fcdc6a0eae9733":[2,2,96,5], +"classPxSimulationEventCallback.html#a86cd9bd80e504054d075fda24498756b":[2,2,96,1], +"classPxSimulationEventCallback.html#ae97f7e6f3dbccaeef1e3fa1578862e88":[2,2,96,0], +"classPxSimulationFilterCallback.html":[2,2,50], +"classPxSimulationFilterCallback.html#a0ba6a20106fd9ef3eca10099be8017da":[2,2,50,3], +"classPxSimulationFilterCallback.html#a385041a8854edf7e7e2281fd56eb9b6b":[2,2,50,0], +"classPxSimulationFilterCallback.html#aa434e6ecd4e0cfa7bede6c9ad10d319e":[2,2,50,1], +"classPxSimulationFilterCallback.html#ada6fcf31c0678d3852f926f545884b3e":[2,2,50,2], +"classPxSimulationStatistics.html":[2,2,97], +"classPxSimulationStatistics.html#a1d5feb904597a5a98d02f39707e6c349":[2,2,97,19], +"classPxSimulationStatistics.html#a2385b3afe6fc6237f7fcbb4712e4ad57":[2,2,97,27], +"classPxSimulationStatistics.html#a38012209b56e1e6993e0955f3a5606d2":[2,2,97,20], +"classPxSimulationStatistics.html#a3a3e17aed5223a69ba3b832f909a6a59":[2,2,97,14], +"classPxSimulationStatistics.html#a3ba1901c4ac662c535daa1ac58987aba":[2,2,97,6], +"classPxSimulationStatistics.html#a4412ac46b492100c5a8446ba3ba35164":[2,2,97,4], +"classPxSimulationStatistics.html#a4903606cb701b7237a92a6a43f8d60ea":[2,2,97,9], +"classPxSimulationStatistics.html#a56865c878c5d74dd30a7ab81e2728c36":[2,2,97,0], +"classPxSimulationStatistics.html#a56865c878c5d74dd30a7ab81e2728c36a13b4e0a4ca71ad756078820ab928c1b3":[2,2,97,0,1], +"classPxSimulationStatistics.html#a56865c878c5d74dd30a7ab81e2728c36a366eae507d69961741d28c3b6c04d576":[2,2,97,0,0], +"classPxSimulationStatistics.html#a56865c878c5d74dd30a7ab81e2728c36a9b0bca86a9a15f66d11b191efbcfb65b":[2,2,97,0,3], +"classPxSimulationStatistics.html#a56865c878c5d74dd30a7ab81e2728c36ae1d23646a3bd6d7cfef7986a92afe270":[2,2,97,0,2], +"classPxSimulationStatistics.html#a5918fad96b0c2c876f333deacb7661c1":[2,2,97,3], +"classPxSimulationStatistics.html#a612d72aad0d4e7adab3bbb5f14135bf1":[2,2,97,25], +"classPxSimulationStatistics.html#a6310732fffde7fa5013aada6ca2434c1":[2,2,97,16], +"classPxSimulationStatistics.html#a717bce9ff3da25dd9250c1746008e52b":[2,2,97,24], +"classPxSimulationStatistics.html#a832a4823ac63af2716b4132aad10b51c":[2,2,97,12], +"classPxSimulationStatistics.html#a84b14e904af17d9c86d158ecea5fb9d1":[2,2,97,21], +"classPxSimulationStatistics.html#a897bc3a4b6dc809b1f04059fe4b4a2af":[2,2,97,18], +"classPxSimulationStatistics.html#a8aebb151f3f50cd831f2a42165ef9409":[2,2,97,28], +"classPxSimulationStatistics.html#a910e1921a55acda66f5c22ee173eda32":[2,2,97,1], +"classPxSimulationStatistics.html#a97dfe63f126e504699c8eeda86ebcb28":[2,2,97,15], +"classPxSimulationStatistics.html#a9b03e0dc11df05eea8ded2e95d01fdcf":[2,2,97,11], +"classPxSimulationStatistics.html#aa1e487295538b16ec29c359082d12976":[2,2,97,31], +"classPxSimulationStatistics.html#aab9b2646eb89d7fb3bb707256be46cf0":[2,2,97,26], +"classPxSimulationStatistics.html#aade3e5f9699bfd0858786f9ed6b7d1c9":[2,2,97,23], +"classPxSimulationStatistics.html#ab56ac5aa68f31b68a0852c87817ff026":[2,2,97,30], +"classPxSimulationStatistics.html#abcb6c70a6d7e5146767b0be74db34cde":[2,2,97,29], +"classPxSimulationStatistics.html#abfacb597d8b72b1d86961dfdb8e768e3":[2,2,97,5], +"classPxSimulationStatistics.html#abfd24df0bcef58fccc82cd06423aeff2":[2,2,97,10], +"classPxSimulationStatistics.html#ac086bc02b779c42c0b38f09c2fde294b":[2,2,97,13], +"classPxSimulationStatistics.html#adb8e7d0a9d70b16a4b7309c4d47685e2":[2,2,97,7], +"classPxSimulationStatistics.html#adcb848b8642fd2bfbc21d589de6a81b6":[2,2,97,2], +"classPxSimulationStatistics.html#ae20e0fabfd1e8dfdec622a496bfbaf83":[2,2,97,22], +"classPxSimulationStatistics.html#af783cd541d93f5f72b64f07cebbbe71a":[2,2,97,8], +"classPxSimulationStatistics.html#afc4203ee9a309b63e0a9638595d28867":[2,2,97,17], "classPxSphereGeometry.html":[2,7,25], "classPxSphereGeometry.html#a092be2e608f402b2c2da0309ad6fb2df":[2,7,25,3], "classPxSphereGeometry.html#ab0c426a8db79da6808e364de8d213c28":[2,7,25,0], @@ -203,8 +211,8 @@ var NAVTREEINDEX9 = "classPxStringTable.html#a5a451ae9603c8ee51dac4990434d370f":[2,2,1,0], "classPxStringTable.html#af92a197779888eb772bd18e275dbd965":[2,2,1,2], "classPxStringTable.html#afb3f0ceba601a3541b923c09d6ef14af":[2,2,1,1], -"classPxStringTableExt.html":[3,0,308], -"classPxStringTableExt.html#ab55c61beea368e12068fa362e7f86294":[3,0,308,0], +"classPxStringTableExt.html":[3,0,309], +"classPxStringTableExt.html#ab55c61beea368e12068fa362e7f86294":[3,0,309,0], "classPxTolerancesScale.html":[2,1,19], "classPxTolerancesScale.html#a629358a15988697feaa85759d5c57e33":[2,1,19,3], "classPxTolerancesScale.html#a7d93bf20de0e5b54783eda5bb64effeb":[2,1,19,2], @@ -241,13 +249,5 @@ var NAVTREEINDEX9 = "classPxTriangle.html#a4c5c6f1913b2e0c3bb2fc82a5d3a5971":[2,7,26,1], "classPxTriangle.html#a6d735ae1b3aa144817424b64ce0dc76e":[2,7,26,3], "classPxTriangle.html#aa85f97202f9b4811cdacc3f126da023b":[2,7,26,0], -"classPxTriangle.html#aaf7b90f828324f6ec1d48ef6b1776728":[2,7,26,2], -"classPxTriangle.html#ae4c701d8c6f8ca3cbe652546d063f8fa":[2,7,26,7], -"classPxTriangle.html#afb3fd7854de70dad3983f0e0f21809d6":[2,7,26,6], -"classPxTriangleMesh.html":[2,7,29], -"classPxTriangleMesh.html#a08c203991bc3ad2be59ad6ab048197dc":[2,7,29,12], -"classPxTriangleMesh.html#a0fc4aed5a5f01a0f1b769d3c6534ba8d":[2,7,29,7], -"classPxTriangleMesh.html#a168cc0000372c63857d128d04f1d32fa":[2,7,29,16], -"classPxTriangleMesh.html#a1b5db3f6060849da98024a04ceb991e5":[2,7,29,10], -"classPxTriangleMesh.html#a261ef2fa9709a163408b41d2c34dda71":[2,7,29,13] +"classPxTriangle.html#aaf7b90f828324f6ec1d48ef6b1776728":[2,7,26,2] }; diff --git a/physx/documentation/PhysXAPI/files/search/all_1.js b/physx/documentation/PhysXAPI/files/search/all_1.js index 3a5ca25a0..a3f722f82 100644 --- a/physx/documentation/PhysXAPI/files/search/all_1.js +++ b/physx/documentation/PhysXAPI/files/search/all_1.js @@ -34,6 +34,7 @@ var searchData= ['allocatecachedata',['allocateCacheData',['../classPxCacheAllocator.html#acecb8f552e749cbeff564a72c7d07557',1,'PxCacheAllocator']]], ['allocatestr',['allocateStr',['../classPxStringTable.html#afb3f0ceba601a3541b923c09d6ef14af',1,'PxStringTable']]], ['angbreakforce',['angBreakForce',['../structPxSolverConstraintPrepDesc.html#a7239e20d064498417e90b7630c8a87e1',1,'PxSolverConstraintPrepDesc::angBreakForce()'],['../structPxTGSSolverConstraintPrepDesc.html#a8aa125210bc7775041c4ed07b5d0beca',1,'PxTGSSolverConstraintPrepDesc::angBreakForce()']]], + ['angular',['angular',['../structPxSpatialVelocity.html#a9f786fd589f7cdd251bce4533740a3dc',1,'PxSpatialVelocity::angular()'],['../PxArticulationReducedCoordinate_8h.html#a9603c86a5d2d0bff969100f99e404753',1,'angular(): PxArticulationReducedCoordinate.h']]], ['angular0',['angular0',['../structPxJacobianRow.html#af0b46c79d95cecd37a6abd4a54de5172',1,'PxJacobianRow::angular0()'],['../structPx1DConstraint.html#afaf3f8a6b645f3b48c123ab94016b1c2',1,'Px1DConstraint::angular0()'],['../structPxConstraintInvMassScale.html#a21b735d9ea167a97b1196dac0994aeaa',1,'PxConstraintInvMassScale::angular0()'],['../PxConstraintDesc_8h.html#aedfa5ee532b9709c9c9fd6891cd21a42',1,'angular0(): PxConstraintDesc.h']]], ['angular1',['angular1',['../structPxJacobianRow.html#a4a7c80c1e6d53309c81419efbdf7da93',1,'PxJacobianRow::angular1()'],['../structPx1DConstraint.html#ab7a1efaff54cb4d2fd6e3e7cc01a2503',1,'Px1DConstraint::angular1()'],['../structPxConstraintInvMassScale.html#a98ca9fd97433a912c8ad5b592a2a2cfa',1,'PxConstraintInvMassScale::angular1()'],['../PxConstraintDesc_8h.html#a207b5d9af733005fd408aee31a0e13b4',1,'angular1(): PxConstraintDesc.h']]], ['angulardamping',['angularDamping',['../structPxRigidBodyData.html#a94c9d8403adad700ceeffa7005991d7e',1,'PxRigidBodyData::angularDamping()'],['../structPxMutableLinkData.html#a68d474233833a0f0ba084dcb61e5226c',1,'PxMutableLinkData::angularDamping()']]], diff --git a/physx/documentation/PhysXAPI/files/search/all_10.js b/physx/documentation/PhysXAPI/files/search/all_10.js index 995d6a032..30272272a 100644 --- a/physx/documentation/PhysXAPI/files/search/all_10.js +++ b/physx/documentation/PhysXAPI/files/search/all_10.js @@ -6,8 +6,8 @@ var searchData= ['p',['p',['../classPxTransform.html#ab1a41ac5f4df8e07ba590fa0a8a6e786',1,'PxTransform']]], ['packjointdata',['packJointData',['../classPxArticulationReducedCoordinate.html#a32973e41c51f9dd6ed0168c401d620d7',1,'PxArticulationReducedCoordinate']]], ['pad',['pad',['../classphysx_1_1Gu_1_1ContactBuffer.html#a4f8fabbb2c9690d8fb30f8b6b1459294',1,'physx::Gu::ContactBuffer::pad()'],['../structPxBatchQueryResult.html#ad0b4a79dc77732dc7bbe5c56f50bd4a6',1,'PxBatchQueryResult::pad()'],['../structPxRigidBodyData.html#a1bb93cacad36fcc17492afe83718f8c7',1,'PxRigidBodyData::pad()'],['../structPxSolverBodyData.html#aa406db65fc9a3a26764ffb91dbbad1b7',1,'PxSolverBodyData::pad()'],['../structPxSolverContactDesc.html#a1dd628330696744829667e0c883ed7be',1,'PxSolverContactDesc::pad()'],['../structPxTGSSolverBodyVel.html#a143884acc4bdc567626be91653ed861f',1,'PxTGSSolverBodyVel::pad()'],['../structPxTGSSolverBodyData.html#adf8bec50408d2405fbf2372b13390572',1,'PxTGSSolverBodyData::pad()'],['../classPxVehicleChassisData.html#a7e37b2a81f834c76e9b00bf9b7358421',1,'PxVehicleChassisData::pad()']]], - ['pad0',['pad0',['../structPxSpatialForce.html#a2cdc903082cac57c5458f24dbfa2e1e3',1,'PxSpatialForce::pad0()'],['../PxArticulationReducedCoordinate_8h.html#a38edacc159efc770954897a85a7c8146',1,'pad0(): PxArticulationReducedCoordinate.h']]], - ['pad1',['pad1',['../structPxSpatialForce.html#aee182664c6f1807eb945d3c83ac746b3',1,'PxSpatialForce::pad1()'],['../PxArticulationReducedCoordinate_8h.html#a88c56ce9e0d40d8821c1dc1bd6182ccd',1,'pad1(): PxArticulationReducedCoordinate.h']]], + ['pad0',['pad0',['../structPxSpatialForce.html#a2cdc903082cac57c5458f24dbfa2e1e3',1,'PxSpatialForce::pad0()'],['../structPxSpatialVelocity.html#a02e82818206391c9ece02f9422ba159d',1,'PxSpatialVelocity::pad0()'],['../PxArticulationReducedCoordinate_8h.html#a38edacc159efc770954897a85a7c8146',1,'pad0(): PxArticulationReducedCoordinate.h']]], + ['pad1',['pad1',['../structPxSpatialForce.html#aee182664c6f1807eb945d3c83ac746b3',1,'PxSpatialForce::pad1()'],['../structPxSpatialVelocity.html#a1873df39ae53892ee11f61eecf4493ac',1,'PxSpatialVelocity::pad1()'],['../PxArticulationReducedCoordinate_8h.html#a88c56ce9e0d40d8821c1dc1bd6182ccd',1,'pad1(): PxArticulationReducedCoordinate.h']]], ['paddingfromflags',['paddingFromFlags',['../classPxConvexMeshGeometry.html#ad2bed15287e31918b5ca0051f0604eeb',1,'PxConvexMeshGeometry::paddingFromFlags()'],['../classPxHeightFieldGeometry.html#ac6320ee337895516d651d46be99217d6',1,'PxHeightFieldGeometry::paddingFromFlags()'],['../classPxTriangleMeshGeometry.html#a114bc6e19dc5bc001ef9cedd1b772a03',1,'PxTriangleMeshGeometry::paddingFromFlags()']]], ['padto16bytes',['padTo16Bytes',['../structPxRaycastHit.html#a251f56ec3d168a814467301f61a120c7',1,'PxRaycastHit::padTo16Bytes()'],['../structPxOverlapHit.html#a27b1ad19e9c07c2d6463707b6f18b684',1,'PxOverlapHit::padTo16Bytes()'],['../structPxSweepHit.html#a4bf1a7791ef7aa0d5030fdd2756a607f',1,'PxSweepHit::padTo16Bytes()']]], ['pairfound',['pairFound',['../classPxSimulationFilterCallback.html#aa434e6ecd4e0cfa7bede6c9ad10d319e',1,'PxSimulationFilterCallback']]], @@ -243,6 +243,7 @@ var searchData= ['pxaggregate_2eh',['PxAggregate.h',['../PxAggregate_8h.html',1,'']]], ['pxallocatorcallback',['PxAllocatorCallback',['../classPxAllocatorCallback.html',1,'']]], ['pxallocatorcallback_2eh',['PxAllocatorCallback.h',['../PxAllocatorCallback_8h.html',1,'']]], + ['pxapplyarticulationcache',['PxApplyArticulationCache',['../group__immediatemode.html#gadcdee80ca02f10c0e31a367c7d30ca91',1,'PxImmediateMode.h']]], ['pxarticulation',['PxArticulation',['../classPxArticulation.html',1,'PxArticulation'],['../classPxArticulation.html#a34e5bd7f69fc0de6c32a9bdd86ad42cc',1,'PxArticulation::PxArticulation(PxType concreteType, PxBaseFlags baseFlags)'],['../classPxArticulation.html#ac4581a1b3e03a2fa156dc12a18929361',1,'PxArticulation::PxArticulation(PxBaseFlags baseFlags)']]], ['pxarticulation_2eh',['PxArticulation.h',['../PxArticulation_8h.html',1,'']]], ['pxarticulationaxis',['PxArticulationAxis',['../structPxArticulationAxis.html',1,'']]], @@ -451,10 +452,12 @@ var searchData= ['pxcooking',['PxCooking',['../classPxCooking.html',1,'']]], ['pxcooking_2eh',['PxCooking.h',['../PxCooking_8h.html',1,'']]], ['pxcookingparams',['PxCookingParams',['../structPxCookingParams.html',1,'PxCookingParams'],['../structPxCookingParams.html#a738bc9799f789da5c453cadae5eaec47',1,'PxCookingParams::PxCookingParams()']]], + ['pxcopyinternalstatetoarticulationcache',['PxCopyInternalStateToArticulationCache',['../group__immediatemode.html#ga5d5ba6074b5169c269d7e4c56ac0467d',1,'PxImmediateMode.h']]], ['pxcoreutilitytypes_2eh',['PxCoreUtilityTypes.h',['../PxCoreUtilityTypes_8h.html',1,'']]], ['pxcos',['PxCos',['../group__foundation.html#gacc501523ad3ab46c5a061c4442d10fcf',1,'PxCos(float a): PxMath.h'],['../group__foundation.html#ga903d59eeddf0328e54f1caf8efddf2fc',1,'PxCos(double a): PxMath.h']]], ['pxcpudispatcher',['PxCpuDispatcher',['../classphysx_1_1PxCpuDispatcher.html',1,'physx']]], ['pxcpudispatcher_2eh',['PxCpuDispatcher.h',['../PxCpuDispatcher_8h.html',1,'']]], + ['pxcreatearticulationcache',['PxCreateArticulationCache',['../group__immediatemode.html#gaa29d46bee46ce200c9e8a2a6f353c0a1',1,'PxImmediateMode.h']]], ['pxcreatebasephysics',['PxCreateBasePhysics',['../group__physics.html#gad63c429157f9c8c87fcd0ea2f9b79f66',1,'PxPhysics.h']]], ['pxcreatecollection',['PxCreateCollection',['../group__common.html#gaa3979f24ebe59e173e262c7155b1a489',1,'PxCollection.h']]], ['pxcreatecontactconstraints',['PxCreateContactConstraints',['../group__immediatemode.html#ga02dd00aca33ee58a65f32472719e9b07',1,'PxImmediateMode.h']]], @@ -806,6 +809,7 @@ var searchData= ['pxregisterheightfields',['PxRegisterHeightFields',['../group__physics.html#gae3a84455caaa6a7de67513ea29a315e1',1,'PxPhysics.h']]], ['pxregisterimmediatearticulations',['PxRegisterImmediateArticulations',['../group__immediatemode.html#ga6d8ad8d1a6156da1f4473d4ec4922016',1,'PxImmediateMode.h']]], ['pxreleasearticulation',['PxReleaseArticulation',['../group__immediatemode.html#ga5df3edcbf7b639900668b49ff50eda22',1,'PxImmediateMode.h']]], + ['pxreleasearticulationcache',['PxReleaseArticulationCache',['../group__immediatemode.html#ga5189b5d63b22e3d7e1da1d94aa6854b7',1,'PxImmediateMode.h']]], ['pxrenderbuffer',['PxRenderBuffer',['../classPxRenderBuffer.html',1,'']]], ['pxrenderbuffer_2eh',['PxRenderBuffer.h',['../PxRenderBuffer_8h.html',1,'']]], ['pxrepxinstantiationargs',['PxRepXInstantiationArgs',['../structPxRepXInstantiationArgs.html',1,'PxRepXInstantiationArgs'],['../structPxRepXInstantiationArgs.html#a030a16eab5b43df69854f966c0b95f17',1,'PxRepXInstantiationArgs::PxRepXInstantiationArgs()']]], @@ -832,7 +836,7 @@ var searchData= ['pxrigiddynamic',['PxRigidDynamic',['../classPxRigidDynamic.html',1,'PxRigidDynamic'],['../classPxRigidDynamic.html#ab21ed0e4e1be20fc975fcd3ceeb4e064',1,'PxRigidDynamic::PxRigidDynamic(PxType concreteType, PxBaseFlags baseFlags)'],['../classPxRigidDynamic.html#a9e63c1ec6872048e16f7d6b744ec3eef',1,'PxRigidDynamic::PxRigidDynamic(PxBaseFlags baseFlags)']]], ['pxrigiddynamic_2eh',['PxRigidDynamic.h',['../PxRigidDynamic_8h.html',1,'']]], ['pxrigiddynamiclockflag',['PxRigidDynamicLockFlag',['../structPxRigidDynamicLockFlag.html',1,'']]], - ['pxrigiddynamiclockflags',['PxRigidDynamicLockFlags',['../group__physics.html#gab35e15599f740af43f399ed4ad9f04e8',1,'PxRigidDynamic.h']]], + ['pxrigiddynamiclockflags',['PxRigidDynamicLockFlags',['../group__physics.html#ga5ff75d3f2ba94c58e7f8f928b11ebb8d',1,'PxRigidDynamic.h']]], ['pxrigidstatic',['PxRigidStatic',['../classPxRigidStatic.html',1,'PxRigidStatic'],['../classPxRigidStatic.html#a33f405d68b5ec1e8e60d0b361151645c',1,'PxRigidStatic::PxRigidStatic(PxType concreteType, PxBaseFlags baseFlags)'],['../classPxRigidStatic.html#a7881e50c535f44a6d69f40af3baa7ffc',1,'PxRigidStatic::PxRigidStatic(PxBaseFlags baseFlags)']]], ['pxrigidstatic_2eh',['PxRigidStatic.h',['../PxRigidStatic_8h.html',1,'']]], ['pxscalerigidactor',['PxScaleRigidActor',['../group__extensions.html#ga34084817afc2cfd9f1bb9108c5244b08',1,'PxSimpleFactory.h']]], @@ -910,6 +914,7 @@ var searchData= ['pxsolverdefs_2eh',['PxSolverDefs.h',['../PxSolverDefs_8h.html',1,'']]], ['pxsolvertype',['PxSolverType',['../structPxSolverType.html',1,'']]], ['pxspatialforce',['PxSpatialForce',['../structPxSpatialForce.html',1,'']]], + ['pxspatialvelocity',['PxSpatialVelocity',['../structPxSpatialVelocity.html',1,'']]], ['pxspheregeometry',['PxSphereGeometry',['../classPxSphereGeometry.html',1,'PxSphereGeometry'],['../classPxSphereGeometry.html#ab0c426a8db79da6808e364de8d213c28',1,'PxSphereGeometry::PxSphereGeometry()'],['../classPxSphereGeometry.html#af190d00c7a0b5748e8159eba87cdb23a',1,'PxSphereGeometry::PxSphereGeometry(PxReal ir)']]], ['pxspheregeometry_2eh',['PxSphereGeometry.h',['../PxSphereGeometry_8h.html',1,'']]], ['pxsphericaljoint',['PxSphericalJoint',['../classPxSphericalJoint.html',1,'PxSphericalJoint'],['../classPxSphericalJoint.html#ab06e4205a73a38b86f803b33596ff2b0',1,'PxSphericalJoint::PxSphericalJoint(PxType concreteType, PxBaseFlags baseFlags)'],['../classPxSphericalJoint.html#ac286965aa17ee29f33dfc66723f30116',1,'PxSphericalJoint::PxSphericalJoint(PxBaseFlags baseFlags)']]], @@ -1077,11 +1082,13 @@ var searchData= ['pxvehiclewheels4simdata',['PxVehicleWheels4SimData',['../classPxVehicleWheelData.html#a4c2a2bf5a268389976a6f3c6ffeb1806',1,'PxVehicleWheelData::PxVehicleWheels4SimData()'],['../classPxVehicleSuspensionData.html#a4c2a2bf5a268389976a6f3c6ffeb1806',1,'PxVehicleSuspensionData::PxVehicleWheels4SimData()'],['../classPxVehicleTireData.html#a4c2a2bf5a268389976a6f3c6ffeb1806',1,'PxVehicleTireData::PxVehicleWheels4SimData()']]], ['pxvehiclewheelsdyndata',['PxVehicleWheelsDynData',['../classPxVehicleWheelsDynData.html',1,'PxVehicleWheelsDynData'],['../classPxVehicleWheelsDynData.html#a471098b8f71edd2aa6826422c245d091',1,'PxVehicleWheelsDynData::PxVehicleWheelsDynData()'],['../classPxVehicleWheelsDynData.html#a5243d9d4a70183f44b248df5b39b05d3',1,'PxVehicleWheelsDynData::PxVehicleWheelsDynData(const PxU32 numWheels)']]], ['pxvehiclewheelssimdata',['PxVehicleWheelsSimData',['../classPxVehicleWheelsSimData.html',1,'PxVehicleWheelsSimData'],['../classPxVehicleTireLoadFilterData.html#acecdfc4ceea29cbb9a3fd946c3848bf4',1,'PxVehicleTireLoadFilterData::PxVehicleWheelsSimData()'],['../classPxVehicleAntiRollBarData.html#acecdfc4ceea29cbb9a3fd946c3848bf4',1,'PxVehicleAntiRollBarData::PxVehicleWheelsSimData()'],['../classPxVehicleWheelsSimData.html#a8faa5ac1e9fc745e521224cc3e6750d8',1,'PxVehicleWheelsSimData::PxVehicleWheelsSimData(const PxU32 numWheels)'],['../classPxVehicleWheelsSimData.html#a9fbfa747a9ef9fe0cc1deef89a5b1238',1,'PxVehicleWheelsSimData::PxVehicleWheelsSimData(const PxEMPTY)'],['../classPxVehicleWheelsSimData.html#a6739c902ff9828abceace89afd02fb81',1,'PxVehicleWheelsSimData::PxVehicleWheelsSimData()']]], + ['pxvehiclewheelssimflag',['PxVehicleWheelsSimFlag',['../structPxVehicleWheelsSimFlag.html',1,'']]], + ['pxvehiclewheelssimflags',['PxVehicleWheelsSimFlags',['../group__vehicle.html#gab5de07a7bd475df4e4c41f3f11ddcdb5',1,'PxVehicleWheels.h']]], ['pxvisualizationparameter',['PxVisualizationParameter',['../structPxVisualizationParameter.html',1,'']]], ['pxvisualizationparameter_2eh',['PxVisualizationParameter.h',['../PxVisualizationParameter_8h.html',1,'']]], ['pxwheelqueryresult',['PxWheelQueryResult',['../structPxWheelQueryResult.html',1,'PxWheelQueryResult'],['../structPxWheelQueryResult.html#a161b38c47540b17befebc36c02c8e996',1,'PxWheelQueryResult::PxWheelQueryResult()']]], ['pxwindowsdelayloadhook_2eh',['PxWindowsDelayLoadHook.h',['../PxWindowsDelayLoadHook_8h.html',1,'']]], ['pxwindowsintrinsics_2eh',['PxWindowsIntrinsics.h',['../PxWindowsIntrinsics_8h.html',1,'']]], ['pxxmlmiscparameter',['PxXmlMiscParameter',['../structPxSerialization_1_1PxXmlMiscParameter.html',1,'PxSerialization::PxXmlMiscParameter'],['../structPxSerialization_1_1PxXmlMiscParameter.html#aa23353942908b5783b0d7aebe4ce3205',1,'PxSerialization::PxXmlMiscParameter::PxXmlMiscParameter()'],['../structPxSerialization_1_1PxXmlMiscParameter.html#ab7f05bbfdf68b9cd2445508f40d9a6f1',1,'PxSerialization::PxXmlMiscParameter::PxXmlMiscParameter(PxVec3 &inUpVector, PxTolerancesScale inScale)']]], - ['pxzero',['PxZero',['../group__foundation.html#ggac10bd69c94c165a52f6de39678ef9d4ca0ea259a79d3556f2986a96b5fbf8d4bc',1,'PxZero(): Px.h'],['../group__foundation.html#gac10bd69c94c165a52f6de39678ef9d4c',1,'PxZERO(): Px.h']]] + ['pxzero',['PxZERO',['../group__foundation.html#gac10bd69c94c165a52f6de39678ef9d4c',1,'PxZERO(): Px.h'],['../group__foundation.html#ggac10bd69c94c165a52f6de39678ef9d4ca0ea259a79d3556f2986a96b5fbf8d4bc',1,'PxZero(): Px.h']]] ]; diff --git a/physx/documentation/PhysXAPI/files/search/all_12.js b/physx/documentation/PhysXAPI/files/search/all_12.js index dae9a5cb7..a996f7068 100644 --- a/physx/documentation/PhysXAPI/files/search/all_12.js +++ b/physx/documentation/PhysXAPI/files/search/all_12.js @@ -56,7 +56,7 @@ var searchData= ['requiresobjects',['requiresObjects',['../classPxSerializer.html#af5db22cae0884acf0c53dc8f6daf719f',1,'PxSerializer::requiresObjects()'],['../classPxSerializerDefaultAdapter.html#a480df87ac9da1fa02e6384258cd99f1a',1,'PxSerializerDefaultAdapter::requiresObjects()'],['../classPxVehicleWheels.html#ae58ab064534a9b0256665c60ed8e63d2',1,'PxVehicleWheels::requiresObjects()']]], ['reserveconstraintdata',['reserveConstraintData',['../classPxConstraintAllocator.html#a290d9201d3480594fee91aab84a222ee',1,'PxConstraintAllocator']]], ['reservefrictiondata',['reserveFrictionData',['../classPxConstraintAllocator.html#aa7ac124b5ce281e270b5e9916f1f9568',1,'PxConstraintAllocator']]], - ['reset',['reset',['../classphysx_1_1Gu_1_1ContactBuffer.html#a3e0ba809a9dca51174be563a6ef4a5f4',1,'physx::Gu::ContactBuffer']]], + ['reset',['reset',['../structPxCache.html#a7dfc5d1edea7da1ca1c717178eb21d87',1,'PxCache::reset()'],['../classphysx_1_1Gu_1_1ContactBuffer.html#a3e0ba809a9dca51174be563a6ef4a5f4',1,'physx::Gu::ContactBuffer::reset()']]], ['resetdependencies',['resetDependencies',['../classphysx_1_1PxTaskManager.html#a79606deb50e9eb500c5febb44ba1e764',1,'physx::PxTaskManager']]], ['resetfiltering',['resetFiltering',['../classPxScene.html#af648aa06d19cfec20eeee278719f345c',1,'PxScene::resetFiltering(PxActor &actor)=0'],['../classPxScene.html#aae469799c2e23d06ce5c1079e36df953',1,'PxScene::resetFiltering(PxRigidActor &actor, PxShape *const *shapes, PxU32 shapeCount)=0']]], ['resize',['resize',['../classPxController.html#a4b982db163cd5189357eee4c26430cf6',1,'PxController']]], diff --git a/physx/documentation/PhysXAPI/files/search/all_13.js b/physx/documentation/PhysXAPI/files/search/all_13.js index 9b2344b5e..af1edf64e 100644 --- a/physx/documentation/PhysXAPI/files/search/all_13.js +++ b/physx/documentation/PhysXAPI/files/search/all_13.js @@ -118,7 +118,7 @@ var searchData= ['setexternaldriveiterations',['setExternalDriveIterations',['../classPxArticulation.html#a767fb3ec58b891bcd8dd0d769a5789cf',1,'PxArticulation']]], ['setfiltershaderdata',['setFilterShaderData',['../classPxScene.html#a5ab05d2a2c908d98aed4ca642c5f394d',1,'PxScene']]], ['setflag',['setFlag',['../classPxConstraint.html#a95488eea1d5847d3d1408c3d5cdf2576',1,'PxConstraint::setFlag()'],['../classPxMaterial.html#a3dbcd175e805766442291c1285eafe8c',1,'PxMaterial::setFlag()'],['../classPxScene.html#a6610c08a5a92c894dcac9d658e48b7de',1,'PxScene::setFlag()'],['../classPxShape.html#a3c879df184ef40514589c5aa3d1f2a33',1,'PxShape::setFlag()']]], - ['setflags',['setFlags',['../classPxConstraint.html#a2d697724814976973b1de9e303e15b3f',1,'PxConstraint::setFlags()'],['../classPxMaterial.html#a452856bae712ad60a281ec45a4bd69a9',1,'PxMaterial::setFlags()'],['../classPxShape.html#afc179cb4b2146af98c76623d2fc0db6e',1,'PxShape::setFlags()']]], + ['setflags',['setFlags',['../classPxConstraint.html#a2d697724814976973b1de9e303e15b3f',1,'PxConstraint::setFlags()'],['../classPxMaterial.html#a452856bae712ad60a281ec45a4bd69a9',1,'PxMaterial::setFlags()'],['../classPxShape.html#afc179cb4b2146af98c76623d2fc0db6e',1,'PxShape::setFlags()'],['../classPxVehicleWheelsSimData.html#a3720f1b1894f707381a5a54e61996d7d',1,'PxVehicleWheelsSimData::setFlags()']]], ['setfootposition',['setFootPosition',['../classPxController.html#ab09889972859bf03168d1d48434094ff',1,'PxController']]], ['setforceandtorque',['setForceAndTorque',['../classPxRigidBody.html#ae1cf856d4059ff6b422b2c58f91d242f',1,'PxRigidBody']]], ['setfrictioncoefficient',['setFrictionCoefficient',['../classPxArticulationJointReducedCoordinate.html#abeba41ebc0abfe5beafb20f0396ad4a2',1,'PxArticulationJointReducedCoordinate']]], diff --git a/physx/documentation/PhysXAPI/files/search/all_14.js b/physx/documentation/PhysXAPI/files/search/all_14.js index 17eb2ae81..0c9a8a683 100644 --- a/physx/documentation/PhysXAPI/files/search/all_14.js +++ b/physx/documentation/PhysXAPI/files/search/all_14.js @@ -49,7 +49,7 @@ var searchData= ['tt_5fcompleted',['TT_COMPLETED',['../structphysx_1_1PxTaskType.html#ae5545e371cf86793e4a0d395e4ebdb6ba25bbc57d255402b6790c14eb8347f4e5',1,'physx::PxTaskType']]], ['tt_5fcpu',['TT_CPU',['../structphysx_1_1PxTaskType.html#ae5545e371cf86793e4a0d395e4ebdb6ba27553f47b12c277e0cb685240cb8b9b3',1,'physx::PxTaskType']]], ['tt_5fnot_5fpresent',['TT_NOT_PRESENT',['../structphysx_1_1PxTaskType.html#ae5545e371cf86793e4a0d395e4ebdb6bac5b78680f329287a850b9f852c80acd2',1,'physx::PxTaskType']]], - ['type',['type',['../structPxMetaDataEntry.html#af798a0e7beeb8caf4ddbd713fc0994c6',1,'PxMetaDataEntry::type()'],['../structPxFeatherstoneArticulationJointData.html#a4af74cf4f2211f48e01fea26c1e7caed',1,'PxFeatherstoneArticulationJointData::type()'],['../structPxContactPairExtraDataItem.html#a18e83c33b02a0a57f0daf818379e06d6',1,'PxContactPairExtraDataItem::type()'],['../structPxConstraintInfo.html#a324fadc19904fff635aa9d16da7a21f9',1,'PxConstraintInfo::type()'],['../structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76',1,'Px1DConstraintFlag::Type()']]], + ['type',['Type',['../structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76',1,'Px1DConstraintFlag::Type()'],['../structPxMetaDataEntry.html#af798a0e7beeb8caf4ddbd713fc0994c6',1,'PxMetaDataEntry::type()'],['../structPxFeatherstoneArticulationJointData.html#a4af74cf4f2211f48e01fea26c1e7caed',1,'PxFeatherstoneArticulationJointData::type()'],['../structPxContactPairExtraDataItem.html#a18e83c33b02a0a57f0daf818379e06d6',1,'PxContactPairExtraDataItem::type()'],['../structPxConstraintInfo.html#a324fadc19904fff635aa9d16da7a21f9',1,'PxConstraintInfo::type()']]], ['typematch',['typeMatch',['../classPxBase.html#a3782ca64c8f12c41443f604e300fc207',1,'PxBase']]], ['typename',['typeName',['../structPxRepXObject.html#a0c78e70aff2c5ede506a1279562e494a',1,'PxRepXObject']]] ]; diff --git a/physx/documentation/PhysXAPI/files/search/all_5.js b/physx/documentation/PhysXAPI/files/search/all_5.js index 5827a1a12..c96b58dc7 100644 --- a/physx/documentation/PhysXAPI/files/search/all_5.js +++ b/physx/documentation/PhysXAPI/files/search/all_5.js @@ -160,7 +160,7 @@ var searchData= ['edrive4w',['eDRIVE4W',['../structPxVehicleTypes.html#a8e3dab2de8d47cbd9d22c8e27af4bacbaa0ca57466c4e1ab3dd7c932000b676af',1,'PxVehicleTypes']]], ['edrive_5fenabled',['eDRIVE_ENABLED',['../structPxRevoluteJointFlag.html#ada2c678da47fe6828e338052480a40c8ad387b53d77257448f9da1e59904dae0a',1,'PxRevoluteJointFlag']]], ['edrive_5ffreespin',['eDRIVE_FREESPIN',['../structPxRevoluteJointFlag.html#ada2c678da47fe6828e338052480a40c8ae4cc26353809ad046c7f6d1be7ac8f8e',1,'PxRevoluteJointFlag']]], - ['edrive_5flimits_5fare_5fforces',['eDRIVE_LIMITS_ARE_FORCES',['../structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a330ccf346c5056c0570dbc495007d1ce',1,'PxConstraintFlag']]], + ['edrive_5flimits_5fare_5fforces',['eDRIVE_LIMITS_ARE_FORCES',['../structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a330ccf346c5056c0570dbc495007d1ce',1,'PxConstraintFlag::eDRIVE_LIMITS_ARE_FORCES()'],['../structPxArticulationFlag.html#a89b0e25f041302ae04e5cc0b509a7609a0bc0b9ec065971fd2708868f819f27d5',1,'PxArticulationFlag::eDRIVE_LIMITS_ARE_FORCES()']]], ['edrive_5frow',['eDRIVE_ROW',['../structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76a244fc1fabbf49fb8d9fce48d1ba0e4e9',1,'Px1DConstraintFlag']]], ['edrivenw',['eDRIVENW',['../structPxVehicleTypes.html#a8e3dab2de8d47cbd9d22c8e27af4bacbabdd83f480ed743cfb5addf04f230b13e',1,'PxVehicleTypes']]], ['edrivetank',['eDRIVETANK',['../structPxVehicleTypes.html#a8e3dab2de8d47cbd9d22c8e27af4bacba5159c978ab78d819f2d78f08ea980ceb',1,'PxVehicleTypes']]], @@ -251,8 +251,11 @@ var searchData= ['elarge_5ftriangle',['eLARGE_TRIANGLE',['../structPxTriangleMeshCookingResult.html#abe8e2312c47cc522a546c34ea337fb64a75b84c38d545ffeae116074dac39856d',1,'PxTriangleMeshCookingResult']]], ['elast',['eLast',['../structPxJointConcreteType.html#a52e35818303a604ee07b32af31c486daa0ce97aa66061e4dfa42aee7d7b0cab55',1,'PxJointConcreteType::eLast()'],['../structPxCapsuleClimbingMode.html#aa5842460fe36a16e5f1f5b1383db9ef5a539d1d99a17207871e15defbbc6b1817',1,'PxCapsuleClimbingMode::eLAST()'],['../structPxMeshMidPhase.html#a49f740883fbfb1a49631c28818c219f4a16776340ef05fd5d3f45ef37a0631e03',1,'PxMeshMidPhase::eLAST()'],['../structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7ddaa76ebc67e9bc983ffc69765595e777a95',1,'PxBroadPhaseType::eLAST()'],['../structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9a613753bdd7051b3f88c0199549ee41bb',1,'PxPruningStructureType::eLAST()']]], ['elimit_5fenabled',['eLIMIT_ENABLED',['../structPxPrismaticJointFlag.html#ad175483117d7036cc021df8ac7dc15f4ad6c3de45c0cecf5446dc5045656ccb4c',1,'PxPrismaticJointFlag::eLIMIT_ENABLED()'],['../structPxRevoluteJointFlag.html#ada2c678da47fe6828e338052480a40c8aa285947133025bc7958602b33c6251c2',1,'PxRevoluteJointFlag::eLIMIT_ENABLED()'],['../structPxSphericalJointFlag.html#afc657f6cb078dd077c835e798ac56561adc8bbdc303d98a76306bf70548b6435c',1,'PxSphericalJointFlag::eLIMIT_ENABLED()']]], + ['elimit_5fsuspension_5fexpansion_5fvelocity',['eLIMIT_SUSPENSION_EXPANSION_VELOCITY',['../structPxVehicleWheelsSimFlag.html#ae22cac8835a33a55a7bddc2223638d60a75d4ea0ed70a2383d36939a947f50849',1,'PxVehicleWheelsSimFlag']]], ['elimited',['eLIMITED',['../structPxD6Motion.html#ac93106f83ed65cc6bf206fb9ba3994dca309552869b971c8ac6894140d405db4a',1,'PxD6Motion::eLIMITED()'],['../structPxArticulationMotion.html#af04dcaf188047e88858bb7352bdfe879a93e73f43c42672207a2abf9904d47a50',1,'PxArticulationMotion::eLIMITED()']]], ['elimits',['eLIMITS',['../structPxConstraintVisualizationFlag.html#a6896ce95dcc5f3a691b561c6ae3a6c3bac0031dd6a0c8f69c8d1adb369c40b79e',1,'PxConstraintVisualizationFlag']]], + ['elinkacceleration',['eLINKACCELERATION',['../classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea1ee0f9a7f94765e59bc93944a434af54',1,'PxArticulationCache']]], + ['elinkvelocity',['eLINKVELOCITY',['../classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14eacaf9eee2de38014ce959feb30fba9d1b',1,'PxArticulationCache']]], ['elocal_5fframes',['eLOCAL_FRAMES',['../structPxConstraintVisualizationFlag.html#a6896ce95dcc5f3a691b561c6ae3a6c3bad6cbcec686244113170adf566b1c50f6',1,'PxConstraintVisualizationFlag']]], ['elock_5fangular_5fx',['eLOCK_ANGULAR_X',['../structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1acd29b90fdd453256db7d95f8d168ffd4',1,'PxRigidDynamicLockFlag']]], ['elock_5fangular_5fy',['eLOCK_ANGULAR_Y',['../structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1aa8df9ce7f49c12ce3f686bd862f86fe6',1,'PxRigidDynamicLockFlag']]], @@ -309,7 +312,7 @@ var searchData= ['eno_5fboundary_5fedges',['eNO_BOUNDARY_EDGES',['../structPxHeightFieldFlag.html#ad94e98dce64e8c6f9806a20548548668ab602d69a9ee1ab863ab17f503592ff2e',1,'PxHeightFieldFlag']]], ['eno_5ferror',['eNO_ERROR',['../structPxErrorCode.html#a01157d5d2eca2cede61ecbbc32c7b2a3a3f3e15f9946df5f301d1fe4b656df267',1,'PxErrorCode']]], ['enodrive',['eNODRIVE',['../structPxVehicleTypes.html#a8e3dab2de8d47cbd9d22c8e27af4bacba55b0f71d4462431b819f71266e0044e6',1,'PxVehicleTypes']]], - ['enone',['eNONE',['../structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9cab6869486b64cea747bc34cec4403c261',1,'PxControllerDebugRenderFlag::eNONE()'],['../structPxConverterReportMode.html#aabe051209d39df379f39bbe45bf4f1a3a5ebeeface34f3fdc582dffcfb718ec74',1,'PxConverterReportMode::eNONE()'],['../structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97eaf766284eef4df1c7f5998017fbe767ef',1,'PxConstraintSolveHint::eNONE()'],['../structPxQueryHitType.html#acab1ef408184995d169330ed689b79e3a7e26b51ca324ac45d44d4b70203a2996',1,'PxQueryHitType::eNONE()'],['../structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9a667e19208a1fd5b2215e452ac9754b6e',1,'PxPruningStructureType::eNONE()']]], + ['enone',['eNONE',['../structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9cab6869486b64cea747bc34cec4403c261',1,'PxControllerDebugRenderFlag::eNONE()'],['../structPxConverterReportMode.html#aabe051209d39df379f39bbe45bf4f1a3a5ebeeface34f3fdc582dffcfb718ec74',1,'PxConverterReportMode::eNONE()'],['../structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97eaf766284eef4df1c7f5998017fbe767ef',1,'PxConstraintSolveHint::eNONE()'],['../structPxQueryHitType.html#acab1ef408184995d169330ed689b79e3a7e26b51ca324ac45d44d4b70203a2996',1,'PxQueryHitType::eNONE()'],['../structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9a667e19208a1fd5b2215e452ac9754b6e',1,'PxPruningStructureType::eNONE()'],['../structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a3fda091699a60c74bfb7f1999cd47c1a',1,'PxArticulationDriveType::eNONE()']]], ['enormal',['eNORMAL',['../structPxConverterReportMode.html#aabe051209d39df379f39bbe45bf4f1a3a74cb273dc39f72e0ae096cc059917946',1,'PxConverterReportMode::eNORMAL()'],['../structPxHitFlag.html#a44c173f6ddf0522ffbd8fa3c585e6b64a5972f664c2fbe85c992fb9aaba46a5cf',1,'PxHitFlag::eNORMAL()']]], ['enotify',['eNOTIFY',['../structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083afbb0680c3ea5447f44fc90560bd7dd8f',1,'PxFilterFlag']]], ['enotify_5fcontact_5fpoints',['eNOTIFY_CONTACT_POINTS',['../structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fadb30cb0c2d2859560b34c684ac076137',1,'PxPairFlag']]], @@ -320,7 +323,7 @@ var searchData= ['enotify_5ftouch_5ffound',['eNOTIFY_TOUCH_FOUND',['../structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fabd8650de69997eaa7c5717e347ca74ac',1,'PxPairFlag']]], ['enotify_5ftouch_5flost',['eNOTIFY_TOUCH_LOST',['../structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa201281be698379417370bf7b0aeeb78e',1,'PxPairFlag']]], ['enotify_5ftouch_5fpersists',['eNOTIFY_TOUCH_PERSISTS',['../structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fa69f6e6373fe2f024618f752c388ef6b1',1,'PxPairFlag']]], - ['enum',['Enum',['../structPxCapsuleClimbingMode.html#aa5842460fe36a16e5f1f5b1383db9ef5',1,'PxCapsuleClimbingMode::Enum()'],['../structPxControllerShapeType.html#a46022b44cb41038a1b05bcaa6e043d03',1,'PxControllerShapeType::Enum()'],['../structPxControllerNonWalkableMode.html#a4dd560c274d7c9076469ae267ffa87f2',1,'PxControllerNonWalkableMode::Enum()'],['../structPxControllerCollisionFlag.html#ab8257830a035142d00b1adf70b559169',1,'PxControllerCollisionFlag::Enum()'],['../structPxControllerBehaviorFlag.html#aa8d6dfaac2847892e8c5b76eb4d1d55b',1,'PxControllerBehaviorFlag::Enum()'],['../structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9c',1,'PxControllerDebugRenderFlag::Enum()'],['../structPxBaseFlag.html#ac258de0c7adaa37f81b6ab1b0c86a6ee',1,'PxBaseFlag::Enum()'],['../structPxMetaDataFlag.html#a5125f2eba9d78234a2bc7a00b3c3654c',1,'PxMetaDataFlag::Enum()'],['../structPxDebugColor.html#affaed1e04fc675d60f04e2c4d949dcf2',1,'PxDebugColor::Enum()'],['../structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8',1,'PxConcreteType::Enum()'],['../structPxMeshCookingHint.html#af88f4aeeaffd545c26bc9b5215303796',1,'PxMeshCookingHint::Enum()'],['../structPxConvexFlag.html#a4b7bd21fa96c72b320a39e880208b4b6',1,'PxConvexFlag::Enum()'],['../structPxConvexMeshCookingResult.html#ac1c7b1cbfc80b0af00bec95faf1ebf42',1,'PxConvexMeshCookingResult::Enum()'],['../structPxConvexMeshCookingType.html#a5a2ae723aca74c185675cd7ba2c9c115',1,'PxConvexMeshCookingType::Enum()'],['../structPxTriangleMeshCookingResult.html#abe8e2312c47cc522a546c34ea337fb64',1,'PxTriangleMeshCookingResult::Enum()'],['../structPxMeshPreprocessingFlag.html#ad2a46fe74aef20eff5860acd661bc8f8',1,'PxMeshPreprocessingFlag::Enum()'],['../structPxConverterReportMode.html#aabe051209d39df379f39bbe45bf4f1a3',1,'PxConverterReportMode::Enum()'],['../structPxConstraintExtIDs.html#a10c7860bd807cde6ae3992c05fc489ed',1,'PxConstraintExtIDs::Enum()'],['../structPxD6Axis.html#a0a15eb4ffcf285b3bd8289ddca128880',1,'PxD6Axis::Enum()'],['../structPxD6Motion.html#ac93106f83ed65cc6bf206fb9ba3994dc',1,'PxD6Motion::Enum()'],['../structPxD6Drive.html#a08b14ae53dcb83687f9f53580121240e',1,'PxD6Drive::Enum()'],['../structPxD6JointDriveFlag.html#a0560fd8c87c7004eb8c52a17a549e42e',1,'PxD6JointDriveFlag::Enum()'],['../structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8b',1,'PxFilterOp::Enum()'],['../structPxDistanceJointFlag.html#a739197f319da75b41a1f3fbcc39607d9',1,'PxDistanceJointFlag::Enum()'],['../structPxJointConcreteType.html#a52e35818303a604ee07b32af31c486da',1,'PxJointConcreteType::Enum()'],['../structPxJointActorIndex.html#a1d62e1a8618a5ff4802335f99d4c5bd1',1,'PxJointActorIndex::Enum()'],['../structPxPrismaticJointFlag.html#ad175483117d7036cc021df8ac7dc15f4',1,'PxPrismaticJointFlag::Enum()'],['../structPxRevoluteJointFlag.html#ada2c678da47fe6828e338052480a40c8',1,'PxRevoluteJointFlag::Enum()'],['../structPxSphericalJointFlag.html#afc657f6cb078dd077c835e798ac56561',1,'PxSphericalJointFlag::Enum()'],['../structPxConvexMeshGeometryFlag.html#a4d8558cca9e3f622b336550b96c25662',1,'PxConvexMeshGeometryFlag::Enum()'],['../structPxGeometryType.html#aefc79f72c4c479192ac19d41a6f30ed5',1,'PxGeometryType::Enum()'],['../structPxHeightFieldFormat.html#ad28e3afa439f8ff1df6067288c46d9c5',1,'PxHeightFieldFormat::Enum()'],['../structPxHeightFieldTessFlag.html#a274a8d599dcea03e3c0d907b26cd1b80',1,'PxHeightFieldTessFlag::Enum()'],['../structPxHeightFieldFlag.html#ad94e98dce64e8c6f9806a20548548668',1,'PxHeightFieldFlag::Enum()'],['../structPxHeightFieldMaterial.html#ab983db3533aff06d7362efdfac3948ec',1,'PxHeightFieldMaterial::Enum()'],['../structPxMeshFlag.html#a62a41b4a381e3e59d85181a62b9ce0cc',1,'PxMeshFlag::Enum()'],['../structPxMeshMidPhase.html#a49f740883fbfb1a49631c28818c219f4',1,'PxMeshMidPhase::Enum()'],['../structPxTriangleMeshFlag.html#a7d0d36347f7c197a4bdbec68ccc074cc',1,'PxTriangleMeshFlag::Enum()'],['../structPxMeshGeometryFlag.html#aa4f762855200599fc014b0654f7ce2c9',1,'PxMeshGeometryFlag::Enum()'],['../structPxPvdInstrumentationFlag.html#ae5be1bcb179a96c601194126230aeede',1,'PxPvdInstrumentationFlag::Enum()'],['../structPxPvdSceneFlag.html#afa6d3e9f667028233457051fe78042bd',1,'PxPvdSceneFlag::Enum()'],['../structPxActorFlag.html#a1bc4c717e79cd547bdbe09a179ee9f1d',1,'PxActorFlag::Enum()'],['../structPxActorType.html#a25c5a270f1f5c1955a00d7554f7688d7',1,'PxActorType::Enum()'],['../structPxArticulationJointDriveType.html#ac6be2c7afe87dd7755dae4aa7a0fdfe2',1,'PxArticulationJointDriveType::Enum()'],['../classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14e',1,'PxArticulationCache::Enum()'],['../structPxBatchQueryStatus.html#a65079b6fb3edafc98c6101bd6bc9b306',1,'PxBatchQueryStatus::Enum()'],['../structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7dda',1,'PxBroadPhaseType::Enum()'],['../structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427',1,'PxConstraintFlag::Enum()'],['../structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97e',1,'PxConstraintSolveHint::Enum()'],['../structPxConstraintVisualizationFlag.html#a6896ce95dcc5f3a691b561c6ae3a6c3b',1,'PxConstraintVisualizationFlag::Enum()'],['../structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821e',1,'PxPvdUpdateType::Enum()'],['../structPxDeletionEventFlag.html#a77bf8900dd0107b612cdc7d86cb796f6',1,'PxDeletionEventFlag::Enum()'],['../structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2f',1,'PxPairFlag::Enum()'],['../structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083',1,'PxFilterFlag::Enum()'],['../structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cf',1,'PxFilterObjectType::Enum()'],['../structPxFilterObjectFlag.html#a7230bf2cf2ad3d35c4adb45187666419',1,'PxFilterObjectFlag::Enum()'],['../structPxPairFilteringMode.html#aeaa62ad327b874e4b199022401bf7615',1,'PxPairFilteringMode::Enum()'],['../structPxForceMode.html#aadaaafefe0478d829b816154c676e545',1,'PxForceMode::Enum()'],['../structPxDataAccessFlag.html#ab6bd468adf2809435d24c9fe4882b6be',1,'PxDataAccessFlag::Enum()'],['../structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298',1,'PxMaterialFlag::Enum()'],['../structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727',1,'PxCombineMode::Enum()'],['../structPxQueryFlag.html#a2124ff0cff0a021e01e6880a1bba431f',1,'PxQueryFlag::Enum()'],['../structPxQueryHitType.html#acab1ef408184995d169330ed689b79e3',1,'PxQueryHitType::Enum()'],['../structPxHitFlag.html#a44c173f6ddf0522ffbd8fa3c585e6b64',1,'PxHitFlag::Enum()'],['../structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596',1,'PxRigidBodyFlag::Enum()'],['../structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1',1,'PxRigidDynamicLockFlag::Enum()'],['../structPxActorTypeFlag.html#a62171a3f7d2dfa4b4b87285afdf6bae4',1,'PxActorTypeFlag::Enum()'],['../structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9',1,'PxPruningStructureType::Enum()'],['../structPxSceneQueryUpdateMode.html#a04e575a313bce592e2b404eedf89a9d4',1,'PxSceneQueryUpdateMode::Enum()'],['../structPxFrictionType.html#a603c53fd85805e2528a338252496a96b',1,'PxFrictionType::Enum()'],['../structPxSolverType.html#a96adc2f8785c6b18805a18b03289dbe6',1,'PxSolverType::Enum()'],['../structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53',1,'PxSceneFlag::Enum()'],['../structPxShapeFlag.html#a6edb481aaa3a998c5d6dd3fc4ad87f1a',1,'PxShapeFlag::Enum()'],['../structPxContactPairExtraDataType.html#aba00bd5468b1e16d9b473f573ddc2ccf',1,'PxContactPairExtraDataType::Enum()'],['../structPxContactPairHeaderFlag.html#a143dcb345f5c81bd542d33e67085ba3a',1,'PxContactPairHeaderFlag::Enum()'],['../structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9',1,'PxContactPairFlag::Enum()'],['../structPxTriggerPairFlag.html#aa3c006812673a9dc0a2a87e2be483ebb',1,'PxTriggerPairFlag::Enum()'],['../structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10',1,'PxVisualizationParameter::Enum()'],['../structPxArticulationAxis.html#a5c835f1d727bfc738d1fc7a7595d7395',1,'PxArticulationAxis::Enum()'],['../structPxArticulationMotion.html#af04dcaf188047e88858bb7352bdfe879',1,'PxArticulationMotion::Enum()'],['../structPxArticulationJointType.html#a0df5bb8217acae97e63421bedbfe0a0b',1,'PxArticulationJointType::Enum()'],['../structPxArticulationFlag.html#a89b0e25f041302ae04e5cc0b509a7609',1,'PxArticulationFlag::Enum()'],['../structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66',1,'PxArticulationDriveType::Enum()'],['../structphysx_1_1PxTaskType.html#ae5545e371cf86793e4a0d395e4ebdb6b',1,'physx::PxTaskType::Enum()'],['../classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7',1,'PxVehicleGearsData::Enum()'],['../classPxVehicleDifferential4WData.html#a17b180dce7605d603eb5a562bc70949d',1,'PxVehicleDifferential4WData::Enum()'],['../structPxVehicleClutchAccuracyMode.html#a8cb4ae31cf929f344f2049939b9f61ce',1,'PxVehicleClutchAccuracyMode::Enum()'],['../structPxVehicleDrive4WWheelOrder.html#a68b3b8d5f53acb4985dd0815960545e2',1,'PxVehicleDrive4WWheelOrder::Enum()'],['../structPxVehicleDrive4WControl.html#a72fd4871288500845821292d33bb6c83',1,'PxVehicleDrive4WControl::Enum()'],['../structPxVehicleDriveNWControl.html#a4c668dab35f0480ce1508b4151747427',1,'PxVehicleDriveNWControl::Enum()'],['../structPxVehicleDriveTankWheelOrder.html#ad777dedf3db655580fb92de098646cb7',1,'PxVehicleDriveTankWheelOrder::Enum()'],['../structPxVehicleDriveTankControl.html#a13e9cce8dce77a82f7598c930d0c0c5c',1,'PxVehicleDriveTankControl::Enum()'],['../structPxVehicleDriveTankControlModel.html#a15800ba4f6142803c1b0d0098a942b13',1,'PxVehicleDriveTankControlModel::Enum()'],['../structPxVehicleTypes.html#a8e3dab2de8d47cbd9d22c8e27af4bacb',1,'PxVehicleTypes::Enum()'],['../structPxVehicleConcreteType.html#a8fdbed173444606d4ac4d0f78cac039a',1,'PxVehicleConcreteType::Enum()'],['../structPxVehicleUpdateMode.html#ac04dae30cbaf5d57733b9da361bd7118',1,'PxVehicleUpdateMode::Enum()'],['../structPxErrorCode.html#a01157d5d2eca2cede61ecbbc32c7b2a3',1,'PxErrorCode::Enum()']]], + ['enum',['Enum',['../structPxCapsuleClimbingMode.html#aa5842460fe36a16e5f1f5b1383db9ef5',1,'PxCapsuleClimbingMode::Enum()'],['../structPxControllerShapeType.html#a46022b44cb41038a1b05bcaa6e043d03',1,'PxControllerShapeType::Enum()'],['../structPxControllerNonWalkableMode.html#a4dd560c274d7c9076469ae267ffa87f2',1,'PxControllerNonWalkableMode::Enum()'],['../structPxControllerCollisionFlag.html#ab8257830a035142d00b1adf70b559169',1,'PxControllerCollisionFlag::Enum()'],['../structPxControllerBehaviorFlag.html#aa8d6dfaac2847892e8c5b76eb4d1d55b',1,'PxControllerBehaviorFlag::Enum()'],['../structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9c',1,'PxControllerDebugRenderFlag::Enum()'],['../structPxBaseFlag.html#ac258de0c7adaa37f81b6ab1b0c86a6ee',1,'PxBaseFlag::Enum()'],['../structPxMetaDataFlag.html#a5125f2eba9d78234a2bc7a00b3c3654c',1,'PxMetaDataFlag::Enum()'],['../structPxDebugColor.html#affaed1e04fc675d60f04e2c4d949dcf2',1,'PxDebugColor::Enum()'],['../structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8',1,'PxConcreteType::Enum()'],['../structPxMeshCookingHint.html#af88f4aeeaffd545c26bc9b5215303796',1,'PxMeshCookingHint::Enum()'],['../structPxConvexFlag.html#a4b7bd21fa96c72b320a39e880208b4b6',1,'PxConvexFlag::Enum()'],['../structPxConvexMeshCookingResult.html#ac1c7b1cbfc80b0af00bec95faf1ebf42',1,'PxConvexMeshCookingResult::Enum()'],['../structPxConvexMeshCookingType.html#a5a2ae723aca74c185675cd7ba2c9c115',1,'PxConvexMeshCookingType::Enum()'],['../structPxTriangleMeshCookingResult.html#abe8e2312c47cc522a546c34ea337fb64',1,'PxTriangleMeshCookingResult::Enum()'],['../structPxMeshPreprocessingFlag.html#ad2a46fe74aef20eff5860acd661bc8f8',1,'PxMeshPreprocessingFlag::Enum()'],['../structPxConverterReportMode.html#aabe051209d39df379f39bbe45bf4f1a3',1,'PxConverterReportMode::Enum()'],['../structPxConstraintExtIDs.html#a10c7860bd807cde6ae3992c05fc489ed',1,'PxConstraintExtIDs::Enum()'],['../structPxD6Axis.html#a0a15eb4ffcf285b3bd8289ddca128880',1,'PxD6Axis::Enum()'],['../structPxD6Motion.html#ac93106f83ed65cc6bf206fb9ba3994dc',1,'PxD6Motion::Enum()'],['../structPxD6Drive.html#a08b14ae53dcb83687f9f53580121240e',1,'PxD6Drive::Enum()'],['../structPxD6JointDriveFlag.html#a0560fd8c87c7004eb8c52a17a549e42e',1,'PxD6JointDriveFlag::Enum()'],['../structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8b',1,'PxFilterOp::Enum()'],['../structPxDistanceJointFlag.html#a739197f319da75b41a1f3fbcc39607d9',1,'PxDistanceJointFlag::Enum()'],['../structPxJointConcreteType.html#a52e35818303a604ee07b32af31c486da',1,'PxJointConcreteType::Enum()'],['../structPxJointActorIndex.html#a1d62e1a8618a5ff4802335f99d4c5bd1',1,'PxJointActorIndex::Enum()'],['../structPxPrismaticJointFlag.html#ad175483117d7036cc021df8ac7dc15f4',1,'PxPrismaticJointFlag::Enum()'],['../structPxRevoluteJointFlag.html#ada2c678da47fe6828e338052480a40c8',1,'PxRevoluteJointFlag::Enum()'],['../structPxSphericalJointFlag.html#afc657f6cb078dd077c835e798ac56561',1,'PxSphericalJointFlag::Enum()'],['../structPxConvexMeshGeometryFlag.html#a4d8558cca9e3f622b336550b96c25662',1,'PxConvexMeshGeometryFlag::Enum()'],['../structPxGeometryType.html#aefc79f72c4c479192ac19d41a6f30ed5',1,'PxGeometryType::Enum()'],['../structPxHeightFieldFormat.html#ad28e3afa439f8ff1df6067288c46d9c5',1,'PxHeightFieldFormat::Enum()'],['../structPxHeightFieldTessFlag.html#a274a8d599dcea03e3c0d907b26cd1b80',1,'PxHeightFieldTessFlag::Enum()'],['../structPxHeightFieldFlag.html#ad94e98dce64e8c6f9806a20548548668',1,'PxHeightFieldFlag::Enum()'],['../structPxHeightFieldMaterial.html#ab983db3533aff06d7362efdfac3948ec',1,'PxHeightFieldMaterial::Enum()'],['../structPxMeshFlag.html#a62a41b4a381e3e59d85181a62b9ce0cc',1,'PxMeshFlag::Enum()'],['../structPxMeshMidPhase.html#a49f740883fbfb1a49631c28818c219f4',1,'PxMeshMidPhase::Enum()'],['../structPxTriangleMeshFlag.html#a7d0d36347f7c197a4bdbec68ccc074cc',1,'PxTriangleMeshFlag::Enum()'],['../structPxMeshGeometryFlag.html#aa4f762855200599fc014b0654f7ce2c9',1,'PxMeshGeometryFlag::Enum()'],['../structPxPvdInstrumentationFlag.html#ae5be1bcb179a96c601194126230aeede',1,'PxPvdInstrumentationFlag::Enum()'],['../structPxPvdSceneFlag.html#afa6d3e9f667028233457051fe78042bd',1,'PxPvdSceneFlag::Enum()'],['../structPxActorFlag.html#a1bc4c717e79cd547bdbe09a179ee9f1d',1,'PxActorFlag::Enum()'],['../structPxActorType.html#a25c5a270f1f5c1955a00d7554f7688d7',1,'PxActorType::Enum()'],['../structPxArticulationJointDriveType.html#ac6be2c7afe87dd7755dae4aa7a0fdfe2',1,'PxArticulationJointDriveType::Enum()'],['../classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14e',1,'PxArticulationCache::Enum()'],['../structPxBatchQueryStatus.html#a65079b6fb3edafc98c6101bd6bc9b306',1,'PxBatchQueryStatus::Enum()'],['../structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7dda',1,'PxBroadPhaseType::Enum()'],['../structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427',1,'PxConstraintFlag::Enum()'],['../structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97e',1,'PxConstraintSolveHint::Enum()'],['../structPxConstraintVisualizationFlag.html#a6896ce95dcc5f3a691b561c6ae3a6c3b',1,'PxConstraintVisualizationFlag::Enum()'],['../structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821e',1,'PxPvdUpdateType::Enum()'],['../structPxDeletionEventFlag.html#a77bf8900dd0107b612cdc7d86cb796f6',1,'PxDeletionEventFlag::Enum()'],['../structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2f',1,'PxPairFlag::Enum()'],['../structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083',1,'PxFilterFlag::Enum()'],['../structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cf',1,'PxFilterObjectType::Enum()'],['../structPxFilterObjectFlag.html#a7230bf2cf2ad3d35c4adb45187666419',1,'PxFilterObjectFlag::Enum()'],['../structPxPairFilteringMode.html#aeaa62ad327b874e4b199022401bf7615',1,'PxPairFilteringMode::Enum()'],['../structPxForceMode.html#aadaaafefe0478d829b816154c676e545',1,'PxForceMode::Enum()'],['../structPxDataAccessFlag.html#ab6bd468adf2809435d24c9fe4882b6be',1,'PxDataAccessFlag::Enum()'],['../structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298',1,'PxMaterialFlag::Enum()'],['../structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727',1,'PxCombineMode::Enum()'],['../structPxQueryFlag.html#a2124ff0cff0a021e01e6880a1bba431f',1,'PxQueryFlag::Enum()'],['../structPxQueryHitType.html#acab1ef408184995d169330ed689b79e3',1,'PxQueryHitType::Enum()'],['../structPxHitFlag.html#a44c173f6ddf0522ffbd8fa3c585e6b64',1,'PxHitFlag::Enum()'],['../structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596',1,'PxRigidBodyFlag::Enum()'],['../structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1',1,'PxRigidDynamicLockFlag::Enum()'],['../structPxActorTypeFlag.html#a62171a3f7d2dfa4b4b87285afdf6bae4',1,'PxActorTypeFlag::Enum()'],['../structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9',1,'PxPruningStructureType::Enum()'],['../structPxSceneQueryUpdateMode.html#a04e575a313bce592e2b404eedf89a9d4',1,'PxSceneQueryUpdateMode::Enum()'],['../structPxFrictionType.html#a603c53fd85805e2528a338252496a96b',1,'PxFrictionType::Enum()'],['../structPxSolverType.html#a96adc2f8785c6b18805a18b03289dbe6',1,'PxSolverType::Enum()'],['../structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53',1,'PxSceneFlag::Enum()'],['../structPxShapeFlag.html#a6edb481aaa3a998c5d6dd3fc4ad87f1a',1,'PxShapeFlag::Enum()'],['../structPxContactPairExtraDataType.html#aba00bd5468b1e16d9b473f573ddc2ccf',1,'PxContactPairExtraDataType::Enum()'],['../structPxContactPairHeaderFlag.html#a143dcb345f5c81bd542d33e67085ba3a',1,'PxContactPairHeaderFlag::Enum()'],['../structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9',1,'PxContactPairFlag::Enum()'],['../structPxTriggerPairFlag.html#aa3c006812673a9dc0a2a87e2be483ebb',1,'PxTriggerPairFlag::Enum()'],['../structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10',1,'PxVisualizationParameter::Enum()'],['../structPxArticulationAxis.html#a5c835f1d727bfc738d1fc7a7595d7395',1,'PxArticulationAxis::Enum()'],['../structPxArticulationMotion.html#af04dcaf188047e88858bb7352bdfe879',1,'PxArticulationMotion::Enum()'],['../structPxArticulationJointType.html#a0df5bb8217acae97e63421bedbfe0a0b',1,'PxArticulationJointType::Enum()'],['../structPxArticulationFlag.html#a89b0e25f041302ae04e5cc0b509a7609',1,'PxArticulationFlag::Enum()'],['../structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66',1,'PxArticulationDriveType::Enum()'],['../structphysx_1_1PxTaskType.html#ae5545e371cf86793e4a0d395e4ebdb6b',1,'physx::PxTaskType::Enum()'],['../classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7',1,'PxVehicleGearsData::Enum()'],['../classPxVehicleDifferential4WData.html#a17b180dce7605d603eb5a562bc70949d',1,'PxVehicleDifferential4WData::Enum()'],['../structPxVehicleClutchAccuracyMode.html#a8cb4ae31cf929f344f2049939b9f61ce',1,'PxVehicleClutchAccuracyMode::Enum()'],['../structPxVehicleDrive4WWheelOrder.html#a68b3b8d5f53acb4985dd0815960545e2',1,'PxVehicleDrive4WWheelOrder::Enum()'],['../structPxVehicleDrive4WControl.html#a72fd4871288500845821292d33bb6c83',1,'PxVehicleDrive4WControl::Enum()'],['../structPxVehicleDriveNWControl.html#a4c668dab35f0480ce1508b4151747427',1,'PxVehicleDriveNWControl::Enum()'],['../structPxVehicleDriveTankWheelOrder.html#ad777dedf3db655580fb92de098646cb7',1,'PxVehicleDriveTankWheelOrder::Enum()'],['../structPxVehicleDriveTankControl.html#a13e9cce8dce77a82f7598c930d0c0c5c',1,'PxVehicleDriveTankControl::Enum()'],['../structPxVehicleDriveTankControlModel.html#a15800ba4f6142803c1b0d0098a942b13',1,'PxVehicleDriveTankControlModel::Enum()'],['../structPxVehicleTypes.html#a8e3dab2de8d47cbd9d22c8e27af4bacb',1,'PxVehicleTypes::Enum()'],['../structPxVehicleConcreteType.html#a8fdbed173444606d4ac4d0f78cac039a',1,'PxVehicleConcreteType::Enum()'],['../structPxVehicleUpdateMode.html#ac04dae30cbaf5d57733b9da361bd7118',1,'PxVehicleUpdateMode::Enum()'],['../structPxVehicleWheelsSimFlag.html#ae22cac8835a33a55a7bddc2223638d60',1,'PxVehicleWheelsSimFlag::Enum()'],['../structPxErrorCode.html#a01157d5d2eca2cede61ecbbc32c7b2a3',1,'PxErrorCode::Enum()']]], ['enum_5fvalues',['eNUM_VALUES',['../structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10a0c40daf35b0de6c839d05bd35c0cf5da',1,'PxVisualizationParameter']]], ['eobstacles',['eOBSTACLES',['../structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9ca5a38627c1acae4a4c1c6a5e41cd71e53',1,'PxControllerDebugRenderFlag']]], ['eone_5fdirectional',['eONE_DIRECTIONAL',['../structPxFrictionType.html#a603c53fd85805e2528a338252496a96ba3db131f3d5cb7b55f36e0b0d2e3cac6d',1,'PxFrictionType']]], @@ -409,7 +412,7 @@ var searchData= ['eswing',['eSWING',['../structPxD6Drive.html#a08b14ae53dcb83687f9f53580121240ea143677ab99bd57647c8e26516bc506a1',1,'PxD6Drive']]], ['eswing1',['eSWING1',['../structPxD6Axis.html#a0a15eb4ffcf285b3bd8289ddca128880ae9f4bbfb50eaf463e7b1dd406ed1957b',1,'PxD6Axis::eSWING1()'],['../structPxArticulationAxis.html#a5c835f1d727bfc738d1fc7a7595d7395a2e1a274c036f8b7846476dbfe2015fec',1,'PxArticulationAxis::eSWING1()']]], ['eswing2',['eSWING2',['../structPxD6Axis.html#a0a15eb4ffcf285b3bd8289ddca128880ac6058852beed87da5e9e10f153358f60',1,'PxD6Axis::eSWING2()'],['../structPxArticulationAxis.html#a5c835f1d727bfc738d1fc7a7595d7395a33f154c8d454ab3f08f03f512cc03972',1,'PxArticulationAxis::eSWING2()']]], - ['etarget',['eTARGET',['../structPxArticulationJointDriveType.html#ac6be2c7afe87dd7755dae4aa7a0fdfe2a6efbffee5445ed12550a3cb4f1e1cd9e',1,'PxArticulationJointDriveType']]], + ['etarget',['eTARGET',['../structPxArticulationJointDriveType.html#ac6be2c7afe87dd7755dae4aa7a0fdfe2a6efbffee5445ed12550a3cb4f1e1cd9e',1,'PxArticulationJointDriveType::eTARGET()'],['../structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a23e638128e210cafb190ebc3b74b946c',1,'PxArticulationDriveType::eTARGET()']]], ['etemporal_5fbv',['eTEMPORAL_BV',['../structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9caebb20da3030ba4d86cc768d774fa21ae',1,'PxControllerDebugRenderFlag']]], ['etenth',['eTENTH',['../classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a476cfd6e181dbe556b5f84b65f3a94b6',1,'PxVehicleGearsData']]], ['etgs',['eTGS',['../structPxSolverType.html#a96adc2f8785c6b18805a18b03289dbe6ac62cf152c5d6a5e1a12eebc81b0b6e6d',1,'PxSolverType']]], @@ -456,7 +459,7 @@ var searchData= ['evehicledrivenw',['eVehicleDriveNW',['../structPxVehicleConcreteType.html#a8fdbed173444606d4ac4d0f78cac039aad2458cf0a9f26579e4893890cca19e0c',1,'PxVehicleConcreteType']]], ['evehicledrivetank',['eVehicleDriveTank',['../structPxVehicleConcreteType.html#a8fdbed173444606d4ac4d0f78cac039aa59dee7e9fd5f6e8083af8f634db0c0e4',1,'PxVehicleConcreteType']]], ['evehiclenodrive',['eVehicleNoDrive',['../structPxVehicleConcreteType.html#a8fdbed173444606d4ac4d0f78cac039aadee222f7317a5a841cbd3cd865c289a6',1,'PxVehicleConcreteType']]], - ['evelocity',['eVELOCITY',['../classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea2b507b08dbfaa208d407d857295a857b',1,'PxArticulationCache']]], + ['evelocity',['eVELOCITY',['../classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea2b507b08dbfaa208d407d857295a857b',1,'PxArticulationCache::eVELOCITY()'],['../structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a251a5fda8faa00b14528a841e481c38b',1,'PxArticulationDriveType::eVELOCITY()']]], ['evelocity_5fchange',['eVELOCITY_CHANGE',['../structPxForceMode.html#aadaaafefe0478d829b816154c676e545a9f25946973fec4c78991859e8bf76376',1,'PxForceMode::eVELOCITY_CHANGE()'],['../structPxVehicleUpdateMode.html#ac04dae30cbaf5d57733b9da361bd7118a30be9beaf2dd7db11f3003109b96cffb',1,'PxVehicleUpdateMode::eVELOCITY_CHANGE()']]], ['eventpose',['eventPose',['../structPxContactPairExtraDataIterator.html#adcdd22f0243e8e2ffc81241a8831074c',1,'PxContactPairExtraDataIterator']]], ['events',['events',['../structPxContactPair.html#acba0b9958ac5d3884c515f94234b9c20',1,'PxContactPair']]], diff --git a/physx/documentation/PhysXAPI/files/search/all_7.js b/physx/documentation/PhysXAPI/files/search/all_7.js index 0650628c8..3d30bcbc4 100644 --- a/physx/documentation/PhysXAPI/files/search/all_7.js +++ b/physx/documentation/PhysXAPI/files/search/all_7.js @@ -144,7 +144,7 @@ var searchData= ['getfiltershader',['getFilterShader',['../classPxScene.html#aa3f57314433de21448966c1d9004d71a',1,'PxScene']]], ['getfiltershaderdata',['getFilterShaderData',['../classPxBatchQuery.html#a279f956d9c09cb6d0b59ff5103982c37',1,'PxBatchQuery::getFilterShaderData()'],['../classPxScene.html#a5d004fdc88ed31447aa57ee4f98c14ea',1,'PxScene::getFilterShaderData()']]], ['getfiltershaderdatasize',['getFilterShaderDataSize',['../classPxBatchQuery.html#a7213f11f610f088b8d98a075c795d61a',1,'PxBatchQuery::getFilterShaderDataSize()'],['../classPxScene.html#ace291f68b365a4f1aaa291ba940eff9a',1,'PxScene::getFilterShaderDataSize()']]], - ['getflags',['getFlags',['../classPxHeightField.html#a30f6798a40d3f1dad7bf79bae941e082',1,'PxHeightField::getFlags()'],['../classPxConstraint.html#a45297b7f2310005fd74f3e7be995b0f8',1,'PxConstraint::getFlags()'],['../classPxMaterial.html#af8fca7a3079e8da26c8275a9fe3ce635',1,'PxMaterial::getFlags()'],['../classPxScene.html#a0acbc97457d54775b6402f3790c3513b',1,'PxScene::getFlags()'],['../classPxShape.html#acd44b1c761c14e6319475797ec4f9715',1,'PxShape::getFlags()']]], + ['getflags',['getFlags',['../classPxHeightField.html#a30f6798a40d3f1dad7bf79bae941e082',1,'PxHeightField::getFlags()'],['../classPxConstraint.html#a45297b7f2310005fd74f3e7be995b0f8',1,'PxConstraint::getFlags()'],['../classPxMaterial.html#af8fca7a3079e8da26c8275a9fe3ce635',1,'PxMaterial::getFlags()'],['../classPxScene.html#a0acbc97457d54775b6402f3790c3513b',1,'PxScene::getFlags()'],['../classPxShape.html#acd44b1c761c14e6319475797ec4f9715',1,'PxShape::getFlags()'],['../classPxVehicleWheelsSimData.html#a52131b5c5288c9eeea1d3c647d4c079f',1,'PxVehicleWheelsSimData::getFlags()']]], ['getfootposition',['getFootPosition',['../classPxController.html#a401af38fab565432d05b87112b26b816',1,'PxController']]], ['getforce',['getForce',['../classPxConstraint.html#a5838f1118a15b32ca27a6b89e6580cf4',1,'PxConstraint']]], ['getformat',['getFormat',['../classPxHeightField.html#a99d233a5a8ab9a835b5b2fd2115d639e',1,'PxHeightField']]], @@ -206,8 +206,10 @@ var searchData= ['getlinearlimit',['getLinearLimit',['../classPxD6Joint.html#a32d91467d415a46bdf1e55291ae4f71a',1,'PxD6Joint::getLinearLimit() const'],['../classPxD6Joint.html#a4400ad4b1a072f10af325de0bbd69183',1,'PxD6Joint::getLinearLimit(PxD6Axis::Enum axis) const =0']]], ['getlinearvelocity',['getLinearVelocity',['../classPxRigidBody.html#a04bab22deecb716e2cdd7a64b5cfaee7',1,'PxRigidBody']]], ['getlines',['getLines',['../classPxRenderBuffer.html#a48683764dfb58f5b79693ec267790bb2',1,'PxRenderBuffer']]], + ['getlinkacceleration',['getLinkAcceleration',['../classPxArticulationReducedCoordinate.html#ab51ab4c2ab36f1b409a1aa0468f0fe71',1,'PxArticulationReducedCoordinate']]], ['getlinkindex',['getLinkIndex',['../classPxArticulationLink.html#a0686545a15b3556524d0d6914a804a4c',1,'PxArticulationLink']]], ['getlinks',['getLinks',['../classPxArticulationBase.html#a03f24f5c1efdf092602ee6e689827133',1,'PxArticulationBase']]], + ['getlinkvelocity',['getLinkVelocity',['../classPxArticulationReducedCoordinate.html#a4520151744be7de9835c9f90291468c3',1,'PxArticulationReducedCoordinate']]], ['getlocalbounds',['getLocalBounds',['../classPxConvexMesh.html#a288d742ed2fee5c7681fbf5ee6f30f02',1,'PxConvexMesh::getLocalBounds()'],['../classPxTriangleMesh.html#afe5283d82a46081bae3ef7c7132b64ec',1,'PxTriangleMesh::getLocalBounds()']]], ['getlocalpose',['getLocalPose',['../classPxJoint.html#ad13a76df450cf57cfbed486a5359c895',1,'PxJoint::getLocalPose()'],['../classPxShape.html#af455638230d515adbfb561f1064e70a1',1,'PxShape::getLocalPose()']]], ['getlocalvelocityatlocalpos',['getLocalVelocityAtLocalPos',['../classPxRigidBodyExt.html#ab79486496528ea623774e7a9b021633d',1,'PxRigidBodyExt']]], diff --git a/physx/documentation/PhysXAPI/files/search/all_c.js b/physx/documentation/PhysXAPI/files/search/all_c.js index 777032676..0524e5b51 100644 --- a/physx/documentation/PhysXAPI/files/search/all_c.js +++ b/physx/documentation/PhysXAPI/files/search/all_c.js @@ -5,6 +5,7 @@ var searchData= ['length',['length',['../structPxControllerHit.html#aa2296561efe5e85018d55fdc0be877c8',1,'PxControllerHit::length()'],['../classPxTolerancesScale.html#a7d93bf20de0e5b54783eda5bb64effeb',1,'PxTolerancesScale::length()']]], ['limits',['limits',['../structPxFeatherstoneArticulationJointData.html#a49eb4f33473161321dcfe646a6b20a81',1,'PxFeatherstoneArticulationJointData::limits()'],['../classPxSceneDesc.html#ab996312333ef4fdf5f77fcc16b84923e',1,'PxSceneDesc::limits()']]], ['linbreakforce',['linBreakForce',['../structPxSolverConstraintPrepDesc.html#afb5f4b0d0b54dffbe066d8f9471474a3',1,'PxSolverConstraintPrepDesc::linBreakForce()'],['../structPxTGSSolverConstraintPrepDesc.html#a2e6f1bfe2c789007a302b614b730daaa',1,'PxTGSSolverConstraintPrepDesc::linBreakForce()']]], + ['linear',['linear',['../structPxSpatialVelocity.html#ac02baccbfcfc70da86f7e26a927e2f6c',1,'PxSpatialVelocity::linear()'],['../PxArticulationReducedCoordinate_8h.html#a840381307a4813334fba199be4bbcbf3',1,'linear(): PxArticulationReducedCoordinate.h']]], ['linear0',['linear0',['../structPxJacobianRow.html#a9c02a517f40113946136a6c51775bea1',1,'PxJacobianRow::linear0()'],['../structPx1DConstraint.html#ac56cab2d459ade70824f04821404889c',1,'Px1DConstraint::linear0()'],['../structPxConstraintInvMassScale.html#accf60e3a08768821ba0d5d08022ad1c6',1,'PxConstraintInvMassScale::linear0()'],['../PxConstraintDesc_8h.html#a2f2e38dff53ddb4b489a43aa882ded1f',1,'linear0(): PxConstraintDesc.h']]], ['linear1',['linear1',['../structPxJacobianRow.html#ad0cb9d556b080dd9eb47dc6c2660ecd8',1,'PxJacobianRow::linear1()'],['../structPx1DConstraint.html#a9523a9ebd2707f8d442ca4a0bf4da573',1,'Px1DConstraint::linear1()'],['../structPxConstraintInvMassScale.html#aec4a528a9abf04ff5a197caadf4420ba',1,'PxConstraintInvMassScale::linear1()'],['../PxConstraintDesc_8h.html#a6ace81e157c4e64cfb13def6f2ffe4fe',1,'linear1(): PxConstraintDesc.h']]], ['lineardamping',['linearDamping',['../structPxRigidBodyData.html#a8623352bac79ed126892a104e1aab68d',1,'PxRigidBodyData::linearDamping()'],['../structPxMutableLinkData.html#a71f45bc5834d96a08c90e2cf369f62ab',1,'PxMutableLinkData::linearDamping()']]], @@ -12,8 +13,10 @@ var searchData= ['linearsweepmultiple',['linearSweepMultiple',['../classPxRigidBodyExt.html#adfc2b24aa3d9207ce6af21094151aede',1,'PxRigidBodyExt']]], ['linearsweepsingle',['linearSweepSingle',['../classPxRigidBodyExt.html#abff916a23a3b9f0e362d1ba2345f45dd',1,'PxRigidBodyExt']]], ['linearvelocity',['linearVelocity',['../structPxLinkData.html#a6ccf02ecd38295dfba83d943fdb06faa',1,'PxLinkData::linearVelocity()'],['../structPxContactPairVelocity.html#a98a55c7cf6a531934189f69933723a23',1,'PxContactPairVelocity::linearVelocity()']]], + ['linkacceleration',['linkAcceleration',['../classPxArticulationCache.html#ac67f33a6b89001467a31fd4a3f4afa23',1,'PxArticulationCache']]], ['linkindexa',['linkIndexA',['../structPxSolverConstraintDesc.html#ab7d352db61fd0a031d9574a4322e629d',1,'PxSolverConstraintDesc']]], ['linkindexb',['linkIndexB',['../structPxSolverConstraintDesc.html#a833220f6cf3fef57bee54a4cfaa81049',1,'PxSolverConstraintDesc']]], + ['linkvelocity',['linkVelocity',['../classPxArticulationCache.html#a91adda674694b0f628a07e4ca89bcec5',1,'PxArticulationCache']]], ['local_5fcontacts_5fsize',['LOCAL_CONTACTS_SIZE',['../GuContactBuffer_8h.html#a53d5f9a05ea848c517e1c0b4240aa491',1,'GuContactBuffer.h']]], ['localpose',['localPose',['../structPxWheelQueryResult.html#a55c818d828141bcb635af224516fc107',1,'PxWheelQueryResult::localPose()'],['../structPxVehicleWheelConcurrentUpdateData.html#a753e220d1a36eee5813624895d67f2ea',1,'PxVehicleWheelConcurrentUpdateData::localPose()']]], ['lock',['lock',['../classPxPvdTransport.html#abe35ed2fab8ee24cc75fa5ae4923125e',1,'PxPvdTransport']]], diff --git a/physx/documentation/PhysXAPI/files/search/all_d.js b/physx/documentation/PhysXAPI/files/search/all_d.js index f14008b63..c4b113074 100644 --- a/physx/documentation/PhysXAPI/files/search/all_d.js +++ b/physx/documentation/PhysXAPI/files/search/all_d.js @@ -115,6 +115,7 @@ var searchData= ['mfilterdata',['mFilterData',['../classPxControllerFilters.html#acf5e6d944353328cb490c7627c697a82',1,'PxControllerFilters']]], ['mfilterflags',['mFilterFlags',['../classPxControllerFilters.html#a9281f07b97b88a5720d30282b97e086d',1,'PxControllerFilters']]], ['mfinalratio',['mFinalRatio',['../classPxVehicleGearsData.html#adb04c7e952cb69ecda68de63baace547',1,'PxVehicleGearsData']]], + ['mflags',['mFlags',['../classPxVehicleWheelsSimData.html#ac19a8182d65219347b5310b6b40b0f34',1,'PxVehicleWheelsSimData']]], ['mfrictionvsslipgraph',['mFrictionVsSlipGraph',['../classPxVehicleTireData.html#aab2bbd4b293db8fb9b94f310a59176a2',1,'PxVehicleTireData']]], ['mfrictionvsslipgraphrecipx1minusx0',['mFrictionVsSlipGraphRecipx1Minusx0',['../classPxVehicleTireData.html#a72bc73620f4d6265cf51869439574d3c',1,'PxVehicleTireData']]], ['mfrictionvsslipgraphrecipx2minusx1',['mFrictionVsSlipGraphRecipx2Minusx1',['../classPxVehicleTireData.html#a5a2f35b2a0e3e225e13c62f6d4c588d6',1,'PxVehicleTireData']]], @@ -186,7 +187,7 @@ var searchData= ['monconstraintreleasecounter',['mOnConstraintReleaseCounter',['../classPxVehicleWheels.html#a207673f21e572fc17e5117eb305e2544',1,'PxVehicleWheels']]], ['motion',['motion',['../structPxFeatherstoneArticulationJointData.html#aadb85c9524b8b70ee7348a808069607a',1,'PxFeatherstoneArticulationJointData']]], ['move',['move',['../classPxController.html#a1cbd9da6b634f45585df92bb71e37782',1,'PxController']]], - ['mpad',['mPad',['../classPxFixedSizeLookupTable.html#a50e80a269f17efc63155e944b3b47df0',1,'PxFixedSizeLookupTable::mPad()'],['../classPxVehicleGearsData.html#a4f53c98eb2607d7f8faa478ef4c994d1',1,'PxVehicleGearsData::mPad()'],['../classPxVehicleDifferential4WData.html#a182c0d18f4eb7375e75e6e26bc4328aa',1,'PxVehicleDifferential4WData::mPad()'],['../classPxVehicleDifferentialNWData.html#aef3d841f346427763b04148b07ad76bd',1,'PxVehicleDifferentialNWData::mPad()'],['../classPxVehicleClutchData.html#a64734e299b40dacd3de949b2cabd8b67',1,'PxVehicleClutchData::mPad()'],['../classPxVehicleTireLoadFilterData.html#a5cfdd6e34435331fb89c2d10209ecc70',1,'PxVehicleTireLoadFilterData::mPad()'],['../classPxVehicleWheelData.html#a0bfd3df01cfeb3b9fd3de0edc1437ab9',1,'PxVehicleWheelData::mPad()'],['../classPxVehicleSuspensionData.html#aa84939cb947f9b7d600564a64982975d',1,'PxVehicleSuspensionData::mPad()'],['../classPxVehicleAntiRollBarData.html#a3bc167f2dfbdf1d420337c3d113ce76d',1,'PxVehicleAntiRollBarData::mPad()'],['../classPxVehicleTireData.html#a0b498753b7cf6afa6f0d507413dcb629',1,'PxVehicleTireData::mPad()'],['../classPxVehicleDriveDynData.html#a8cd3352fd2c2070c9f9593071872e42d',1,'PxVehicleDriveDynData::mPad()'],['../classPxVehicleDriveTank.html#a68ec7b4f608505eef0775421422791e4',1,'PxVehicleDriveTank::mPad()'],['../classPxVehicleNoDrive.html#a0eef7389deac2fd9aeb1824c62ec5a00',1,'PxVehicleNoDrive::mPad()'],['../classPxVehicleDrivableSurfaceToTireFrictionPairs.html#a56908c7cc92d8fa93455699f4ed2645a',1,'PxVehicleDrivableSurfaceToTireFrictionPairs::mPad()'],['../classPxVehicleWheelsSimData.html#a7baa295b6de37e9b30c12d24a898d67c',1,'PxVehicleWheelsSimData::mPad()'],['../classPxVehicleWheelsDynData.html#a4a8a66f7bf5d2aa51df5da6bcdbad91a',1,'PxVehicleWheelsDynData::mPad()']]], + ['mpad',['mPad',['../classPxFixedSizeLookupTable.html#a50e80a269f17efc63155e944b3b47df0',1,'PxFixedSizeLookupTable::mPad()'],['../classPxVehicleGearsData.html#a4f53c98eb2607d7f8faa478ef4c994d1',1,'PxVehicleGearsData::mPad()'],['../classPxVehicleDifferential4WData.html#a182c0d18f4eb7375e75e6e26bc4328aa',1,'PxVehicleDifferential4WData::mPad()'],['../classPxVehicleDifferentialNWData.html#aef3d841f346427763b04148b07ad76bd',1,'PxVehicleDifferentialNWData::mPad()'],['../classPxVehicleClutchData.html#a64734e299b40dacd3de949b2cabd8b67',1,'PxVehicleClutchData::mPad()'],['../classPxVehicleTireLoadFilterData.html#a5cfdd6e34435331fb89c2d10209ecc70',1,'PxVehicleTireLoadFilterData::mPad()'],['../classPxVehicleWheelData.html#a0bfd3df01cfeb3b9fd3de0edc1437ab9',1,'PxVehicleWheelData::mPad()'],['../classPxVehicleSuspensionData.html#aa84939cb947f9b7d600564a64982975d',1,'PxVehicleSuspensionData::mPad()'],['../classPxVehicleAntiRollBarData.html#a3bc167f2dfbdf1d420337c3d113ce76d',1,'PxVehicleAntiRollBarData::mPad()'],['../classPxVehicleTireData.html#a0b498753b7cf6afa6f0d507413dcb629',1,'PxVehicleTireData::mPad()'],['../classPxVehicleDriveDynData.html#a8cd3352fd2c2070c9f9593071872e42d',1,'PxVehicleDriveDynData::mPad()'],['../classPxVehicleDriveTank.html#a68ec7b4f608505eef0775421422791e4',1,'PxVehicleDriveTank::mPad()'],['../classPxVehicleNoDrive.html#a0eef7389deac2fd9aeb1824c62ec5a00',1,'PxVehicleNoDrive::mPad()'],['../classPxVehicleDrivableSurfaceToTireFrictionPairs.html#a56908c7cc92d8fa93455699f4ed2645a',1,'PxVehicleDrivableSurfaceToTireFrictionPairs::mPad()'],['../classPxVehicleWheelsDynData.html#a4a8a66f7bf5d2aa51df5da6bcdbad91a',1,'PxVehicleWheelsDynData::mPad()']]], ['mpad0',['mPad0',['../classPxVehicleWheels.html#a6c7b7db6738f532cdbc4a44189170a81',1,'PxVehicleWheels']]], ['mpadding',['mPadding',['../structPxPadding.html#a265445b56460ef5b0d4e4bdb477a4090',1,'PxPadding']]], ['mpairdata',['mPairData',['../structPxCache.html#ac64e5785004b9564907686b4e8193d3e',1,'PxCache']]], diff --git a/physx/documentation/PhysXAPI/files/search/all_f.js b/physx/documentation/PhysXAPI/files/search/all_f.js index 102847e09..b9c1e2bf9 100644 --- a/physx/documentation/PhysXAPI/files/search/all_f.js +++ b/physx/documentation/PhysXAPI/files/search/all_f.js @@ -8,7 +8,7 @@ var searchData= ['onccdcontactmodify',['onCCDContactModify',['../classPxCCDContactModifyCallback.html#afadc9c910fca4bd5f22c4b5da0adbe5b',1,'PxCCDContactModifyCallback']]], ['oncomshift',['onComShift',['../classPxConstraintConnector.html#a93cb6a551c50f48d5ccec421a97cabcc',1,'PxConstraintConnector']]], ['onconstraintbreak',['onConstraintBreak',['../classPxSimulationEventCallback.html#a67c6553ee9090481ece8b041502eb948',1,'PxSimulationEventCallback']]], - ['onconstraintrelease',['onConstraintRelease',['../classPxConstraintConnector.html#a9c4abc11ca607b42c8f84956392c9cdd',1,'PxConstraintConnector']]], + ['onconstraintrelease',['onConstraintRelease',['../classPxConstraintConnector.html#a9c4abc11ca607b42c8f84956392c9cdd',1,'PxConstraintConnector::onConstraintRelease()'],['../classPxVehicleWheels.html#ae6eca099bb7019976fd619338dcbf0c3',1,'PxVehicleWheels::onConstraintRelease()']]], ['oncontact',['onContact',['../classPxSimulationEventCallback.html#a4dc1da28643ccf9f77c8432b5eb2fd32',1,'PxSimulationEventCallback']]], ['oncontactmodify',['onContactModify',['../classPxContactModifyCallback.html#a383f0448886bf352215c886b3066f790',1,'PxContactModifyCallback']]], ['oncontrollerhit',['onControllerHit',['../classPxUserControllerHitReport.html#ab2340ac48d016da0481c6cb6efda97b9',1,'PxUserControllerHitReport']]], diff --git a/physx/documentation/PhysXAPI/files/search/classes_2.js b/physx/documentation/PhysXAPI/files/search/classes_2.js index 3a5e79efc..ec1f68023 100644 --- a/physx/documentation/PhysXAPI/files/search/classes_2.js +++ b/physx/documentation/PhysXAPI/files/search/classes_2.js @@ -329,6 +329,7 @@ var searchData= ['pxsolvercontactdesc',['PxSolverContactDesc',['../structPxSolverContactDesc.html',1,'']]], ['pxsolvertype',['PxSolverType',['../structPxSolverType.html',1,'']]], ['pxspatialforce',['PxSpatialForce',['../structPxSpatialForce.html',1,'']]], + ['pxspatialvelocity',['PxSpatialVelocity',['../structPxSpatialVelocity.html',1,'']]], ['pxspheregeometry',['PxSphereGeometry',['../classPxSphereGeometry.html',1,'']]], ['pxsphericaljoint',['PxSphericalJoint',['../classPxSphericalJoint.html',1,'']]], ['pxsphericaljointflag',['PxSphericalJointFlag',['../structPxSphericalJointFlag.html',1,'']]], @@ -411,6 +412,7 @@ var searchData= ['pxvehiclewheels',['PxVehicleWheels',['../classPxVehicleWheels.html',1,'']]], ['pxvehiclewheelsdyndata',['PxVehicleWheelsDynData',['../classPxVehicleWheelsDynData.html',1,'']]], ['pxvehiclewheelssimdata',['PxVehicleWheelsSimData',['../classPxVehicleWheelsSimData.html',1,'']]], + ['pxvehiclewheelssimflag',['PxVehicleWheelsSimFlag',['../structPxVehicleWheelsSimFlag.html',1,'']]], ['pxvisualizationparameter',['PxVisualizationParameter',['../structPxVisualizationParameter.html',1,'']]], ['pxwheelqueryresult',['PxWheelQueryResult',['../structPxWheelQueryResult.html',1,'']]], ['pxxmlmiscparameter',['PxXmlMiscParameter',['../structPxSerialization_1_1PxXmlMiscParameter.html',1,'PxSerialization']]] diff --git a/physx/documentation/PhysXAPI/files/search/enums_2.js b/physx/documentation/PhysXAPI/files/search/enums_2.js index 676347f4a..d81381555 100644 --- a/physx/documentation/PhysXAPI/files/search/enums_2.js +++ b/physx/documentation/PhysXAPI/files/search/enums_2.js @@ -1,5 +1,5 @@ var searchData= [ ['endianmode',['EndianMode',['../classPxFileBuf.html#a17a9f8dcf7aeed5221f78ad2c785d122',1,'PxFileBuf']]], - ['enum',['Enum',['../structPxCapsuleClimbingMode.html#aa5842460fe36a16e5f1f5b1383db9ef5',1,'PxCapsuleClimbingMode::Enum()'],['../structPxControllerShapeType.html#a46022b44cb41038a1b05bcaa6e043d03',1,'PxControllerShapeType::Enum()'],['../structPxControllerNonWalkableMode.html#a4dd560c274d7c9076469ae267ffa87f2',1,'PxControllerNonWalkableMode::Enum()'],['../structPxControllerCollisionFlag.html#ab8257830a035142d00b1adf70b559169',1,'PxControllerCollisionFlag::Enum()'],['../structPxControllerBehaviorFlag.html#aa8d6dfaac2847892e8c5b76eb4d1d55b',1,'PxControllerBehaviorFlag::Enum()'],['../structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9c',1,'PxControllerDebugRenderFlag::Enum()'],['../structPxBaseFlag.html#ac258de0c7adaa37f81b6ab1b0c86a6ee',1,'PxBaseFlag::Enum()'],['../structPxMetaDataFlag.html#a5125f2eba9d78234a2bc7a00b3c3654c',1,'PxMetaDataFlag::Enum()'],['../structPxDebugColor.html#affaed1e04fc675d60f04e2c4d949dcf2',1,'PxDebugColor::Enum()'],['../structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8',1,'PxConcreteType::Enum()'],['../structPxMeshCookingHint.html#af88f4aeeaffd545c26bc9b5215303796',1,'PxMeshCookingHint::Enum()'],['../structPxConvexFlag.html#a4b7bd21fa96c72b320a39e880208b4b6',1,'PxConvexFlag::Enum()'],['../structPxConvexMeshCookingResult.html#ac1c7b1cbfc80b0af00bec95faf1ebf42',1,'PxConvexMeshCookingResult::Enum()'],['../structPxConvexMeshCookingType.html#a5a2ae723aca74c185675cd7ba2c9c115',1,'PxConvexMeshCookingType::Enum()'],['../structPxTriangleMeshCookingResult.html#abe8e2312c47cc522a546c34ea337fb64',1,'PxTriangleMeshCookingResult::Enum()'],['../structPxMeshPreprocessingFlag.html#ad2a46fe74aef20eff5860acd661bc8f8',1,'PxMeshPreprocessingFlag::Enum()'],['../structPxConverterReportMode.html#aabe051209d39df379f39bbe45bf4f1a3',1,'PxConverterReportMode::Enum()'],['../structPxConstraintExtIDs.html#a10c7860bd807cde6ae3992c05fc489ed',1,'PxConstraintExtIDs::Enum()'],['../structPxD6Axis.html#a0a15eb4ffcf285b3bd8289ddca128880',1,'PxD6Axis::Enum()'],['../structPxD6Motion.html#ac93106f83ed65cc6bf206fb9ba3994dc',1,'PxD6Motion::Enum()'],['../structPxD6Drive.html#a08b14ae53dcb83687f9f53580121240e',1,'PxD6Drive::Enum()'],['../structPxD6JointDriveFlag.html#a0560fd8c87c7004eb8c52a17a549e42e',1,'PxD6JointDriveFlag::Enum()'],['../structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8b',1,'PxFilterOp::Enum()'],['../structPxDistanceJointFlag.html#a739197f319da75b41a1f3fbcc39607d9',1,'PxDistanceJointFlag::Enum()'],['../structPxJointConcreteType.html#a52e35818303a604ee07b32af31c486da',1,'PxJointConcreteType::Enum()'],['../structPxJointActorIndex.html#a1d62e1a8618a5ff4802335f99d4c5bd1',1,'PxJointActorIndex::Enum()'],['../structPxPrismaticJointFlag.html#ad175483117d7036cc021df8ac7dc15f4',1,'PxPrismaticJointFlag::Enum()'],['../structPxRevoluteJointFlag.html#ada2c678da47fe6828e338052480a40c8',1,'PxRevoluteJointFlag::Enum()'],['../structPxSphericalJointFlag.html#afc657f6cb078dd077c835e798ac56561',1,'PxSphericalJointFlag::Enum()'],['../structPxConvexMeshGeometryFlag.html#a4d8558cca9e3f622b336550b96c25662',1,'PxConvexMeshGeometryFlag::Enum()'],['../structPxGeometryType.html#aefc79f72c4c479192ac19d41a6f30ed5',1,'PxGeometryType::Enum()'],['../structPxHeightFieldFormat.html#ad28e3afa439f8ff1df6067288c46d9c5',1,'PxHeightFieldFormat::Enum()'],['../structPxHeightFieldTessFlag.html#a274a8d599dcea03e3c0d907b26cd1b80',1,'PxHeightFieldTessFlag::Enum()'],['../structPxHeightFieldFlag.html#ad94e98dce64e8c6f9806a20548548668',1,'PxHeightFieldFlag::Enum()'],['../structPxHeightFieldMaterial.html#ab983db3533aff06d7362efdfac3948ec',1,'PxHeightFieldMaterial::Enum()'],['../structPxMeshFlag.html#a62a41b4a381e3e59d85181a62b9ce0cc',1,'PxMeshFlag::Enum()'],['../structPxMeshMidPhase.html#a49f740883fbfb1a49631c28818c219f4',1,'PxMeshMidPhase::Enum()'],['../structPxTriangleMeshFlag.html#a7d0d36347f7c197a4bdbec68ccc074cc',1,'PxTriangleMeshFlag::Enum()'],['../structPxMeshGeometryFlag.html#aa4f762855200599fc014b0654f7ce2c9',1,'PxMeshGeometryFlag::Enum()'],['../structPxPvdInstrumentationFlag.html#ae5be1bcb179a96c601194126230aeede',1,'PxPvdInstrumentationFlag::Enum()'],['../structPxPvdSceneFlag.html#afa6d3e9f667028233457051fe78042bd',1,'PxPvdSceneFlag::Enum()'],['../structPxActorFlag.html#a1bc4c717e79cd547bdbe09a179ee9f1d',1,'PxActorFlag::Enum()'],['../structPxActorType.html#a25c5a270f1f5c1955a00d7554f7688d7',1,'PxActorType::Enum()'],['../structPxArticulationJointDriveType.html#ac6be2c7afe87dd7755dae4aa7a0fdfe2',1,'PxArticulationJointDriveType::Enum()'],['../classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14e',1,'PxArticulationCache::Enum()'],['../structPxBatchQueryStatus.html#a65079b6fb3edafc98c6101bd6bc9b306',1,'PxBatchQueryStatus::Enum()'],['../structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7dda',1,'PxBroadPhaseType::Enum()'],['../structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427',1,'PxConstraintFlag::Enum()'],['../structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97e',1,'PxConstraintSolveHint::Enum()'],['../structPxConstraintVisualizationFlag.html#a6896ce95dcc5f3a691b561c6ae3a6c3b',1,'PxConstraintVisualizationFlag::Enum()'],['../structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821e',1,'PxPvdUpdateType::Enum()'],['../structPxDeletionEventFlag.html#a77bf8900dd0107b612cdc7d86cb796f6',1,'PxDeletionEventFlag::Enum()'],['../structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2f',1,'PxPairFlag::Enum()'],['../structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083',1,'PxFilterFlag::Enum()'],['../structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cf',1,'PxFilterObjectType::Enum()'],['../structPxFilterObjectFlag.html#a7230bf2cf2ad3d35c4adb45187666419',1,'PxFilterObjectFlag::Enum()'],['../structPxPairFilteringMode.html#aeaa62ad327b874e4b199022401bf7615',1,'PxPairFilteringMode::Enum()'],['../structPxForceMode.html#aadaaafefe0478d829b816154c676e545',1,'PxForceMode::Enum()'],['../structPxDataAccessFlag.html#ab6bd468adf2809435d24c9fe4882b6be',1,'PxDataAccessFlag::Enum()'],['../structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298',1,'PxMaterialFlag::Enum()'],['../structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727',1,'PxCombineMode::Enum()'],['../structPxQueryFlag.html#a2124ff0cff0a021e01e6880a1bba431f',1,'PxQueryFlag::Enum()'],['../structPxQueryHitType.html#acab1ef408184995d169330ed689b79e3',1,'PxQueryHitType::Enum()'],['../structPxHitFlag.html#a44c173f6ddf0522ffbd8fa3c585e6b64',1,'PxHitFlag::Enum()'],['../structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596',1,'PxRigidBodyFlag::Enum()'],['../structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1',1,'PxRigidDynamicLockFlag::Enum()'],['../structPxActorTypeFlag.html#a62171a3f7d2dfa4b4b87285afdf6bae4',1,'PxActorTypeFlag::Enum()'],['../structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9',1,'PxPruningStructureType::Enum()'],['../structPxSceneQueryUpdateMode.html#a04e575a313bce592e2b404eedf89a9d4',1,'PxSceneQueryUpdateMode::Enum()'],['../structPxFrictionType.html#a603c53fd85805e2528a338252496a96b',1,'PxFrictionType::Enum()'],['../structPxSolverType.html#a96adc2f8785c6b18805a18b03289dbe6',1,'PxSolverType::Enum()'],['../structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53',1,'PxSceneFlag::Enum()'],['../structPxShapeFlag.html#a6edb481aaa3a998c5d6dd3fc4ad87f1a',1,'PxShapeFlag::Enum()'],['../structPxContactPairExtraDataType.html#aba00bd5468b1e16d9b473f573ddc2ccf',1,'PxContactPairExtraDataType::Enum()'],['../structPxContactPairHeaderFlag.html#a143dcb345f5c81bd542d33e67085ba3a',1,'PxContactPairHeaderFlag::Enum()'],['../structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9',1,'PxContactPairFlag::Enum()'],['../structPxTriggerPairFlag.html#aa3c006812673a9dc0a2a87e2be483ebb',1,'PxTriggerPairFlag::Enum()'],['../structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10',1,'PxVisualizationParameter::Enum()'],['../structPxArticulationAxis.html#a5c835f1d727bfc738d1fc7a7595d7395',1,'PxArticulationAxis::Enum()'],['../structPxArticulationMotion.html#af04dcaf188047e88858bb7352bdfe879',1,'PxArticulationMotion::Enum()'],['../structPxArticulationJointType.html#a0df5bb8217acae97e63421bedbfe0a0b',1,'PxArticulationJointType::Enum()'],['../structPxArticulationFlag.html#a89b0e25f041302ae04e5cc0b509a7609',1,'PxArticulationFlag::Enum()'],['../structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66',1,'PxArticulationDriveType::Enum()'],['../structphysx_1_1PxTaskType.html#ae5545e371cf86793e4a0d395e4ebdb6b',1,'physx::PxTaskType::Enum()'],['../classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7',1,'PxVehicleGearsData::Enum()'],['../classPxVehicleDifferential4WData.html#a17b180dce7605d603eb5a562bc70949d',1,'PxVehicleDifferential4WData::Enum()'],['../structPxVehicleClutchAccuracyMode.html#a8cb4ae31cf929f344f2049939b9f61ce',1,'PxVehicleClutchAccuracyMode::Enum()'],['../structPxVehicleDrive4WWheelOrder.html#a68b3b8d5f53acb4985dd0815960545e2',1,'PxVehicleDrive4WWheelOrder::Enum()'],['../structPxVehicleDrive4WControl.html#a72fd4871288500845821292d33bb6c83',1,'PxVehicleDrive4WControl::Enum()'],['../structPxVehicleDriveNWControl.html#a4c668dab35f0480ce1508b4151747427',1,'PxVehicleDriveNWControl::Enum()'],['../structPxVehicleDriveTankWheelOrder.html#ad777dedf3db655580fb92de098646cb7',1,'PxVehicleDriveTankWheelOrder::Enum()'],['../structPxVehicleDriveTankControl.html#a13e9cce8dce77a82f7598c930d0c0c5c',1,'PxVehicleDriveTankControl::Enum()'],['../structPxVehicleDriveTankControlModel.html#a15800ba4f6142803c1b0d0098a942b13',1,'PxVehicleDriveTankControlModel::Enum()'],['../structPxVehicleTypes.html#a8e3dab2de8d47cbd9d22c8e27af4bacb',1,'PxVehicleTypes::Enum()'],['../structPxVehicleConcreteType.html#a8fdbed173444606d4ac4d0f78cac039a',1,'PxVehicleConcreteType::Enum()'],['../structPxVehicleUpdateMode.html#ac04dae30cbaf5d57733b9da361bd7118',1,'PxVehicleUpdateMode::Enum()'],['../structPxErrorCode.html#a01157d5d2eca2cede61ecbbc32c7b2a3',1,'PxErrorCode::Enum()']]] + ['enum',['Enum',['../structPxCapsuleClimbingMode.html#aa5842460fe36a16e5f1f5b1383db9ef5',1,'PxCapsuleClimbingMode::Enum()'],['../structPxControllerShapeType.html#a46022b44cb41038a1b05bcaa6e043d03',1,'PxControllerShapeType::Enum()'],['../structPxControllerNonWalkableMode.html#a4dd560c274d7c9076469ae267ffa87f2',1,'PxControllerNonWalkableMode::Enum()'],['../structPxControllerCollisionFlag.html#ab8257830a035142d00b1adf70b559169',1,'PxControllerCollisionFlag::Enum()'],['../structPxControllerBehaviorFlag.html#aa8d6dfaac2847892e8c5b76eb4d1d55b',1,'PxControllerBehaviorFlag::Enum()'],['../structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9c',1,'PxControllerDebugRenderFlag::Enum()'],['../structPxBaseFlag.html#ac258de0c7adaa37f81b6ab1b0c86a6ee',1,'PxBaseFlag::Enum()'],['../structPxMetaDataFlag.html#a5125f2eba9d78234a2bc7a00b3c3654c',1,'PxMetaDataFlag::Enum()'],['../structPxDebugColor.html#affaed1e04fc675d60f04e2c4d949dcf2',1,'PxDebugColor::Enum()'],['../structPxConcreteType.html#ad762aca1d4c8fffae41267fae4f1b8e8',1,'PxConcreteType::Enum()'],['../structPxMeshCookingHint.html#af88f4aeeaffd545c26bc9b5215303796',1,'PxMeshCookingHint::Enum()'],['../structPxConvexFlag.html#a4b7bd21fa96c72b320a39e880208b4b6',1,'PxConvexFlag::Enum()'],['../structPxConvexMeshCookingResult.html#ac1c7b1cbfc80b0af00bec95faf1ebf42',1,'PxConvexMeshCookingResult::Enum()'],['../structPxConvexMeshCookingType.html#a5a2ae723aca74c185675cd7ba2c9c115',1,'PxConvexMeshCookingType::Enum()'],['../structPxTriangleMeshCookingResult.html#abe8e2312c47cc522a546c34ea337fb64',1,'PxTriangleMeshCookingResult::Enum()'],['../structPxMeshPreprocessingFlag.html#ad2a46fe74aef20eff5860acd661bc8f8',1,'PxMeshPreprocessingFlag::Enum()'],['../structPxConverterReportMode.html#aabe051209d39df379f39bbe45bf4f1a3',1,'PxConverterReportMode::Enum()'],['../structPxConstraintExtIDs.html#a10c7860bd807cde6ae3992c05fc489ed',1,'PxConstraintExtIDs::Enum()'],['../structPxD6Axis.html#a0a15eb4ffcf285b3bd8289ddca128880',1,'PxD6Axis::Enum()'],['../structPxD6Motion.html#ac93106f83ed65cc6bf206fb9ba3994dc',1,'PxD6Motion::Enum()'],['../structPxD6Drive.html#a08b14ae53dcb83687f9f53580121240e',1,'PxD6Drive::Enum()'],['../structPxD6JointDriveFlag.html#a0560fd8c87c7004eb8c52a17a549e42e',1,'PxD6JointDriveFlag::Enum()'],['../structPxFilterOp.html#abded53995f8e25fd68ee10759a762c8b',1,'PxFilterOp::Enum()'],['../structPxDistanceJointFlag.html#a739197f319da75b41a1f3fbcc39607d9',1,'PxDistanceJointFlag::Enum()'],['../structPxJointConcreteType.html#a52e35818303a604ee07b32af31c486da',1,'PxJointConcreteType::Enum()'],['../structPxJointActorIndex.html#a1d62e1a8618a5ff4802335f99d4c5bd1',1,'PxJointActorIndex::Enum()'],['../structPxPrismaticJointFlag.html#ad175483117d7036cc021df8ac7dc15f4',1,'PxPrismaticJointFlag::Enum()'],['../structPxRevoluteJointFlag.html#ada2c678da47fe6828e338052480a40c8',1,'PxRevoluteJointFlag::Enum()'],['../structPxSphericalJointFlag.html#afc657f6cb078dd077c835e798ac56561',1,'PxSphericalJointFlag::Enum()'],['../structPxConvexMeshGeometryFlag.html#a4d8558cca9e3f622b336550b96c25662',1,'PxConvexMeshGeometryFlag::Enum()'],['../structPxGeometryType.html#aefc79f72c4c479192ac19d41a6f30ed5',1,'PxGeometryType::Enum()'],['../structPxHeightFieldFormat.html#ad28e3afa439f8ff1df6067288c46d9c5',1,'PxHeightFieldFormat::Enum()'],['../structPxHeightFieldTessFlag.html#a274a8d599dcea03e3c0d907b26cd1b80',1,'PxHeightFieldTessFlag::Enum()'],['../structPxHeightFieldFlag.html#ad94e98dce64e8c6f9806a20548548668',1,'PxHeightFieldFlag::Enum()'],['../structPxHeightFieldMaterial.html#ab983db3533aff06d7362efdfac3948ec',1,'PxHeightFieldMaterial::Enum()'],['../structPxMeshFlag.html#a62a41b4a381e3e59d85181a62b9ce0cc',1,'PxMeshFlag::Enum()'],['../structPxMeshMidPhase.html#a49f740883fbfb1a49631c28818c219f4',1,'PxMeshMidPhase::Enum()'],['../structPxTriangleMeshFlag.html#a7d0d36347f7c197a4bdbec68ccc074cc',1,'PxTriangleMeshFlag::Enum()'],['../structPxMeshGeometryFlag.html#aa4f762855200599fc014b0654f7ce2c9',1,'PxMeshGeometryFlag::Enum()'],['../structPxPvdInstrumentationFlag.html#ae5be1bcb179a96c601194126230aeede',1,'PxPvdInstrumentationFlag::Enum()'],['../structPxPvdSceneFlag.html#afa6d3e9f667028233457051fe78042bd',1,'PxPvdSceneFlag::Enum()'],['../structPxActorFlag.html#a1bc4c717e79cd547bdbe09a179ee9f1d',1,'PxActorFlag::Enum()'],['../structPxActorType.html#a25c5a270f1f5c1955a00d7554f7688d7',1,'PxActorType::Enum()'],['../structPxArticulationJointDriveType.html#ac6be2c7afe87dd7755dae4aa7a0fdfe2',1,'PxArticulationJointDriveType::Enum()'],['../classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14e',1,'PxArticulationCache::Enum()'],['../structPxBatchQueryStatus.html#a65079b6fb3edafc98c6101bd6bc9b306',1,'PxBatchQueryStatus::Enum()'],['../structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7dda',1,'PxBroadPhaseType::Enum()'],['../structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427',1,'PxConstraintFlag::Enum()'],['../structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97e',1,'PxConstraintSolveHint::Enum()'],['../structPxConstraintVisualizationFlag.html#a6896ce95dcc5f3a691b561c6ae3a6c3b',1,'PxConstraintVisualizationFlag::Enum()'],['../structPxPvdUpdateType.html#a534206ee246bcbd046d6eb314ebf821e',1,'PxPvdUpdateType::Enum()'],['../structPxDeletionEventFlag.html#a77bf8900dd0107b612cdc7d86cb796f6',1,'PxDeletionEventFlag::Enum()'],['../structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2f',1,'PxPairFlag::Enum()'],['../structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083',1,'PxFilterFlag::Enum()'],['../structPxFilterObjectType.html#a6b94c22981119369d08ce8b13838a3cf',1,'PxFilterObjectType::Enum()'],['../structPxFilterObjectFlag.html#a7230bf2cf2ad3d35c4adb45187666419',1,'PxFilterObjectFlag::Enum()'],['../structPxPairFilteringMode.html#aeaa62ad327b874e4b199022401bf7615',1,'PxPairFilteringMode::Enum()'],['../structPxForceMode.html#aadaaafefe0478d829b816154c676e545',1,'PxForceMode::Enum()'],['../structPxDataAccessFlag.html#ab6bd468adf2809435d24c9fe4882b6be',1,'PxDataAccessFlag::Enum()'],['../structPxMaterialFlag.html#a0cbfebf648d620e4619a5a81b49cc298',1,'PxMaterialFlag::Enum()'],['../structPxCombineMode.html#a7d586f7800efb63ee14c7a24e0eb6727',1,'PxCombineMode::Enum()'],['../structPxQueryFlag.html#a2124ff0cff0a021e01e6880a1bba431f',1,'PxQueryFlag::Enum()'],['../structPxQueryHitType.html#acab1ef408184995d169330ed689b79e3',1,'PxQueryHitType::Enum()'],['../structPxHitFlag.html#a44c173f6ddf0522ffbd8fa3c585e6b64',1,'PxHitFlag::Enum()'],['../structPxRigidBodyFlag.html#a5fd4878ae66a98c030a9d976e8ba8596',1,'PxRigidBodyFlag::Enum()'],['../structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1',1,'PxRigidDynamicLockFlag::Enum()'],['../structPxActorTypeFlag.html#a62171a3f7d2dfa4b4b87285afdf6bae4',1,'PxActorTypeFlag::Enum()'],['../structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9',1,'PxPruningStructureType::Enum()'],['../structPxSceneQueryUpdateMode.html#a04e575a313bce592e2b404eedf89a9d4',1,'PxSceneQueryUpdateMode::Enum()'],['../structPxFrictionType.html#a603c53fd85805e2528a338252496a96b',1,'PxFrictionType::Enum()'],['../structPxSolverType.html#a96adc2f8785c6b18805a18b03289dbe6',1,'PxSolverType::Enum()'],['../structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53',1,'PxSceneFlag::Enum()'],['../structPxShapeFlag.html#a6edb481aaa3a998c5d6dd3fc4ad87f1a',1,'PxShapeFlag::Enum()'],['../structPxContactPairExtraDataType.html#aba00bd5468b1e16d9b473f573ddc2ccf',1,'PxContactPairExtraDataType::Enum()'],['../structPxContactPairHeaderFlag.html#a143dcb345f5c81bd542d33e67085ba3a',1,'PxContactPairHeaderFlag::Enum()'],['../structPxContactPairFlag.html#aa9414bf8c45ed9d53da3e5c98025fbe9',1,'PxContactPairFlag::Enum()'],['../structPxTriggerPairFlag.html#aa3c006812673a9dc0a2a87e2be483ebb',1,'PxTriggerPairFlag::Enum()'],['../structPxVisualizationParameter.html#adce8e8a77c144356b0968d2b9f79eb10',1,'PxVisualizationParameter::Enum()'],['../structPxArticulationAxis.html#a5c835f1d727bfc738d1fc7a7595d7395',1,'PxArticulationAxis::Enum()'],['../structPxArticulationMotion.html#af04dcaf188047e88858bb7352bdfe879',1,'PxArticulationMotion::Enum()'],['../structPxArticulationJointType.html#a0df5bb8217acae97e63421bedbfe0a0b',1,'PxArticulationJointType::Enum()'],['../structPxArticulationFlag.html#a89b0e25f041302ae04e5cc0b509a7609',1,'PxArticulationFlag::Enum()'],['../structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66',1,'PxArticulationDriveType::Enum()'],['../structphysx_1_1PxTaskType.html#ae5545e371cf86793e4a0d395e4ebdb6b',1,'physx::PxTaskType::Enum()'],['../classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7',1,'PxVehicleGearsData::Enum()'],['../classPxVehicleDifferential4WData.html#a17b180dce7605d603eb5a562bc70949d',1,'PxVehicleDifferential4WData::Enum()'],['../structPxVehicleClutchAccuracyMode.html#a8cb4ae31cf929f344f2049939b9f61ce',1,'PxVehicleClutchAccuracyMode::Enum()'],['../structPxVehicleDrive4WWheelOrder.html#a68b3b8d5f53acb4985dd0815960545e2',1,'PxVehicleDrive4WWheelOrder::Enum()'],['../structPxVehicleDrive4WControl.html#a72fd4871288500845821292d33bb6c83',1,'PxVehicleDrive4WControl::Enum()'],['../structPxVehicleDriveNWControl.html#a4c668dab35f0480ce1508b4151747427',1,'PxVehicleDriveNWControl::Enum()'],['../structPxVehicleDriveTankWheelOrder.html#ad777dedf3db655580fb92de098646cb7',1,'PxVehicleDriveTankWheelOrder::Enum()'],['../structPxVehicleDriveTankControl.html#a13e9cce8dce77a82f7598c930d0c0c5c',1,'PxVehicleDriveTankControl::Enum()'],['../structPxVehicleDriveTankControlModel.html#a15800ba4f6142803c1b0d0098a942b13',1,'PxVehicleDriveTankControlModel::Enum()'],['../structPxVehicleTypes.html#a8e3dab2de8d47cbd9d22c8e27af4bacb',1,'PxVehicleTypes::Enum()'],['../structPxVehicleConcreteType.html#a8fdbed173444606d4ac4d0f78cac039a',1,'PxVehicleConcreteType::Enum()'],['../structPxVehicleUpdateMode.html#ac04dae30cbaf5d57733b9da361bd7118',1,'PxVehicleUpdateMode::Enum()'],['../structPxVehicleWheelsSimFlag.html#ae22cac8835a33a55a7bddc2223638d60',1,'PxVehicleWheelsSimFlag::Enum()'],['../structPxErrorCode.html#a01157d5d2eca2cede61ecbbc32c7b2a3',1,'PxErrorCode::Enum()']]] ]; diff --git a/physx/documentation/PhysXAPI/files/search/enumvalues_1.js b/physx/documentation/PhysXAPI/files/search/enumvalues_1.js index a66042070..5687d7263 100644 --- a/physx/documentation/PhysXAPI/files/search/enumvalues_1.js +++ b/physx/documentation/PhysXAPI/files/search/enumvalues_1.js @@ -160,7 +160,7 @@ var searchData= ['edrive4w',['eDRIVE4W',['../structPxVehicleTypes.html#a8e3dab2de8d47cbd9d22c8e27af4bacbaa0ca57466c4e1ab3dd7c932000b676af',1,'PxVehicleTypes']]], ['edrive_5fenabled',['eDRIVE_ENABLED',['../structPxRevoluteJointFlag.html#ada2c678da47fe6828e338052480a40c8ad387b53d77257448f9da1e59904dae0a',1,'PxRevoluteJointFlag']]], ['edrive_5ffreespin',['eDRIVE_FREESPIN',['../structPxRevoluteJointFlag.html#ada2c678da47fe6828e338052480a40c8ae4cc26353809ad046c7f6d1be7ac8f8e',1,'PxRevoluteJointFlag']]], - ['edrive_5flimits_5fare_5fforces',['eDRIVE_LIMITS_ARE_FORCES',['../structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a330ccf346c5056c0570dbc495007d1ce',1,'PxConstraintFlag']]], + ['edrive_5flimits_5fare_5fforces',['eDRIVE_LIMITS_ARE_FORCES',['../structPxConstraintFlag.html#a86960e99b3e80ddb9e0ab51d7afc3427a330ccf346c5056c0570dbc495007d1ce',1,'PxConstraintFlag::eDRIVE_LIMITS_ARE_FORCES()'],['../structPxArticulationFlag.html#a89b0e25f041302ae04e5cc0b509a7609a0bc0b9ec065971fd2708868f819f27d5',1,'PxArticulationFlag::eDRIVE_LIMITS_ARE_FORCES()']]], ['edrive_5frow',['eDRIVE_ROW',['../structPx1DConstraintFlag.html#a0d9f59379f0d8eba3bace01f8bb88b76a244fc1fabbf49fb8d9fce48d1ba0e4e9',1,'Px1DConstraintFlag']]], ['edrivenw',['eDRIVENW',['../structPxVehicleTypes.html#a8e3dab2de8d47cbd9d22c8e27af4bacbabdd83f480ed743cfb5addf04f230b13e',1,'PxVehicleTypes']]], ['edrivetank',['eDRIVETANK',['../structPxVehicleTypes.html#a8e3dab2de8d47cbd9d22c8e27af4bacba5159c978ab78d819f2d78f08ea980ceb',1,'PxVehicleTypes']]], @@ -251,8 +251,11 @@ var searchData= ['elarge_5ftriangle',['eLARGE_TRIANGLE',['../structPxTriangleMeshCookingResult.html#abe8e2312c47cc522a546c34ea337fb64a75b84c38d545ffeae116074dac39856d',1,'PxTriangleMeshCookingResult']]], ['elast',['eLast',['../structPxJointConcreteType.html#a52e35818303a604ee07b32af31c486daa0ce97aa66061e4dfa42aee7d7b0cab55',1,'PxJointConcreteType::eLast()'],['../structPxCapsuleClimbingMode.html#aa5842460fe36a16e5f1f5b1383db9ef5a539d1d99a17207871e15defbbc6b1817',1,'PxCapsuleClimbingMode::eLAST()'],['../structPxMeshMidPhase.html#a49f740883fbfb1a49631c28818c219f4a16776340ef05fd5d3f45ef37a0631e03',1,'PxMeshMidPhase::eLAST()'],['../structPxBroadPhaseType.html#ac7422f895533bff02d0043d35a2b7ddaa76ebc67e9bc983ffc69765595e777a95',1,'PxBroadPhaseType::eLAST()'],['../structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9a613753bdd7051b3f88c0199549ee41bb',1,'PxPruningStructureType::eLAST()']]], ['elimit_5fenabled',['eLIMIT_ENABLED',['../structPxPrismaticJointFlag.html#ad175483117d7036cc021df8ac7dc15f4ad6c3de45c0cecf5446dc5045656ccb4c',1,'PxPrismaticJointFlag::eLIMIT_ENABLED()'],['../structPxRevoluteJointFlag.html#ada2c678da47fe6828e338052480a40c8aa285947133025bc7958602b33c6251c2',1,'PxRevoluteJointFlag::eLIMIT_ENABLED()'],['../structPxSphericalJointFlag.html#afc657f6cb078dd077c835e798ac56561adc8bbdc303d98a76306bf70548b6435c',1,'PxSphericalJointFlag::eLIMIT_ENABLED()']]], + ['elimit_5fsuspension_5fexpansion_5fvelocity',['eLIMIT_SUSPENSION_EXPANSION_VELOCITY',['../structPxVehicleWheelsSimFlag.html#ae22cac8835a33a55a7bddc2223638d60a75d4ea0ed70a2383d36939a947f50849',1,'PxVehicleWheelsSimFlag']]], ['elimited',['eLIMITED',['../structPxD6Motion.html#ac93106f83ed65cc6bf206fb9ba3994dca309552869b971c8ac6894140d405db4a',1,'PxD6Motion::eLIMITED()'],['../structPxArticulationMotion.html#af04dcaf188047e88858bb7352bdfe879a93e73f43c42672207a2abf9904d47a50',1,'PxArticulationMotion::eLIMITED()']]], ['elimits',['eLIMITS',['../structPxConstraintVisualizationFlag.html#a6896ce95dcc5f3a691b561c6ae3a6c3bac0031dd6a0c8f69c8d1adb369c40b79e',1,'PxConstraintVisualizationFlag']]], + ['elinkacceleration',['eLINKACCELERATION',['../classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea1ee0f9a7f94765e59bc93944a434af54',1,'PxArticulationCache']]], + ['elinkvelocity',['eLINKVELOCITY',['../classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14eacaf9eee2de38014ce959feb30fba9d1b',1,'PxArticulationCache']]], ['elocal_5fframes',['eLOCAL_FRAMES',['../structPxConstraintVisualizationFlag.html#a6896ce95dcc5f3a691b561c6ae3a6c3bad6cbcec686244113170adf566b1c50f6',1,'PxConstraintVisualizationFlag']]], ['elock_5fangular_5fx',['eLOCK_ANGULAR_X',['../structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1acd29b90fdd453256db7d95f8d168ffd4',1,'PxRigidDynamicLockFlag']]], ['elock_5fangular_5fy',['eLOCK_ANGULAR_Y',['../structPxRigidDynamicLockFlag.html#ae2e527a7cf32504d4b5c8c6d147280e1aa8df9ce7f49c12ce3f686bd862f86fe6',1,'PxRigidDynamicLockFlag']]], @@ -305,7 +308,7 @@ var searchData= ['eno_5fboundary_5fedges',['eNO_BOUNDARY_EDGES',['../structPxHeightFieldFlag.html#ad94e98dce64e8c6f9806a20548548668ab602d69a9ee1ab863ab17f503592ff2e',1,'PxHeightFieldFlag']]], ['eno_5ferror',['eNO_ERROR',['../structPxErrorCode.html#a01157d5d2eca2cede61ecbbc32c7b2a3a3f3e15f9946df5f301d1fe4b656df267',1,'PxErrorCode']]], ['enodrive',['eNODRIVE',['../structPxVehicleTypes.html#a8e3dab2de8d47cbd9d22c8e27af4bacba55b0f71d4462431b819f71266e0044e6',1,'PxVehicleTypes']]], - ['enone',['eNONE',['../structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9cab6869486b64cea747bc34cec4403c261',1,'PxControllerDebugRenderFlag::eNONE()'],['../structPxConverterReportMode.html#aabe051209d39df379f39bbe45bf4f1a3a5ebeeface34f3fdc582dffcfb718ec74',1,'PxConverterReportMode::eNONE()'],['../structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97eaf766284eef4df1c7f5998017fbe767ef',1,'PxConstraintSolveHint::eNONE()'],['../structPxQueryHitType.html#acab1ef408184995d169330ed689b79e3a7e26b51ca324ac45d44d4b70203a2996',1,'PxQueryHitType::eNONE()'],['../structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9a667e19208a1fd5b2215e452ac9754b6e',1,'PxPruningStructureType::eNONE()']]], + ['enone',['eNONE',['../structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9cab6869486b64cea747bc34cec4403c261',1,'PxControllerDebugRenderFlag::eNONE()'],['../structPxConverterReportMode.html#aabe051209d39df379f39bbe45bf4f1a3a5ebeeface34f3fdc582dffcfb718ec74',1,'PxConverterReportMode::eNONE()'],['../structPxConstraintSolveHint.html#afa69114b7731ed70ff8db90bc171f97eaf766284eef4df1c7f5998017fbe767ef',1,'PxConstraintSolveHint::eNONE()'],['../structPxQueryHitType.html#acab1ef408184995d169330ed689b79e3a7e26b51ca324ac45d44d4b70203a2996',1,'PxQueryHitType::eNONE()'],['../structPxPruningStructureType.html#a058454782f6ed1cc953b8d6561b636d9a667e19208a1fd5b2215e452ac9754b6e',1,'PxPruningStructureType::eNONE()'],['../structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a3fda091699a60c74bfb7f1999cd47c1a',1,'PxArticulationDriveType::eNONE()']]], ['enormal',['eNORMAL',['../structPxConverterReportMode.html#aabe051209d39df379f39bbe45bf4f1a3a74cb273dc39f72e0ae096cc059917946',1,'PxConverterReportMode::eNORMAL()'],['../structPxHitFlag.html#a44c173f6ddf0522ffbd8fa3c585e6b64a5972f664c2fbe85c992fb9aaba46a5cf',1,'PxHitFlag::eNORMAL()']]], ['enotify',['eNOTIFY',['../structPxFilterFlag.html#a8de424e04d86b5772436423b0dc58083afbb0680c3ea5447f44fc90560bd7dd8f',1,'PxFilterFlag']]], ['enotify_5fcontact_5fpoints',['eNOTIFY_CONTACT_POINTS',['../structPxPairFlag.html#a60e71a2948b030140f840766a3f7ac2fadb30cb0c2d2859560b34c684ac076137',1,'PxPairFlag']]], @@ -404,7 +407,7 @@ var searchData= ['eswing',['eSWING',['../structPxD6Drive.html#a08b14ae53dcb83687f9f53580121240ea143677ab99bd57647c8e26516bc506a1',1,'PxD6Drive']]], ['eswing1',['eSWING1',['../structPxD6Axis.html#a0a15eb4ffcf285b3bd8289ddca128880ae9f4bbfb50eaf463e7b1dd406ed1957b',1,'PxD6Axis::eSWING1()'],['../structPxArticulationAxis.html#a5c835f1d727bfc738d1fc7a7595d7395a2e1a274c036f8b7846476dbfe2015fec',1,'PxArticulationAxis::eSWING1()']]], ['eswing2',['eSWING2',['../structPxD6Axis.html#a0a15eb4ffcf285b3bd8289ddca128880ac6058852beed87da5e9e10f153358f60',1,'PxD6Axis::eSWING2()'],['../structPxArticulationAxis.html#a5c835f1d727bfc738d1fc7a7595d7395a33f154c8d454ab3f08f03f512cc03972',1,'PxArticulationAxis::eSWING2()']]], - ['etarget',['eTARGET',['../structPxArticulationJointDriveType.html#ac6be2c7afe87dd7755dae4aa7a0fdfe2a6efbffee5445ed12550a3cb4f1e1cd9e',1,'PxArticulationJointDriveType']]], + ['etarget',['eTARGET',['../structPxArticulationJointDriveType.html#ac6be2c7afe87dd7755dae4aa7a0fdfe2a6efbffee5445ed12550a3cb4f1e1cd9e',1,'PxArticulationJointDriveType::eTARGET()'],['../structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a23e638128e210cafb190ebc3b74b946c',1,'PxArticulationDriveType::eTARGET()']]], ['etemporal_5fbv',['eTEMPORAL_BV',['../structPxControllerDebugRenderFlag.html#a2ca2d1c4bfca5877efb137362de83b9caebb20da3030ba4d86cc768d774fa21ae',1,'PxControllerDebugRenderFlag']]], ['etenth',['eTENTH',['../classPxVehicleGearsData.html#a31359110050aad08510b99208a304cb7a476cfd6e181dbe556b5f84b65f3a94b6',1,'PxVehicleGearsData']]], ['etgs',['eTGS',['../structPxSolverType.html#a96adc2f8785c6b18805a18b03289dbe6ac62cf152c5d6a5e1a12eebc81b0b6e6d',1,'PxSolverType']]], @@ -451,7 +454,7 @@ var searchData= ['evehicledrivenw',['eVehicleDriveNW',['../structPxVehicleConcreteType.html#a8fdbed173444606d4ac4d0f78cac039aad2458cf0a9f26579e4893890cca19e0c',1,'PxVehicleConcreteType']]], ['evehicledrivetank',['eVehicleDriveTank',['../structPxVehicleConcreteType.html#a8fdbed173444606d4ac4d0f78cac039aa59dee7e9fd5f6e8083af8f634db0c0e4',1,'PxVehicleConcreteType']]], ['evehiclenodrive',['eVehicleNoDrive',['../structPxVehicleConcreteType.html#a8fdbed173444606d4ac4d0f78cac039aadee222f7317a5a841cbd3cd865c289a6',1,'PxVehicleConcreteType']]], - ['evelocity',['eVELOCITY',['../classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea2b507b08dbfaa208d407d857295a857b',1,'PxArticulationCache']]], + ['evelocity',['eVELOCITY',['../classPxArticulationCache.html#a17beddf109c14739cacb3ddc833ea14ea2b507b08dbfaa208d407d857295a857b',1,'PxArticulationCache::eVELOCITY()'],['../structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a251a5fda8faa00b14528a841e481c38b',1,'PxArticulationDriveType::eVELOCITY()']]], ['evelocity_5fchange',['eVELOCITY_CHANGE',['../structPxForceMode.html#aadaaafefe0478d829b816154c676e545a9f25946973fec4c78991859e8bf76376',1,'PxForceMode::eVELOCITY_CHANGE()'],['../structPxVehicleUpdateMode.html#ac04dae30cbaf5d57733b9da361bd7118a30be9beaf2dd7db11f3003109b96cffb',1,'PxVehicleUpdateMode::eVELOCITY_CHANGE()']]], ['everbose',['eVERBOSE',['../structPxConverterReportMode.html#aabe051209d39df379f39bbe45bf4f1a3ae5fc1fce15aeb8c610f32e8edd3a112a',1,'PxConverterReportMode']]], ['evirtual',['eVIRTUAL',['../structPxMetaDataFlag.html#a5125f2eba9d78234a2bc7a00b3c3654ca5af5b1fe2c903eef9584a6d6d24f9a47',1,'PxMetaDataFlag']]], diff --git a/physx/documentation/PhysXAPI/files/search/functions_6.js b/physx/documentation/PhysXAPI/files/search/functions_6.js index 733b91e96..c60559f5f 100644 --- a/physx/documentation/PhysXAPI/files/search/functions_6.js +++ b/physx/documentation/PhysXAPI/files/search/functions_6.js @@ -139,7 +139,7 @@ var searchData= ['getfiltershader',['getFilterShader',['../classPxScene.html#aa3f57314433de21448966c1d9004d71a',1,'PxScene']]], ['getfiltershaderdata',['getFilterShaderData',['../classPxBatchQuery.html#a279f956d9c09cb6d0b59ff5103982c37',1,'PxBatchQuery::getFilterShaderData()'],['../classPxScene.html#a5d004fdc88ed31447aa57ee4f98c14ea',1,'PxScene::getFilterShaderData()']]], ['getfiltershaderdatasize',['getFilterShaderDataSize',['../classPxBatchQuery.html#a7213f11f610f088b8d98a075c795d61a',1,'PxBatchQuery::getFilterShaderDataSize()'],['../classPxScene.html#ace291f68b365a4f1aaa291ba940eff9a',1,'PxScene::getFilterShaderDataSize()']]], - ['getflags',['getFlags',['../classPxHeightField.html#a30f6798a40d3f1dad7bf79bae941e082',1,'PxHeightField::getFlags()'],['../classPxConstraint.html#a45297b7f2310005fd74f3e7be995b0f8',1,'PxConstraint::getFlags()'],['../classPxMaterial.html#af8fca7a3079e8da26c8275a9fe3ce635',1,'PxMaterial::getFlags()'],['../classPxScene.html#a0acbc97457d54775b6402f3790c3513b',1,'PxScene::getFlags()'],['../classPxShape.html#acd44b1c761c14e6319475797ec4f9715',1,'PxShape::getFlags()']]], + ['getflags',['getFlags',['../classPxHeightField.html#a30f6798a40d3f1dad7bf79bae941e082',1,'PxHeightField::getFlags()'],['../classPxConstraint.html#a45297b7f2310005fd74f3e7be995b0f8',1,'PxConstraint::getFlags()'],['../classPxMaterial.html#af8fca7a3079e8da26c8275a9fe3ce635',1,'PxMaterial::getFlags()'],['../classPxScene.html#a0acbc97457d54775b6402f3790c3513b',1,'PxScene::getFlags()'],['../classPxShape.html#acd44b1c761c14e6319475797ec4f9715',1,'PxShape::getFlags()'],['../classPxVehicleWheelsSimData.html#a52131b5c5288c9eeea1d3c647d4c079f',1,'PxVehicleWheelsSimData::getFlags()']]], ['getfootposition',['getFootPosition',['../classPxController.html#a401af38fab565432d05b87112b26b816',1,'PxController']]], ['getforce',['getForce',['../classPxConstraint.html#a5838f1118a15b32ca27a6b89e6580cf4',1,'PxConstraint']]], ['getformat',['getFormat',['../classPxHeightField.html#a99d233a5a8ab9a835b5b2fd2115d639e',1,'PxHeightField']]], @@ -201,8 +201,10 @@ var searchData= ['getlinearlimit',['getLinearLimit',['../classPxD6Joint.html#a32d91467d415a46bdf1e55291ae4f71a',1,'PxD6Joint::getLinearLimit() const'],['../classPxD6Joint.html#a4400ad4b1a072f10af325de0bbd69183',1,'PxD6Joint::getLinearLimit(PxD6Axis::Enum axis) const =0']]], ['getlinearvelocity',['getLinearVelocity',['../classPxRigidBody.html#a04bab22deecb716e2cdd7a64b5cfaee7',1,'PxRigidBody']]], ['getlines',['getLines',['../classPxRenderBuffer.html#a48683764dfb58f5b79693ec267790bb2',1,'PxRenderBuffer']]], + ['getlinkacceleration',['getLinkAcceleration',['../classPxArticulationReducedCoordinate.html#ab51ab4c2ab36f1b409a1aa0468f0fe71',1,'PxArticulationReducedCoordinate']]], ['getlinkindex',['getLinkIndex',['../classPxArticulationLink.html#a0686545a15b3556524d0d6914a804a4c',1,'PxArticulationLink']]], ['getlinks',['getLinks',['../classPxArticulationBase.html#a03f24f5c1efdf092602ee6e689827133',1,'PxArticulationBase']]], + ['getlinkvelocity',['getLinkVelocity',['../classPxArticulationReducedCoordinate.html#a4520151744be7de9835c9f90291468c3',1,'PxArticulationReducedCoordinate']]], ['getlocalbounds',['getLocalBounds',['../classPxConvexMesh.html#a288d742ed2fee5c7681fbf5ee6f30f02',1,'PxConvexMesh::getLocalBounds()'],['../classPxTriangleMesh.html#afe5283d82a46081bae3ef7c7132b64ec',1,'PxTriangleMesh::getLocalBounds()']]], ['getlocalpose',['getLocalPose',['../classPxJoint.html#ad13a76df450cf57cfbed486a5359c895',1,'PxJoint::getLocalPose()'],['../classPxShape.html#af455638230d515adbfb561f1064e70a1',1,'PxShape::getLocalPose()']]], ['getlocalvelocityatlocalpos',['getLocalVelocityAtLocalPos',['../classPxRigidBodyExt.html#ab79486496528ea623774e7a9b021633d',1,'PxRigidBodyExt']]], diff --git a/physx/documentation/PhysXAPI/files/search/functions_c.js b/physx/documentation/PhysXAPI/files/search/functions_c.js index 6bc29b02b..f47082dbd 100644 --- a/physx/documentation/PhysXAPI/files/search/functions_c.js +++ b/physx/documentation/PhysXAPI/files/search/functions_c.js @@ -5,7 +5,7 @@ var searchData= ['onccdcontactmodify',['onCCDContactModify',['../classPxCCDContactModifyCallback.html#afadc9c910fca4bd5f22c4b5da0adbe5b',1,'PxCCDContactModifyCallback']]], ['oncomshift',['onComShift',['../classPxConstraintConnector.html#a93cb6a551c50f48d5ccec421a97cabcc',1,'PxConstraintConnector']]], ['onconstraintbreak',['onConstraintBreak',['../classPxSimulationEventCallback.html#a67c6553ee9090481ece8b041502eb948',1,'PxSimulationEventCallback']]], - ['onconstraintrelease',['onConstraintRelease',['../classPxConstraintConnector.html#a9c4abc11ca607b42c8f84956392c9cdd',1,'PxConstraintConnector']]], + ['onconstraintrelease',['onConstraintRelease',['../classPxConstraintConnector.html#a9c4abc11ca607b42c8f84956392c9cdd',1,'PxConstraintConnector::onConstraintRelease()'],['../classPxVehicleWheels.html#ae6eca099bb7019976fd619338dcbf0c3',1,'PxVehicleWheels::onConstraintRelease()']]], ['oncontact',['onContact',['../classPxSimulationEventCallback.html#a4dc1da28643ccf9f77c8432b5eb2fd32',1,'PxSimulationEventCallback']]], ['oncontactmodify',['onContactModify',['../classPxContactModifyCallback.html#a383f0448886bf352215c886b3066f790',1,'PxContactModifyCallback']]], ['oncontrollerhit',['onControllerHit',['../classPxUserControllerHitReport.html#ab2340ac48d016da0481c6cb6efda97b9',1,'PxUserControllerHitReport']]], diff --git a/physx/documentation/PhysXAPI/files/search/functions_d.js b/physx/documentation/PhysXAPI/files/search/functions_d.js index 43bb0083c..c990c214f 100644 --- a/physx/documentation/PhysXAPI/files/search/functions_d.js +++ b/physx/documentation/PhysXAPI/files/search/functions_d.js @@ -37,6 +37,7 @@ var searchData= ['pxactorshape',['PxActorShape',['../structPxActorShape.html#a05dd357bb0aba0bb5dd8150be3f9857e',1,'PxActorShape::PxActorShape()'],['../structPxActorShape.html#a2f394ba364da63d6a087692683792de5',1,'PxActorShape::PxActorShape(PxRigidActor *a, PxShape *s)']]], ['pxaddarticulationlink',['PxAddArticulationLink',['../group__immediatemode.html#ga8c2749699d2f9e22cfb34ed83a7b80ce',1,'PxImmediateMode.h']]], ['pxaggregate',['PxAggregate',['../classPxAggregate.html#a5a056899bfb00d7165bd04bcb6e0dc52',1,'PxAggregate::PxAggregate(PxType concreteType, PxBaseFlags baseFlags)'],['../classPxAggregate.html#ab837e81a00421796a5a7f1f0a3551fe0',1,'PxAggregate::PxAggregate(PxBaseFlags baseFlags)']]], + ['pxapplyarticulationcache',['PxApplyArticulationCache',['../group__immediatemode.html#gadcdee80ca02f10c0e31a367c7d30ca91',1,'PxImmediateMode.h']]], ['pxarticulation',['PxArticulation',['../classPxArticulation.html#a34e5bd7f69fc0de6c32a9bdd86ad42cc',1,'PxArticulation::PxArticulation(PxType concreteType, PxBaseFlags baseFlags)'],['../classPxArticulation.html#ac4581a1b3e03a2fa156dc12a18929361',1,'PxArticulation::PxArticulation(PxBaseFlags baseFlags)']]], ['pxarticulationbase',['PxArticulationBase',['../classPxArticulationBase.html#abdd331a2b48fd30ad35af280772996d9',1,'PxArticulationBase::PxArticulationBase(PxType concreteType, PxBaseFlags baseFlags)'],['../classPxArticulationBase.html#a07f4354244d4d6dbc0adec96ccf2ab85',1,'PxArticulationBase::PxArticulationBase(PxBaseFlags baseFlags)']]], ['pxarticulationcache',['PxArticulationCache',['../classPxArticulationCache.html#a750cf6f5d426723b6d6cf731bd290ea5',1,'PxArticulationCache']]], @@ -110,7 +111,9 @@ var searchData= ['pxconvexmeshdesc',['PxConvexMeshDesc',['../group__cooking.html#ga2b98217f34d8856ebe839821740ac438',1,'PxConvexMeshDesc']]], ['pxconvexmeshgeometry',['PxConvexMeshGeometry',['../classPxConvexMeshGeometry.html#a1560beb69b5adf8d53d7dd13524438a1',1,'PxConvexMeshGeometry::PxConvexMeshGeometry()'],['../classPxConvexMeshGeometry.html#a21eea2894d95cc2a9f900d0cc5afd304',1,'PxConvexMeshGeometry::PxConvexMeshGeometry(PxConvexMesh *mesh, const PxMeshScale &scaling=PxMeshScale(), PxConvexMeshGeometryFlags flags=PxConvexMeshGeometryFlag::eTIGHT_BOUNDS)']]], ['pxcookingparams',['PxCookingParams',['../structPxCookingParams.html#a738bc9799f789da5c453cadae5eaec47',1,'PxCookingParams']]], + ['pxcopyinternalstatetoarticulationcache',['PxCopyInternalStateToArticulationCache',['../group__immediatemode.html#ga5d5ba6074b5169c269d7e4c56ac0467d',1,'PxImmediateMode.h']]], ['pxcos',['PxCos',['../group__foundation.html#gacc501523ad3ab46c5a061c4442d10fcf',1,'PxCos(float a): PxMath.h'],['../group__foundation.html#ga903d59eeddf0328e54f1caf8efddf2fc',1,'PxCos(double a): PxMath.h']]], + ['pxcreatearticulationcache',['PxCreateArticulationCache',['../group__immediatemode.html#gaa29d46bee46ce200c9e8a2a6f353c0a1',1,'PxImmediateMode.h']]], ['pxcreatebasephysics',['PxCreateBasePhysics',['../group__physics.html#gad63c429157f9c8c87fcd0ea2f9b79f66',1,'PxPhysics.h']]], ['pxcreatecollection',['PxCreateCollection',['../group__common.html#gaa3979f24ebe59e173e262c7155b1a489',1,'PxCollection.h']]], ['pxcreatecontactconstraints',['PxCreateContactConstraints',['../group__immediatemode.html#ga02dd00aca33ee58a65f32472719e9b07',1,'PxImmediateMode.h']]], @@ -258,6 +261,7 @@ var searchData= ['pxregisterheightfields',['PxRegisterHeightFields',['../group__physics.html#gae3a84455caaa6a7de67513ea29a315e1',1,'PxPhysics.h']]], ['pxregisterimmediatearticulations',['PxRegisterImmediateArticulations',['../group__immediatemode.html#ga6d8ad8d1a6156da1f4473d4ec4922016',1,'PxImmediateMode.h']]], ['pxreleasearticulation',['PxReleaseArticulation',['../group__immediatemode.html#ga5df3edcbf7b639900668b49ff50eda22',1,'PxImmediateMode.h']]], + ['pxreleasearticulationcache',['PxReleaseArticulationCache',['../group__immediatemode.html#ga5189b5d63b22e3d7e1da1d94aa6854b7',1,'PxImmediateMode.h']]], ['pxrepxinstantiationargs',['PxRepXInstantiationArgs',['../structPxRepXInstantiationArgs.html#a030a16eab5b43df69854f966c0b95f17',1,'PxRepXInstantiationArgs']]], ['pxrepxobject',['PxRepXObject',['../structPxRepXObject.html#aa1cc707ced49e51838f39a1867566893',1,'PxRepXObject']]], ['pxrevolutejoint',['PxRevoluteJoint',['../classPxRevoluteJoint.html#a298f032a11365475f16d6d2b42c5dc61',1,'PxRevoluteJoint::PxRevoluteJoint(PxType concreteType, PxBaseFlags baseFlags)'],['../classPxRevoluteJoint.html#a738a0a094358001c58c9c3ea070730a2',1,'PxRevoluteJoint::PxRevoluteJoint(PxBaseFlags baseFlags)']]], diff --git a/physx/documentation/PhysXAPI/files/search/functions_e.js b/physx/documentation/PhysXAPI/files/search/functions_e.js index c87786253..9fb2c03cf 100644 --- a/physx/documentation/PhysXAPI/files/search/functions_e.js +++ b/physx/documentation/PhysXAPI/files/search/functions_e.js @@ -46,7 +46,7 @@ var searchData= ['requiresobjects',['requiresObjects',['../classPxSerializer.html#af5db22cae0884acf0c53dc8f6daf719f',1,'PxSerializer::requiresObjects()'],['../classPxSerializerDefaultAdapter.html#a480df87ac9da1fa02e6384258cd99f1a',1,'PxSerializerDefaultAdapter::requiresObjects()'],['../classPxVehicleWheels.html#ae58ab064534a9b0256665c60ed8e63d2',1,'PxVehicleWheels::requiresObjects()']]], ['reserveconstraintdata',['reserveConstraintData',['../classPxConstraintAllocator.html#a290d9201d3480594fee91aab84a222ee',1,'PxConstraintAllocator']]], ['reservefrictiondata',['reserveFrictionData',['../classPxConstraintAllocator.html#aa7ac124b5ce281e270b5e9916f1f9568',1,'PxConstraintAllocator']]], - ['reset',['reset',['../classphysx_1_1Gu_1_1ContactBuffer.html#a3e0ba809a9dca51174be563a6ef4a5f4',1,'physx::Gu::ContactBuffer']]], + ['reset',['reset',['../structPxCache.html#a7dfc5d1edea7da1ca1c717178eb21d87',1,'PxCache::reset()'],['../classphysx_1_1Gu_1_1ContactBuffer.html#a3e0ba809a9dca51174be563a6ef4a5f4',1,'physx::Gu::ContactBuffer::reset()']]], ['resetdependencies',['resetDependencies',['../classphysx_1_1PxTaskManager.html#a79606deb50e9eb500c5febb44ba1e764',1,'physx::PxTaskManager']]], ['resetfiltering',['resetFiltering',['../classPxScene.html#af648aa06d19cfec20eeee278719f345c',1,'PxScene::resetFiltering(PxActor &actor)=0'],['../classPxScene.html#aae469799c2e23d06ce5c1079e36df953',1,'PxScene::resetFiltering(PxRigidActor &actor, PxShape *const *shapes, PxU32 shapeCount)=0']]], ['resize',['resize',['../classPxController.html#a4b982db163cd5189357eee4c26430cf6',1,'PxController']]], diff --git a/physx/documentation/PhysXAPI/files/search/functions_f.js b/physx/documentation/PhysXAPI/files/search/functions_f.js index e33120d96..01c2889b9 100644 --- a/physx/documentation/PhysXAPI/files/search/functions_f.js +++ b/physx/documentation/PhysXAPI/files/search/functions_f.js @@ -102,7 +102,7 @@ var searchData= ['setexternaldriveiterations',['setExternalDriveIterations',['../classPxArticulation.html#a767fb3ec58b891bcd8dd0d769a5789cf',1,'PxArticulation']]], ['setfiltershaderdata',['setFilterShaderData',['../classPxScene.html#a5ab05d2a2c908d98aed4ca642c5f394d',1,'PxScene']]], ['setflag',['setFlag',['../classPxConstraint.html#a95488eea1d5847d3d1408c3d5cdf2576',1,'PxConstraint::setFlag()'],['../classPxMaterial.html#a3dbcd175e805766442291c1285eafe8c',1,'PxMaterial::setFlag()'],['../classPxScene.html#a6610c08a5a92c894dcac9d658e48b7de',1,'PxScene::setFlag()'],['../classPxShape.html#a3c879df184ef40514589c5aa3d1f2a33',1,'PxShape::setFlag()']]], - ['setflags',['setFlags',['../classPxConstraint.html#a2d697724814976973b1de9e303e15b3f',1,'PxConstraint::setFlags()'],['../classPxMaterial.html#a452856bae712ad60a281ec45a4bd69a9',1,'PxMaterial::setFlags()'],['../classPxShape.html#afc179cb4b2146af98c76623d2fc0db6e',1,'PxShape::setFlags()']]], + ['setflags',['setFlags',['../classPxConstraint.html#a2d697724814976973b1de9e303e15b3f',1,'PxConstraint::setFlags()'],['../classPxMaterial.html#a452856bae712ad60a281ec45a4bd69a9',1,'PxMaterial::setFlags()'],['../classPxShape.html#afc179cb4b2146af98c76623d2fc0db6e',1,'PxShape::setFlags()'],['../classPxVehicleWheelsSimData.html#a3720f1b1894f707381a5a54e61996d7d',1,'PxVehicleWheelsSimData::setFlags()']]], ['setfootposition',['setFootPosition',['../classPxController.html#ab09889972859bf03168d1d48434094ff',1,'PxController']]], ['setforceandtorque',['setForceAndTorque',['../classPxRigidBody.html#ae1cf856d4059ff6b422b2c58f91d242f',1,'PxRigidBody']]], ['setfrictioncoefficient',['setFrictionCoefficient',['../classPxArticulationJointReducedCoordinate.html#abeba41ebc0abfe5beafb20f0396ad4a2',1,'PxArticulationJointReducedCoordinate']]], diff --git a/physx/documentation/PhysXAPI/files/search/typedefs_3.js b/physx/documentation/PhysXAPI/files/search/typedefs_3.js index 678d58e22..8d5174c32 100644 --- a/physx/documentation/PhysXAPI/files/search/typedefs_3.js +++ b/physx/documentation/PhysXAPI/files/search/typedefs_3.js @@ -61,7 +61,7 @@ var searchData= ['pxreal',['PxReal',['../namespacephysx.html#a727d2d8426e2a21ebbc522fa65c3f97a',1,'physx']]], ['pxrevolutejointflags',['PxRevoluteJointFlags',['../group__extensions.html#ga064759e7f7a48b93670218bb400355e8',1,'PxRevoluteJoint.h']]], ['pxrigidbodyflags',['PxRigidBodyFlags',['../group__physics.html#ga2ab6803c803ae6372791ff060068c6a1',1,'PxRigidBody.h']]], - ['pxrigiddynamiclockflags',['PxRigidDynamicLockFlags',['../group__physics.html#gab35e15599f740af43f399ed4ad9f04e8',1,'PxRigidDynamic.h']]], + ['pxrigiddynamiclockflags',['PxRigidDynamicLockFlags',['../group__physics.html#ga5ff75d3f2ba94c58e7f8f928b11ebb8d',1,'PxRigidDynamic.h']]], ['pxsceneflags',['PxSceneFlags',['../group__physics.html#ga54a626a9a6d80543048bffc654814704',1,'PxSceneDesc.h']]], ['pxscenequerycache',['PxSceneQueryCache',['../group__extensions.html#ga871e9d89cdf9bbab58883b5f0822b5c3',1,'PxSceneQueryExt.h']]], ['pxscenequeryfiltercallback',['PxSceneQueryFilterCallback',['../group__extensions.html#gaf9d442ec851f833a9276ddb7ea46dd23',1,'PxSceneQueryExt.h']]], @@ -85,5 +85,6 @@ var searchData= ['pxu32',['PxU32',['../group__foundation.html#gacce5749db3dcfb916e98c253374264ed',1,'PxU32(): Px.h'],['../namespacephysx.html#a9b7fbd746d18bf5b6545713a8d818f41',1,'physx::PxU32()']]], ['pxu64',['PxU64',['../namespacephysx.html#a8ee037dcecf7198800e1f302795c10ee',1,'physx']]], ['pxu8',['PxU8',['../namespacephysx.html#a3849f86abc21d3a58949481603fe8309',1,'physx']]], - ['pxvehiclecomputetireforce',['PxVehicleComputeTireForce',['../group__vehicle.html#ga2b7b927dd3d949d50a3f42c695264f43',1,'PxVehicleShaders.h']]] + ['pxvehiclecomputetireforce',['PxVehicleComputeTireForce',['../group__vehicle.html#ga2b7b927dd3d949d50a3f42c695264f43',1,'PxVehicleShaders.h']]], + ['pxvehiclewheelssimflags',['PxVehicleWheelsSimFlags',['../group__vehicle.html#gab5de07a7bd475df4e4c41f3f11ddcdb5',1,'PxVehicleWheels.h']]] ]; diff --git a/physx/documentation/PhysXAPI/files/search/variables_1.js b/physx/documentation/PhysXAPI/files/search/variables_1.js index e16cc3137..7ff4656d0 100644 --- a/physx/documentation/PhysXAPI/files/search/variables_1.js +++ b/physx/documentation/PhysXAPI/files/search/variables_1.js @@ -6,6 +6,7 @@ var searchData= ['actors',['actors',['../structPxContactPairHeader.html#ae3a7e00ec5edf59b946196becc840182',1,'PxContactPairHeader']]], ['alignment',['alignment',['../structPxMetaDataEntry.html#a638dd4ae7cf2bff56370ea132e5f4455',1,'PxMetaDataEntry']]], ['angbreakforce',['angBreakForce',['../structPxSolverConstraintPrepDesc.html#a7239e20d064498417e90b7630c8a87e1',1,'PxSolverConstraintPrepDesc::angBreakForce()'],['../structPxTGSSolverConstraintPrepDesc.html#a8aa125210bc7775041c4ed07b5d0beca',1,'PxTGSSolverConstraintPrepDesc::angBreakForce()']]], + ['angular',['angular',['../structPxSpatialVelocity.html#a9f786fd589f7cdd251bce4533740a3dc',1,'PxSpatialVelocity::angular()'],['../PxArticulationReducedCoordinate_8h.html#a9603c86a5d2d0bff969100f99e404753',1,'angular(): PxArticulationReducedCoordinate.h']]], ['angular0',['angular0',['../structPxJacobianRow.html#af0b46c79d95cecd37a6abd4a54de5172',1,'PxJacobianRow::angular0()'],['../structPx1DConstraint.html#afaf3f8a6b645f3b48c123ab94016b1c2',1,'Px1DConstraint::angular0()'],['../structPxConstraintInvMassScale.html#a21b735d9ea167a97b1196dac0994aeaa',1,'PxConstraintInvMassScale::angular0()'],['../PxConstraintDesc_8h.html#aedfa5ee532b9709c9c9fd6891cd21a42',1,'angular0(): PxConstraintDesc.h']]], ['angular1',['angular1',['../structPxJacobianRow.html#a4a7c80c1e6d53309c81419efbdf7da93',1,'PxJacobianRow::angular1()'],['../structPx1DConstraint.html#ab7a1efaff54cb4d2fd6e3e7cc01a2503',1,'Px1DConstraint::angular1()'],['../structPxConstraintInvMassScale.html#a98ca9fd97433a912c8ad5b592a2a2cfa',1,'PxConstraintInvMassScale::angular1()'],['../PxConstraintDesc_8h.html#a207b5d9af733005fd408aee31a0e13b4',1,'angular1(): PxConstraintDesc.h']]], ['angulardamping',['angularDamping',['../structPxRigidBodyData.html#a94c9d8403adad700ceeffa7005991d7e',1,'PxRigidBodyData::angularDamping()'],['../structPxMutableLinkData.html#a68d474233833a0f0ba084dcb61e5226c',1,'PxMutableLinkData::angularDamping()']]], diff --git a/physx/documentation/PhysXAPI/files/search/variables_10.js b/physx/documentation/PhysXAPI/files/search/variables_10.js index 5947e15cf..1f2f14cb7 100644 --- a/physx/documentation/PhysXAPI/files/search/variables_10.js +++ b/physx/documentation/PhysXAPI/files/search/variables_10.js @@ -2,8 +2,8 @@ var searchData= [ ['p',['p',['../classPxTransform.html#ab1a41ac5f4df8e07ba590fa0a8a6e786',1,'PxTransform']]], ['pad',['pad',['../classphysx_1_1Gu_1_1ContactBuffer.html#a4f8fabbb2c9690d8fb30f8b6b1459294',1,'physx::Gu::ContactBuffer::pad()'],['../structPxBatchQueryResult.html#ad0b4a79dc77732dc7bbe5c56f50bd4a6',1,'PxBatchQueryResult::pad()'],['../structPxRigidBodyData.html#a1bb93cacad36fcc17492afe83718f8c7',1,'PxRigidBodyData::pad()'],['../structPxSolverBodyData.html#aa406db65fc9a3a26764ffb91dbbad1b7',1,'PxSolverBodyData::pad()'],['../structPxSolverContactDesc.html#a1dd628330696744829667e0c883ed7be',1,'PxSolverContactDesc::pad()'],['../structPxTGSSolverBodyVel.html#a143884acc4bdc567626be91653ed861f',1,'PxTGSSolverBodyVel::pad()'],['../structPxTGSSolverBodyData.html#adf8bec50408d2405fbf2372b13390572',1,'PxTGSSolverBodyData::pad()'],['../classPxVehicleChassisData.html#a7e37b2a81f834c76e9b00bf9b7358421',1,'PxVehicleChassisData::pad()']]], - ['pad0',['pad0',['../structPxSpatialForce.html#a2cdc903082cac57c5458f24dbfa2e1e3',1,'PxSpatialForce::pad0()'],['../PxArticulationReducedCoordinate_8h.html#a38edacc159efc770954897a85a7c8146',1,'pad0(): PxArticulationReducedCoordinate.h']]], - ['pad1',['pad1',['../structPxSpatialForce.html#aee182664c6f1807eb945d3c83ac746b3',1,'PxSpatialForce::pad1()'],['../PxArticulationReducedCoordinate_8h.html#a88c56ce9e0d40d8821c1dc1bd6182ccd',1,'pad1(): PxArticulationReducedCoordinate.h']]], + ['pad0',['pad0',['../structPxSpatialForce.html#a2cdc903082cac57c5458f24dbfa2e1e3',1,'PxSpatialForce::pad0()'],['../structPxSpatialVelocity.html#a02e82818206391c9ece02f9422ba159d',1,'PxSpatialVelocity::pad0()'],['../PxArticulationReducedCoordinate_8h.html#a38edacc159efc770954897a85a7c8146',1,'pad0(): PxArticulationReducedCoordinate.h']]], + ['pad1',['pad1',['../structPxSpatialForce.html#aee182664c6f1807eb945d3c83ac746b3',1,'PxSpatialForce::pad1()'],['../structPxSpatialVelocity.html#a1873df39ae53892ee11f61eecf4493ac',1,'PxSpatialVelocity::pad1()'],['../PxArticulationReducedCoordinate_8h.html#a88c56ce9e0d40d8821c1dc1bd6182ccd',1,'pad1(): PxArticulationReducedCoordinate.h']]], ['paddingfromflags',['paddingFromFlags',['../classPxConvexMeshGeometry.html#ad2bed15287e31918b5ca0051f0604eeb',1,'PxConvexMeshGeometry::paddingFromFlags()'],['../classPxHeightFieldGeometry.html#ac6320ee337895516d651d46be99217d6',1,'PxHeightFieldGeometry::paddingFromFlags()'],['../classPxTriangleMeshGeometry.html#a114bc6e19dc5bc001ef9cedd1b772a03',1,'PxTriangleMeshGeometry::paddingFromFlags()']]], ['padto16bytes',['padTo16Bytes',['../structPxRaycastHit.html#a251f56ec3d168a814467301f61a120c7',1,'PxRaycastHit::padTo16Bytes()'],['../structPxOverlapHit.html#a27b1ad19e9c07c2d6463707b6f18b684',1,'PxOverlapHit::padTo16Bytes()'],['../structPxSweepHit.html#a4bf1a7791ef7aa0d5030fdd2756a607f',1,'PxSweepHit::padTo16Bytes()']]], ['pairs',['pairs',['../structPxContactPairHeader.html#a747c8a693f1a7100b0da1e8b431fbb36',1,'PxContactPairHeader']]], diff --git a/physx/documentation/PhysXAPI/files/search/variables_c.js b/physx/documentation/PhysXAPI/files/search/variables_c.js index 44e89ff80..ee9f644ea 100644 --- a/physx/documentation/PhysXAPI/files/search/variables_c.js +++ b/physx/documentation/PhysXAPI/files/search/variables_c.js @@ -5,13 +5,16 @@ var searchData= ['length',['length',['../structPxControllerHit.html#aa2296561efe5e85018d55fdc0be877c8',1,'PxControllerHit::length()'],['../classPxTolerancesScale.html#a7d93bf20de0e5b54783eda5bb64effeb',1,'PxTolerancesScale::length()']]], ['limits',['limits',['../structPxFeatherstoneArticulationJointData.html#a49eb4f33473161321dcfe646a6b20a81',1,'PxFeatherstoneArticulationJointData::limits()'],['../classPxSceneDesc.html#ab996312333ef4fdf5f77fcc16b84923e',1,'PxSceneDesc::limits()']]], ['linbreakforce',['linBreakForce',['../structPxSolverConstraintPrepDesc.html#afb5f4b0d0b54dffbe066d8f9471474a3',1,'PxSolverConstraintPrepDesc::linBreakForce()'],['../structPxTGSSolverConstraintPrepDesc.html#a2e6f1bfe2c789007a302b614b730daaa',1,'PxTGSSolverConstraintPrepDesc::linBreakForce()']]], + ['linear',['linear',['../structPxSpatialVelocity.html#ac02baccbfcfc70da86f7e26a927e2f6c',1,'PxSpatialVelocity::linear()'],['../PxArticulationReducedCoordinate_8h.html#a840381307a4813334fba199be4bbcbf3',1,'linear(): PxArticulationReducedCoordinate.h']]], ['linear0',['linear0',['../structPxJacobianRow.html#a9c02a517f40113946136a6c51775bea1',1,'PxJacobianRow::linear0()'],['../structPx1DConstraint.html#ac56cab2d459ade70824f04821404889c',1,'Px1DConstraint::linear0()'],['../structPxConstraintInvMassScale.html#accf60e3a08768821ba0d5d08022ad1c6',1,'PxConstraintInvMassScale::linear0()'],['../PxConstraintDesc_8h.html#a2f2e38dff53ddb4b489a43aa882ded1f',1,'linear0(): PxConstraintDesc.h']]], ['linear1',['linear1',['../structPxJacobianRow.html#ad0cb9d556b080dd9eb47dc6c2660ecd8',1,'PxJacobianRow::linear1()'],['../structPx1DConstraint.html#a9523a9ebd2707f8d442ca4a0bf4da573',1,'Px1DConstraint::linear1()'],['../structPxConstraintInvMassScale.html#aec4a528a9abf04ff5a197caadf4420ba',1,'PxConstraintInvMassScale::linear1()'],['../PxConstraintDesc_8h.html#a6ace81e157c4e64cfb13def6f2ffe4fe',1,'linear1(): PxConstraintDesc.h']]], ['lineardamping',['linearDamping',['../structPxRigidBodyData.html#a8623352bac79ed126892a104e1aab68d',1,'PxRigidBodyData::linearDamping()'],['../structPxMutableLinkData.html#a71f45bc5834d96a08c90e2cf369f62ab',1,'PxMutableLinkData::linearDamping()']]], ['linearmomentumchange',['linearMomentumChange',['../structPxVehicleConcurrentUpdateData.html#ac9d1b52b512099dcda2b9880be859c4a',1,'PxVehicleConcurrentUpdateData']]], ['linearvelocity',['linearVelocity',['../structPxLinkData.html#a6ccf02ecd38295dfba83d943fdb06faa',1,'PxLinkData::linearVelocity()'],['../structPxContactPairVelocity.html#a98a55c7cf6a531934189f69933723a23',1,'PxContactPairVelocity::linearVelocity()']]], + ['linkacceleration',['linkAcceleration',['../classPxArticulationCache.html#ac67f33a6b89001467a31fd4a3f4afa23',1,'PxArticulationCache']]], ['linkindexa',['linkIndexA',['../structPxSolverConstraintDesc.html#ab7d352db61fd0a031d9574a4322e629d',1,'PxSolverConstraintDesc']]], ['linkindexb',['linkIndexB',['../structPxSolverConstraintDesc.html#a833220f6cf3fef57bee54a4cfaa81049',1,'PxSolverConstraintDesc']]], + ['linkvelocity',['linkVelocity',['../classPxArticulationCache.html#a91adda674694b0f628a07e4ca89bcec5',1,'PxArticulationCache']]], ['localpose',['localPose',['../structPxWheelQueryResult.html#a55c818d828141bcb635af224516fc107',1,'PxWheelQueryResult::localPose()'],['../structPxVehicleWheelConcurrentUpdateData.html#a753e220d1a36eee5813624895d67f2ea',1,'PxVehicleWheelConcurrentUpdateData::localPose()']]], ['lockflags',['lockFlags',['../structPxSolverBodyData.html#a1a9709cbcf35df7551b23ff63b40a415',1,'PxSolverBodyData::lockFlags()'],['../structPxTGSSolverBodyVel.html#a396aa6ce5758b19d81a4860fa67065db',1,'PxTGSSolverBodyVel::lockFlags()']]], ['longitudinalslip',['longitudinalSlip',['../structPxWheelQueryResult.html#abfdde49461f75cb9e226ed2923d58ce5',1,'PxWheelQueryResult']]], diff --git a/physx/documentation/PhysXAPI/files/search/variables_d.js b/physx/documentation/PhysXAPI/files/search/variables_d.js index 117ad7dbf..6c47368b8 100644 --- a/physx/documentation/PhysXAPI/files/search/variables_d.js +++ b/physx/documentation/PhysXAPI/files/search/variables_d.js @@ -105,6 +105,7 @@ var searchData= ['mfilterdata',['mFilterData',['../classPxControllerFilters.html#acf5e6d944353328cb490c7627c697a82',1,'PxControllerFilters']]], ['mfilterflags',['mFilterFlags',['../classPxControllerFilters.html#a9281f07b97b88a5720d30282b97e086d',1,'PxControllerFilters']]], ['mfinalratio',['mFinalRatio',['../classPxVehicleGearsData.html#adb04c7e952cb69ecda68de63baace547',1,'PxVehicleGearsData']]], + ['mflags',['mFlags',['../classPxVehicleWheelsSimData.html#ac19a8182d65219347b5310b6b40b0f34',1,'PxVehicleWheelsSimData']]], ['mfrictionvsslipgraph',['mFrictionVsSlipGraph',['../classPxVehicleTireData.html#aab2bbd4b293db8fb9b94f310a59176a2',1,'PxVehicleTireData']]], ['mfrictionvsslipgraphrecipx1minusx0',['mFrictionVsSlipGraphRecipx1Minusx0',['../classPxVehicleTireData.html#a72bc73620f4d6265cf51869439574d3c',1,'PxVehicleTireData']]], ['mfrictionvsslipgraphrecipx2minusx1',['mFrictionVsSlipGraphRecipx2Minusx1',['../classPxVehicleTireData.html#a5a2f35b2a0e3e225e13c62f6d4c588d6',1,'PxVehicleTireData']]], @@ -173,7 +174,7 @@ var searchData= ['mods',['mods',['../structPx1DConstraint.html#a1d6fb39145a651f0c145224722bdd650',1,'Px1DConstraint::mods()'],['../PxConstraintDesc_8h.html#adba9ab3cffe697c36ed4b29ad3adc62e',1,'mods(): PxConstraintDesc.h']]], ['monconstraintreleasecounter',['mOnConstraintReleaseCounter',['../classPxVehicleWheels.html#a207673f21e572fc17e5117eb305e2544',1,'PxVehicleWheels']]], ['motion',['motion',['../structPxFeatherstoneArticulationJointData.html#aadb85c9524b8b70ee7348a808069607a',1,'PxFeatherstoneArticulationJointData']]], - ['mpad',['mPad',['../classPxFixedSizeLookupTable.html#a50e80a269f17efc63155e944b3b47df0',1,'PxFixedSizeLookupTable::mPad()'],['../classPxVehicleGearsData.html#a4f53c98eb2607d7f8faa478ef4c994d1',1,'PxVehicleGearsData::mPad()'],['../classPxVehicleDifferential4WData.html#a182c0d18f4eb7375e75e6e26bc4328aa',1,'PxVehicleDifferential4WData::mPad()'],['../classPxVehicleDifferentialNWData.html#aef3d841f346427763b04148b07ad76bd',1,'PxVehicleDifferentialNWData::mPad()'],['../classPxVehicleClutchData.html#a64734e299b40dacd3de949b2cabd8b67',1,'PxVehicleClutchData::mPad()'],['../classPxVehicleTireLoadFilterData.html#a5cfdd6e34435331fb89c2d10209ecc70',1,'PxVehicleTireLoadFilterData::mPad()'],['../classPxVehicleWheelData.html#a0bfd3df01cfeb3b9fd3de0edc1437ab9',1,'PxVehicleWheelData::mPad()'],['../classPxVehicleSuspensionData.html#aa84939cb947f9b7d600564a64982975d',1,'PxVehicleSuspensionData::mPad()'],['../classPxVehicleAntiRollBarData.html#a3bc167f2dfbdf1d420337c3d113ce76d',1,'PxVehicleAntiRollBarData::mPad()'],['../classPxVehicleTireData.html#a0b498753b7cf6afa6f0d507413dcb629',1,'PxVehicleTireData::mPad()'],['../classPxVehicleDriveDynData.html#a8cd3352fd2c2070c9f9593071872e42d',1,'PxVehicleDriveDynData::mPad()'],['../classPxVehicleDriveTank.html#a68ec7b4f608505eef0775421422791e4',1,'PxVehicleDriveTank::mPad()'],['../classPxVehicleNoDrive.html#a0eef7389deac2fd9aeb1824c62ec5a00',1,'PxVehicleNoDrive::mPad()'],['../classPxVehicleDrivableSurfaceToTireFrictionPairs.html#a56908c7cc92d8fa93455699f4ed2645a',1,'PxVehicleDrivableSurfaceToTireFrictionPairs::mPad()'],['../classPxVehicleWheelsSimData.html#a7baa295b6de37e9b30c12d24a898d67c',1,'PxVehicleWheelsSimData::mPad()'],['../classPxVehicleWheelsDynData.html#a4a8a66f7bf5d2aa51df5da6bcdbad91a',1,'PxVehicleWheelsDynData::mPad()']]], + ['mpad',['mPad',['../classPxFixedSizeLookupTable.html#a50e80a269f17efc63155e944b3b47df0',1,'PxFixedSizeLookupTable::mPad()'],['../classPxVehicleGearsData.html#a4f53c98eb2607d7f8faa478ef4c994d1',1,'PxVehicleGearsData::mPad()'],['../classPxVehicleDifferential4WData.html#a182c0d18f4eb7375e75e6e26bc4328aa',1,'PxVehicleDifferential4WData::mPad()'],['../classPxVehicleDifferentialNWData.html#aef3d841f346427763b04148b07ad76bd',1,'PxVehicleDifferentialNWData::mPad()'],['../classPxVehicleClutchData.html#a64734e299b40dacd3de949b2cabd8b67',1,'PxVehicleClutchData::mPad()'],['../classPxVehicleTireLoadFilterData.html#a5cfdd6e34435331fb89c2d10209ecc70',1,'PxVehicleTireLoadFilterData::mPad()'],['../classPxVehicleWheelData.html#a0bfd3df01cfeb3b9fd3de0edc1437ab9',1,'PxVehicleWheelData::mPad()'],['../classPxVehicleSuspensionData.html#aa84939cb947f9b7d600564a64982975d',1,'PxVehicleSuspensionData::mPad()'],['../classPxVehicleAntiRollBarData.html#a3bc167f2dfbdf1d420337c3d113ce76d',1,'PxVehicleAntiRollBarData::mPad()'],['../classPxVehicleTireData.html#a0b498753b7cf6afa6f0d507413dcb629',1,'PxVehicleTireData::mPad()'],['../classPxVehicleDriveDynData.html#a8cd3352fd2c2070c9f9593071872e42d',1,'PxVehicleDriveDynData::mPad()'],['../classPxVehicleDriveTank.html#a68ec7b4f608505eef0775421422791e4',1,'PxVehicleDriveTank::mPad()'],['../classPxVehicleNoDrive.html#a0eef7389deac2fd9aeb1824c62ec5a00',1,'PxVehicleNoDrive::mPad()'],['../classPxVehicleDrivableSurfaceToTireFrictionPairs.html#a56908c7cc92d8fa93455699f4ed2645a',1,'PxVehicleDrivableSurfaceToTireFrictionPairs::mPad()'],['../classPxVehicleWheelsDynData.html#a4a8a66f7bf5d2aa51df5da6bcdbad91a',1,'PxVehicleWheelsDynData::mPad()']]], ['mpad0',['mPad0',['../classPxVehicleWheels.html#a6c7b7db6738f532cdbc4a44189170a81',1,'PxVehicleWheels']]], ['mpadding',['mPadding',['../structPxPadding.html#a265445b56460ef5b0d4e4bdb477a4090',1,'PxPadding']]], ['mpairdata',['mPairData',['../structPxCache.html#ac64e5785004b9564907686b4e8193d3e',1,'PxCache']]], diff --git a/physx/documentation/PhysXAPI/files/structPxArticulationDriveType-members.html b/physx/documentation/PhysXAPI/files/structPxArticulationDriveType-members.html index 05ed3394b..3e15da801 100644 --- a/physx/documentation/PhysXAPI/files/structPxArticulationDriveType-members.html +++ b/physx/documentation/PhysXAPI/files/structPxArticulationDriveType-members.html @@ -91,7 +91,10 @@ - + + + +
eACCELERATION enum valuePxArticulationDriveType
eFORCE enum valuePxArticulationDriveType
Enum enum namePxArticulationDriveType
eNONE enum valuePxArticulationDriveType
Enum enum namePxArticulationDriveType
eTARGET enum valuePxArticulationDriveType
eVELOCITY enum valuePxArticulationDriveType
diff --git a/physx/documentation/PhysXAPI/files/structPxArticulationDriveType.html b/physx/documentation/PhysXAPI/files/structPxArticulationDriveType.html index e6f31a24e..05ee2cdd9 100644 --- a/physx/documentation/PhysXAPI/files/structPxArticulationDriveType.html +++ b/physx/documentation/PhysXAPI/files/structPxArticulationDriveType.html @@ -94,8 +94,14 @@ -

Public Types

enum  Enum { eFORCE = 0, -eACCELERATION = 1 +
enum  Enum {
+  eFORCE = 0, +eACCELERATION = 1, +eTARGET = 2, +eVELOCITY = 3, +
+  eNONE = 4 +
}
 
@@ -114,6 +120,9 @@

EnumeratoreFORCE  eACCELERATION  +eTARGET  +eVELOCITY  +eNONE  diff --git a/physx/documentation/PhysXAPI/files/structPxArticulationDriveType.js b/physx/documentation/PhysXAPI/files/structPxArticulationDriveType.js index 398846ff8..a1318dca4 100644 --- a/physx/documentation/PhysXAPI/files/structPxArticulationDriveType.js +++ b/physx/documentation/PhysXAPI/files/structPxArticulationDriveType.js @@ -2,6 +2,9 @@ var structPxArticulationDriveType = [ [ "Enum", "structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66", [ [ "eFORCE", "structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a05c2a66b7f4f1cbaa672ee7f0934d698", null ], - [ "eACCELERATION", "structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a3d9a932de20659705c6bd00027f06111", null ] + [ "eACCELERATION", "structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a3d9a932de20659705c6bd00027f06111", null ], + [ "eTARGET", "structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a23e638128e210cafb190ebc3b74b946c", null ], + [ "eVELOCITY", "structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a251a5fda8faa00b14528a841e481c38b", null ], + [ "eNONE", "structPxArticulationDriveType.html#aee32bd489c0bda0888ec2a13cdd7fc66a3fda091699a60c74bfb7f1999cd47c1a", null ] ] ] ]; \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/structPxArticulationFlag-members.html b/physx/documentation/PhysXAPI/files/structPxArticulationFlag-members.html index 276bda076..3e9e32956 100644 --- a/physx/documentation/PhysXAPI/files/structPxArticulationFlag-members.html +++ b/physx/documentation/PhysXAPI/files/structPxArticulationFlag-members.html @@ -89,8 +89,9 @@

This is the complete list of members for PxArticulationFlag, including all inherited members.

- - + + +
eFIX_BASE enum valuePxArticulationFlag
Enum enum namePxArticulationFlag
eDRIVE_LIMITS_ARE_FORCES enum valuePxArticulationFlag
eFIX_BASE enum valuePxArticulationFlag
Enum enum namePxArticulationFlag
diff --git a/physx/documentation/PhysXAPI/files/structPxArticulationFlag.html b/physx/documentation/PhysXAPI/files/structPxArticulationFlag.html index f4ea46665..a3e4daa76 100644 --- a/physx/documentation/PhysXAPI/files/structPxArticulationFlag.html +++ b/physx/documentation/PhysXAPI/files/structPxArticulationFlag.html @@ -94,7 +94,8 @@ -

Public Types

enum  Enum { eFIX_BASE = (1 << 0) +
enum  Enum { eFIX_BASE = (1 << 0), +eDRIVE_LIMITS_ARE_FORCES = (1<<1) }
 
@@ -112,6 +113,7 @@

+
Enumerator
eFIX_BASE 
eDRIVE_LIMITS_ARE_FORCES 
diff --git a/physx/documentation/PhysXAPI/files/structPxArticulationFlag.js b/physx/documentation/PhysXAPI/files/structPxArticulationFlag.js index 1336d2588..bb6827521 100644 --- a/physx/documentation/PhysXAPI/files/structPxArticulationFlag.js +++ b/physx/documentation/PhysXAPI/files/structPxArticulationFlag.js @@ -1,6 +1,7 @@ var structPxArticulationFlag = [ [ "Enum", "structPxArticulationFlag.html#a89b0e25f041302ae04e5cc0b509a7609", [ - [ "eFIX_BASE", "structPxArticulationFlag.html#a89b0e25f041302ae04e5cc0b509a7609a625f41920c4a20ea5317fdc939a74674", null ] + [ "eFIX_BASE", "structPxArticulationFlag.html#a89b0e25f041302ae04e5cc0b509a7609a625f41920c4a20ea5317fdc939a74674", null ], + [ "eDRIVE_LIMITS_ARE_FORCES", "structPxArticulationFlag.html#a89b0e25f041302ae04e5cc0b509a7609a0bc0b9ec065971fd2708868f819f27d5", null ] ] ] ]; \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/structPxCache-members.html b/physx/documentation/PhysXAPI/files/structPxCache-members.html index 049a484af..559ae65f4 100644 --- a/physx/documentation/PhysXAPI/files/structPxCache-members.html +++ b/physx/documentation/PhysXAPI/files/structPxCache-members.html @@ -94,6 +94,7 @@
mManifoldFlagsPxCache mPairDataPxCache PxCache()PxCacheinline + reset()PxCacheinline diff --git a/physx/documentation/PhysXAPI/files/structPxCache.html b/physx/documentation/PhysXAPI/files/structPxCache.html index 12eaf29ef..e292b86ad 100644 --- a/physx/documentation/PhysXAPI/files/structPxCache.html +++ b/physx/documentation/PhysXAPI/files/structPxCache.html @@ -100,6 +100,8 @@ Public Member Functions

PX_FORCE_INLINE PxCache ()   +PX_FORCE_INLINE void reset () +  @@ -142,6 +144,32 @@

+ + +

Member Function Documentation

+
+

◆ reset()

+ +
+
+

Public Attributes

+ + + + +
+ + + + + + + +
PX_FORCE_INLINE void PxCache::reset ()
+
+inline
+
+

Member Data Documentation

diff --git a/physx/documentation/PhysXAPI/files/structPxCache.js b/physx/documentation/PhysXAPI/files/structPxCache.js index 3d7e1589a..610b906ae 100644 --- a/physx/documentation/PhysXAPI/files/structPxCache.js +++ b/physx/documentation/PhysXAPI/files/structPxCache.js @@ -1,6 +1,7 @@ var structPxCache = [ [ "PxCache", "structPxCache.html#a6e2a00201b3952eebf1c6fd960b416f4", null ], + [ "reset", "structPxCache.html#a7dfc5d1edea7da1ca1c717178eb21d87", null ], [ "mCachedData", "structPxCache.html#a2036c1ece05d3f66936c57ac18b25f55", null ], [ "mCachedSize", "structPxCache.html#a8595cb14cdd176983223d2b61f9dece7", null ], [ "mManifoldFlags", "structPxCache.html#a437d421942f96ec7503807250c5767f3", null ], diff --git a/physx/documentation/PhysXAPI/files/structPxSpatialVelocity-members.html b/physx/documentation/PhysXAPI/files/structPxSpatialVelocity-members.html new file mode 100644 index 000000000..ffc9eece2 --- /dev/null +++ b/physx/documentation/PhysXAPI/files/structPxSpatialVelocity-members.html @@ -0,0 +1,106 @@ + + + + + + + +Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
PxSpatialVelocity Member List
+
+
+ +

This is the complete list of members for PxSpatialVelocity, including all inherited members.

+ + + + + +
angularPxSpatialVelocity
linearPxSpatialVelocity
pad0PxSpatialVelocity
pad1PxSpatialVelocity
+
+ + + + + diff --git a/physx/documentation/PhysXAPI/files/structPxSpatialVelocity.html b/physx/documentation/PhysXAPI/files/structPxSpatialVelocity.html new file mode 100644 index 000000000..f15b70a76 --- /dev/null +++ b/physx/documentation/PhysXAPI/files/structPxSpatialVelocity.html @@ -0,0 +1,185 @@ + + + + + + + +PxSpatialVelocity Struct Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
PxSpatialVelocity Struct Reference
+
+
+ +

#include <PxArticulationReducedCoordinate.h>

+
+Collaboration diagram for PxSpatialVelocity:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + +

+Public Attributes

PxVec3 linear
 
PxReal pad0
 
PxVec3 angular
 
PxReal pad1
 
+

Member Data Documentation

+ +

◆ angular

+ +
+
+ + + + +
PxVec3 PxSpatialVelocity::angular
+
+ +
+
+ +

◆ linear

+ +
+
+ + + + +
PxVec3 PxSpatialVelocity::linear
+
+ +
+
+ +

◆ pad0

+ +
+
+ + + + +
PxReal PxSpatialVelocity::pad0
+
+ +
+
+ +

◆ pad1

+ +
+
+ + + + +
PxReal PxSpatialVelocity::pad1
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + + diff --git a/physx/documentation/PhysXAPI/files/structPxSpatialVelocity.js b/physx/documentation/PhysXAPI/files/structPxSpatialVelocity.js new file mode 100644 index 000000000..af62331eb --- /dev/null +++ b/physx/documentation/PhysXAPI/files/structPxSpatialVelocity.js @@ -0,0 +1,7 @@ +var structPxSpatialVelocity = +[ + [ "angular", "structPxSpatialVelocity.html#a9f786fd589f7cdd251bce4533740a3dc", null ], + [ "linear", "structPxSpatialVelocity.html#ac02baccbfcfc70da86f7e26a927e2f6c", null ], + [ "pad0", "structPxSpatialVelocity.html#a02e82818206391c9ece02f9422ba159d", null ], + [ "pad1", "structPxSpatialVelocity.html#a1873df39ae53892ee11f61eecf4493ac", null ] +]; \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/structPxSpatialVelocity__coll__graph.map b/physx/documentation/PhysXAPI/files/structPxSpatialVelocity__coll__graph.map new file mode 100644 index 000000000..97b9785c2 --- /dev/null +++ b/physx/documentation/PhysXAPI/files/structPxSpatialVelocity__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/physx/documentation/PhysXAPI/files/structPxSpatialVelocity__coll__graph.md5 b/physx/documentation/PhysXAPI/files/structPxSpatialVelocity__coll__graph.md5 new file mode 100644 index 000000000..94a58fa5c --- /dev/null +++ b/physx/documentation/PhysXAPI/files/structPxSpatialVelocity__coll__graph.md5 @@ -0,0 +1 @@ +86c8c8200abfd849dd186407b37f7d1f \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/structPxSpatialVelocity__coll__graph.png b/physx/documentation/PhysXAPI/files/structPxSpatialVelocity__coll__graph.png new file mode 100644 index 000000000..70dfbf66d Binary files /dev/null and b/physx/documentation/PhysXAPI/files/structPxSpatialVelocity__coll__graph.png differ diff --git a/physx/documentation/PhysXAPI/files/structPxTGSSolverBodyData.html b/physx/documentation/PhysXAPI/files/structPxTGSSolverBodyData.html index 4ad4e46cb..e020188f3 100644 --- a/physx/documentation/PhysXAPI/files/structPxTGSSolverBodyData.html +++ b/physx/documentation/PhysXAPI/files/structPxTGSSolverBodyData.html @@ -105,7 +105,7 @@ Public Member Functions

 PX_ALIGN (16, PxVec3) originalLinearVelocity   -PxReal projectVelocity (const PxVec3 &linear, const PxVec3 &angular) const +PxReal projectVelocity (const PxVec3 &linear, const PxVec3 &angular) const  

@@ -160,7 +160,7 @@

-

References PxVec3::dot().

+

References angular, PxVec3::dot(), and linear.

diff --git a/physx/documentation/PhysXAPI/files/structPxVehicleWheelsSimFlag-members.html b/physx/documentation/PhysXAPI/files/structPxVehicleWheelsSimFlag-members.html new file mode 100644 index 000000000..b9dc1cc9d --- /dev/null +++ b/physx/documentation/PhysXAPI/files/structPxVehicleWheelsSimFlag-members.html @@ -0,0 +1,104 @@ + + + + + + + +Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
PxVehicleWheelsSimFlag Member List
+
+
+ +

This is the complete list of members for PxVehicleWheelsSimFlag, including all inherited members.

+ + + +
eLIMIT_SUSPENSION_EXPANSION_VELOCITY enum valuePxVehicleWheelsSimFlag
Enum enum namePxVehicleWheelsSimFlag
+
+ + + + + diff --git a/physx/documentation/PhysXAPI/files/structPxVehicleWheelsSimFlag.html b/physx/documentation/PhysXAPI/files/structPxVehicleWheelsSimFlag.html new file mode 100644 index 000000000..ba9df0544 --- /dev/null +++ b/physx/documentation/PhysXAPI/files/structPxVehicleWheelsSimFlag.html @@ -0,0 +1,141 @@ + + + + + + + +PxVehicleWheelsSimFlag Struct Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
PxVehicleWheelsSimFlag Struct Reference
+
+
+ +

Flags to configure the vehicle wheel simulation. + More...

+ +

#include <PxVehicleWheels.h>

+ + + + +

+Public Types

enum  Enum { eLIMIT_SUSPENSION_EXPANSION_VELOCITY = (1 << 0) + }
 
+

Detailed Description

+

Flags to configure the vehicle wheel simulation.

+
See also
PxVehicleWheelsSimData::setFlags(), PxVehicleWheelsSimData::getFlags()
+

Member Enumeration Documentation

+ +

◆ Enum

+ +
+
+ + +
Enumerator
eLIMIT_SUSPENSION_EXPANSION_VELOCITY 

Limit the suspension expansion velocity.

+

For extreme damping ratios, large damping forces might result in the vehicle sticking to the ground where one would rather expect to see the vehicle lift off. While it is highly recommended to use somewhat realistic damping ratios, this flag can be used to limit the velocity of the suspension. In more detail, the simulation will check whether the suspension can extend to the target length in the given simulation time step. If that is the case, the suspension force will be computed as usual, else the force will be set to zero. Enabling this feature gives a slightly more realisitic behavior at the potential cost of more easily losing control when steering the vehicle.

+
+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + + diff --git a/physx/documentation/PhysXAPI/files/structPxVehicleWheelsSimFlag.js b/physx/documentation/PhysXAPI/files/structPxVehicleWheelsSimFlag.js new file mode 100644 index 000000000..daadad8ce --- /dev/null +++ b/physx/documentation/PhysXAPI/files/structPxVehicleWheelsSimFlag.js @@ -0,0 +1,6 @@ +var structPxVehicleWheelsSimFlag = +[ + [ "Enum", "structPxVehicleWheelsSimFlag.html#ae22cac8835a33a55a7bddc2223638d60", [ + [ "eLIMIT_SUSPENSION_EXPANSION_VELOCITY", "structPxVehicleWheelsSimFlag.html#ae22cac8835a33a55a7bddc2223638d60a75d4ea0ed70a2383d36939a947f50849", null ] + ] ] +]; \ No newline at end of file diff --git a/physx/documentation/PhysXAPI/files/structPxWheelQueryResult.html b/physx/documentation/PhysXAPI/files/structPxWheelQueryResult.html index f4a3dc63e..9fa762c4e 100644 --- a/physx/documentation/PhysXAPI/files/structPxWheelQueryResult.html +++ b/physx/documentation/PhysXAPI/files/structPxWheelQueryResult.html @@ -223,6 +223,8 @@

Note
If the wheel can be placed on the contact plane of the most recent suspension line raycast/sweep then isInAir is false.
+If PxVehicleWheelsSimFlag::eLIMIT_SUSPENSION_EXPANSION_VELOCITY is set, then isInAir will also be true if the suspension force is not large enough to expand to the target length in the given simulation time step.
+
If no raycast/sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then isInAir is computed using the contact plane that was hit by the most recent suspension line raycast/sweep.
diff --git a/physx/documentation/PhysXGuide/Index.html b/physx/documentation/PhysXGuide/Index.html index 3c5644008..543d367b3 100644 --- a/physx/documentation/PhysXGuide/Index.html +++ b/physx/documentation/PhysXGuide/Index.html @@ -150,7 +150,7 @@

NVIDIA PhysX SDK 4.1 Documentation¶

_images/PhysXLogoBlack.png -

Built March 20, 2019

+

Built August 12, 2019

Contents:

    diff --git a/physx/documentation/PhysXGuide/Manual/Index.html b/physx/documentation/PhysXGuide/Manual/Index.html index fcac04e67..895eba32d 100644 --- a/physx/documentation/PhysXGuide/Manual/Index.html +++ b/physx/documentation/PhysXGuide/Manual/Index.html @@ -187,7 +187,7 @@

    User's Guide¶

    ../_images/PhysXLogoBlack1.png -

    Built March 20, 2019

    +

    Built August 12, 2019

    Contents:

      diff --git a/physx/documentation/PhysXGuide/objects.inv b/physx/documentation/PhysXGuide/objects.inv index 943990fc9..e6fc13b22 100644 Binary files a/physx/documentation/PhysXGuide/objects.inv and b/physx/documentation/PhysXGuide/objects.inv differ diff --git a/physx/documentation/PhysXGuide/searchindex.js b/physx/documentation/PhysXGuide/searchindex.js index b9a0f66dc..9f4cbe214 100644 --- a/physx/documentation/PhysXGuide/searchindex.js +++ b/physx/documentation/PhysXGuide/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:43,filenames:["Manual/AdvancedCollisionDetection","Manual/Introduction","Manual/Serialization","Manual/BuildingWithPhysX","Manual/Threading","Manual/MigrationFrom28","Manual/ExtendingSerialization","Manual/VisualDebugger","Manual/MigrationTo33","Manual/MigrationTo34","Manual/Geometry","Manual/BestPractices","Manual/License","Manual/HelloWorld","Manual/OriginShift","Manual/RigidBodyCollision","Manual/RigidBodyDynamics","Index","Manual/GeometryQueries","Manual/Startup","Manual/Simulation","Manual/Statistics","Manual/API","Manual/CharacterControllers","Manual/Articulations","Manual/DebugVisualization","Manual/Index","Manual/Joints","Manual/SceneQueries","Manual/Vehicles","Manual/GPURigidBodies","Manual/RigidBodyOverview","Manual/MigrationTo40"],terms:{leg:[27,23],name:[15,1,5,6,22,23,9,10,11,12,31,32],stiffen:27,regular:[15,16,8,10,11,32],esimulation_shap:15,support:[0,3,5,6,7,10,2,15,22,19,23,27,1,4,31,8,9,11,13,16,18,24,28,29,30,32],pxsetphysxcommondelayloadhook:19,rendersphereactor:10,bitwis:28,createbinaryconvert:[8,2],also:[0,3,5,6,7,10,2,15,22,20,23,27,14,1,4,31,8,11,16,18,24,28,29],getworldbound:[18,8],let:[0,1,16,5,23,10,11,27,15,29],wrapper:[16,10],pxcookingparam:[19,9,10,11,30,32],degre:[27,16,29,24,23],bumpi:29,closer:[16,14,28],much:[0,16,2,15,26,5,20,23,10,11,27,31],attempt:[0,15,4,18,23,11,27,29,30],contactdist:[0,16,27,24,22],pxcudacontextmanag:32,pxclosevehiclesdk:[29,8],avoid:[0,4,24,14,19,20,6,23,7,9,27,28,29],featur:[0,1,17,26,23,24,10,11,27,30],fire:[13,4],ineffici:29,nbactor:15,querymemori:29,drive:[0,17],pxqueryreport:8,echannel_suspforc:[29,8],pxcontrollerflag:8,column:[22,10,11],notifi:[15,20],setackermanngeometrydata:29,decoupl:[5,29,11],pxf32:[18,23,29,8,11],consist:[18,2,4,5,19,22,8,24,10,11,27,29],e9th_from_front_left:8,commun:23,pxmemzero:24,wide:[27,16,5,24,29],determinist:[22,16,11],reinforc:1,pxscene:0,version:[0,1,11,5,22,23,8,9,10,3,28,13,32],nutshel:0,san:23,espu_raycast:8,egpu:30,reach:[0,16,4,15,20,22,23,24,10,11,27,29],erigid_stat:[15,2],pxsetprofilercallback:7,setdrivenwheel:29,multipl:[0,1,17,26,16,18,5,22,8,24,10,11,27,15,31],pointdist:18,strength:[27,29,24],updatevehicl:8,gettirelongslip:[29,8],instrument:[22,20,3],updateobstacl:23,interpenetr:0,removeactor:16,fabric:[8,9],evehicle_type_drive4w:8,thought:[29,11],jth:10,maneuv:29,guid:17,jointforc:24,turn:[0,1,26,4,15,16,20,3,30],pxcollet:2,"75f":[29,8],exot:29,anymor:[16,23,8,32,2,28],arriv:4,bulk:19,setlocalpos:[29,8,10,11],isrigidactor:9,phase:[17,24],onreleas:8,aren:0,equantize_input:10,current:[0,1,11,4,16,31,19,20,6,22,23,7,21,24,10,2,27,28,29,30,15],shut:[17,26],pxconvexmeshdesc:10,give:[0,16,15,5,21,18,2,27],penetr:[0,17],method:[0,5,6,7,20,2,15,22,19,21,31,4,14,32,8,9,11,16,18,24,28,29,10],eactor_ax:25,"1500kg":29,reduct:27,pxjointlinearlimit:[27,8],longer:[0,16,15,5,19,23,8,9,2,27,29],solv:[16,23,8,24,32,27,29,30],pxspatialoverlapcallback:5,solut:[0,2,3,14,20,18,23,32,11,28,29,13],pxcomputetrianglemeshpenetr:[18,32],enotify_threshold_force_found:0,setradiu:23,crouch:23,org:29,etight_bound:[10,11],pxbroadphasecallback:[15,5],nbrow:[10,11],ricochet:0,older:[8,9,32,2],pxarticulationflag:24,gettyp:[8,10],pipelin:[31,30,11,4],pxcontactpairhead:[0,20],discard:[27,28,5,30],tolerancelength:16,known:[0,18,5,22,23,24,29],graviti:[0,17,22,23,8,24,26,30],small:[0,16,4,31,18,23,10,11,27,29],pxextendedvec3:23,mark:[1,4,19,20,6,23,9,11,29],snippetseri:26,pertain:19,raycastani:[8,9],contrast:24,setmass:[16,29,11],done:[15,16,2,4,31,21,6,23,24,10,11,28],etrigger_shap:[0,15],newli:[0,15,2,4,8,9,32,11,28],myscen:29,concret:[22,28,27,2],typic:[0,16,4,15,20,22,23,24,10,2,27,28,29],human:[31,2],pxfilter:15,defici:5,prep:30,specif:[15,16,3,24,18,22,23,26,8,9,32,11,12,27,28],pxtransformfromseg:10,visual:[0,22,17],setgeardown:29,echannel_handbrake_control:[29,8],proce:[28,29,10,20],control:[0,22,17,24],projecttoa:27,pxqueryfilterdata:[28,8,9],whatev:[22,24],part:[0,17,3,22,24,11],patchstreamcapac:30,pars:[0,9],skin:[23,26],galloc:28,impuls:[0,16,27,24,23],skid:29,snippethellogrb:30,cmake:17,ebend:8,recordmemoryalloc:19,skip:[18,28,9,2,23],"16m":11,pxtypeinfo:6,"16k":[26,11],ekinemat:[15,16],could:[0,16,15,5,21,6,18,23,24,10,2,28,29],registerdeletionlisten:8,getglobalpos:[22,16,8,10],getwheelrotationspe:29,medium:4,edg:[0,23,8,10,11,27,29],symbol:5,stage:[29,11,4,3],alter:[29,24],einitial_overlap:8,complic:29,edisable_preprocess:27,eheightfield:15,pxoverlaphit:28,pxcontactset:0,getindexbuff:10,nbactiveactor:16,under:[0,1,3,26,23,8,9,11,27,30],pxconstraintsolverprep:27,incallback:6,heavier:[0,27],usag:17,recipwheelradiu:29,"long":[4,22,23,8,2,28,29],startpos:29,relat:[0,16,15,5,18,23,8,24,2,28,29,14],maxsweepsperexecut:8,"class":17,unregisterrepxseri:6,pxcreatefeatherstonearticul:16,onpvdconnect:7,"\u215d":32,columnscal:[10,11],birth:27,settessel:23,requir:[0,16,11,15,24,18,5,6,22,23,8,9,10,3,27,28,13,30,32],"4x4":5,enabl:[0,1,11,16,24,18,5,19,22,23,7,8,9,10,2,27,15,29,13,30,25],spent:[23,29],pxpvd:[7,19,9],node:27,overlaphitbuffers:8,signatur:[18,27,19,9,32],forbidden:20,eprevent_climb:23,setsceneparamint:8,argument:[15,18,20,22,8,9,10,27,28,29],thu:[0,16,15,18,23,25,10,11,28],resolverefer:6,variat:[0,31,11,6],thi:[0,18,17,3,26,6,22,23,24,10,11,25,30],subtyp:22,minimis:29,appar:0,maxiter:24,pink:29,settargetorient:24,nqueri:8,elock_angular_x:16,vmotion:27,tree:24,irrespect:[16,30],arrang:[8,10,4,21],pxmetadataflag:6,pxcapsulegeometri:[5,10],thank:23,henc:4,incred:29,estiff:8,freespin:27,row0:10,pxcreatecook:[5,19],ezero_area_test_fail:10,deal:[0,23,31,11,2],meshactor:15,desc10row:10,setsuspensiondata:29,diff4w:29,inertia:[0,16,31,24,10,11,27,29],game:[0,1,2,4,15,14,20,23,24,11,29,13],actorstream:2,snippetprunerseri:28,cannot:[0,16,4,15,5,20,23,8,9,10,2,28,29],nx_default_sleep_energi:5,pxcontactstreamiter:[0,8,9],lend:[0,5],nbpolygon:10,removeobstacl:23,here:[0,16,11,15,31,19,20,6,18,23,7,8,24,10,2,27,28,29],commonli:29,pxtrianglemesh:[22,11,10,2],almost:[15,1,7,29,4],innov:1,pin:30,land:23,somewhat:[22,27],cooker:[8,10],type:17,getscenepvdcli:7,apexscen:4,explanatori:20,ongo:20,middl:23,epost_solver_veloc:0,damag:[0,12,29,11],curv:26,pxconstraintdomin:8,descript:[17,24,10,26],depenetr:[18,11],setgearsdata:29,getdata:10,variou:[1,11,16,5,20,23,7,8,2,27,29],planetoid:23,overcom:[16,29,24,11],side:[16,17,26,18,5,20,22,10,2,29,13,30],gone:[5,32],fewer:[0,28],pend:[16,8],eenable_speculative_ccd:0,pxreal:[0,16,31,18,8,24,10,11,27,28,29],pxrigidbodyext:[16,5,8,24,10,11],manner:[23,29,10],registerrepxseri:6,meaning:[18,29],col:11,info:[18,29,6],manoeuvr:29,numshap:15,term:[0,24,10,11,27,29],appropri:[0,4,22,11,27,29],attributes0:[0,15,5,8,29],nonphys:27,pxcontrollerdesc:23,penalti:[18,10],setgroup:5,px_define_typeinfo:6,prior:[5,22,23,8,24,11,12,29],troubl:[0,23,14,11],highli:[27,1],invok:[28,5,29,23],refilt:5,zangl:24,nbtri:10,forcestreamcapac:30,recent:[16,10,11],didn:2,etank_wheel_1st_from_front_left:8,materialindex:5,pxcontrollerbehaviorcallback:[23,5],until:[0,16,11,4,15,18,31,20,22,23,8,10,2,27,28,29],nx_skin_width:5,manipul:[16,5,4],scene:[0,22,17,24],clarifi:29,setup:[15,16,17,4,8,32,26,28,29],eassume_no_initial_overlap:[18,8],stretch:[8,10,11],unus:[19,20,11,6],triangleindexbuff:18,freeli:[27,23,29],test:22,hierarchi:[22,10,26],collectionscen:2,dual:6,maxqueri:8,getmass:29,getbroadphaseregion:15,snippetconvert:26,axi:[0,15,17,5,18,23,8,24,10,26,27],cloth:[5,17,26],artist:29,"true":[0,16,2,4,15,5,19,20,18,23,7,8,24,10,3,27,28,29,30,31],pxbvh34midphasedesc:[10,11,32],read:[0,16,4,31,19,20,6,7,8],setparentpos:24,tilt:16,count:17,dealloc:[22,28,20,2,6],stronger:[16,5,29],algorithm:[0,17],balloon:5,rear:29,getwakecount:16,pxcreatepvd:[7,19],slerpdriv:27,translatepxbas:6,pxrigidstat:[27,16,31,11,28],centimetr:29,px_assert:[10,6],follow:[0,5,6,7,10,2,15,22,19,20,23,27,25,14,4,31,8,9,11,12,16,18,24,28,29,30,32],experienc:[23,29,8],unexpect:11,internaldriveiter:24,chang:[0,1,17,26,22,23,24,11,27],generate_project:[32,3],render:[17,26,22,23,25,10,11,13],apart:[0,10,20],sub:[15,29,5,20,11],mfrontleftrightsplit:29,echannel_brake_control:[29,8],numchassismesh:29,getnbrow:10,kepler:30,nxuserentityreport:5,actormass:29,pheightfield:10,knee:27,along:[0,16,15,24,5,6,18,23,8,9,10,2,27,28,29,32],snowman:16,reorder:[16,10],physxfoundation_x64_renam:19,linear0:27,pxcontactpoint:[0,8],arbitrarili:[18,27],quad:[18,27],getnbloopjoint:24,tall:0,px_max_nb_wheel:[29,8],quak:23,compos:[22,1],rpm:29,pxsweepqueryresult:29,compon:[16,17,11,20,23,26,27,30],getdensejacobian:24,quat:10,modern:1,glpushmatrix:22,pxplane:22,tricount:10,populateregion:15,altogeth:5,pxvehicledrive4wcontrol:8,contribut:[27,23],map:[18,8,24,10,2,29],islastlink:16,typeid:27,pxcollectionext:[8,9,2],e2nd_from_front_right:8,pxscenequeryupdatemod:[17,32,26],max:[15,24,32,2,28,29],etank_wheel_2nd_from_front_right:8,ebvh34:[10,11],pxbatchqueri:[28,29,8],solverconstraintdesc:16,"0xcd":6,mac:2,incur:[18,16,24,30,11],timestep:[16,5,23,8,27,29],puttosleep:[16,8],querycli:8,tireid:29,field:[22,23,24],mai:[0,3,5,6,10,2,15,22,19,20,23,27,14,1,4,31,8,9,11,12,16,18,24,28,29,30],susplinedir:8,getlinearlimit:[27,32],mcrab:4,partner:20,divid:[29,8,10],eenable_ccd_frict:0,ekil:[15,11],elev:[23,29],pxboxgeometri:[16,5,8,10],activ:[0,17,26,5,23,8,32,11,27,30],getmaterialindex:5,eshap:2,etransmit_contact:[7,8],settwistlimiten:24,directx:22,"public":[0,4,19,20,6,22,7,8,3],setrestoffset:[0,5,10,32],directli:[0,16,11,4,5,19,21,22,23,8,24,10,2,27,28,29,25,32],isinair:[29,8],emul:[5,18,23,9,32,28],introduc:[0,16,15,31,23,8,9,10,11,24,29,32],samplebridg:23,border:10,pxbroadphaseregion:15,nrow:24,pxmodifiablecontact:0,dimension:[1,16],climb:17,width:26,invinertiascal:[0,16],lesser:10,customtypemetadataobject:6,vc140:[32,3],pxgeometri:[15,16,18,5,22,10,28],varieti:[27,29],provid:[0,6,22,23,24,11,25,30],getscenequeryfilterdata:8,unit:17,remaind:29,pxquerycach:[28,8,9],centr:29,decompos:[27,8,24],enginegraphposx:29,inelast:16,circumst:[0,16,11],smooth:[0,27,31,10,29],practic:[0,17,24],area:[4,14,23,25,10,28],has16bitindic:10,like:[0,16,2,15,24,5,20,6,22,23,8,11,10,3,27,28,29,14,31],constantblock:[0,15,5,8,27,28,29],createconvexmesh:10,enginegraphposi:29,hasnextpatch:0,becaus:[0,1,2,4,16,24,5,20,22,23,11,10,3,27,15,29,30,32],epre_solver_veloc:0,malloc:[22,5,20,2],discover:4,drivabl:26,order:[0,16,11,4,15,24,18,5,19,20,6,22,23,8,9,10,2,27,28,32],econtact_event_pos:0,newsprungmass:29,lastli:29,pxsimulationfiltercallback:[15,5],createrigiddynam:[15,16,29,8,10],pxbatchqueryprefiltershad:28,unscal:11,prefilt:[5,8],maxim:17,pose:[0,17,18,23,24,10,26,27,30],body0vel:27,arcad:0,outsolverbodydata:16,uniform:[0,16,5],enorm_tire_lat_forc:8,mpeaktorqu:29,etrigger_default:[0,15,5,8],incident:12,categor:11,edrive4w:8,post:[22,28,31,27,20],pass:[0,16,11,4,15,24,5,19,20,22,23,8,9,10,2,27,28,29],gener:[0,22,17,24,11],via:[18,4,5,20,22,8,25,27,28,29],past:[28,11,23],bare:11,memori:17,popular:[22,11],"abstract":[22,8,4],crack:0,pxvehicewheelssimdata:29,unregist:6,demonstr:[0,16,20,23,8,10,2,27,29,30],opposit:[18,29],snippet:[0,17,3,24,10,11,30],integr:[1,16,5,22,8,9,10,26,27,24,25,32],cheaper:[0,27,29],fit:[18,28,12,23],unbreak:27,isblock:8,context:[4,20,6,8,29,13,30],smoother:[0,29],establish:2,baseflag:6,fix:[17,26,23,24,10,11,30],mminnormalisedload:29,pxerrorcod:[22,8],physxapi:[1,20],adapt:[5,6],x87:22,silent:11,linkgeometri:24,collectionb:2,limitpair:27,body1vel:27,mcpudispatch:4,moment:[0,16,29,27],userdata:[0,16,22,23,8,2,28,29],restart:18,prefix:[22,5,8],look:[15,5,20,6,23,21,11,27,28,29,31],stepoffset:23,unsign:[5,8,24,2],taskmanag:[5,17,26],loos:[10,11],littl:[16,29,11,4,23],nxcontactpairflag:5,loop:[16,17,24,26,11],mscene:[16,5,31,7,4],dyn:[16,8],nxcooktrianglemesh:5,maintain:[1,16,22,23,24,2,27,28,29],includ:[0,3,5,6,7,10,2,15,22,27,1,4,8,9,11,28,13,16,18,24,12,29,32],degrad:[15,28],mtoeangl:29,contextid:7,createobject:6,head:16,smaller:[0,23,8,10,11,28,29],getphysxcommondllnam:[19,32],maxdist:[18,28],mrearwidth:29,filtergroup:15,mmaxbraketorqu:29,dofstart:24,pxgetalllinkdata:16,creation:[11,22,23,10,26,27],pxsimulationfiltershad:15,heap:30,both:[0,16,11,4,15,5,20,6,18,23,7,8,9,10,2,27,28,29,31,32],gl_modelview:22,discov:29,"2nd":[23,29],child:[27,24],fidel:20,min:24,settireforceshaderdata:29,interchang:[9,10],pxserialframework:6,group:[15,16,5,18,8,28],expand:[23,29,10],geomtosweep:18,serial:[22,17],slower:[22,16,29,23],immov:[27,24],pxarticulationjointtyp:24,richer:[9,32],object:17,pxcontactpairextradataiter:0,trystandup:23,travel:[23,29],usersweephitbuff:8,wildli:29,environ:0,px_def_bin_metadata_vclass:6,precis:[23,11,10,3],getnbcontactblocksus:11,invmassscal:[0,16,27],grip:29,pxvehicletyp:8,"new":[0,5,6,10,15,20,23,27,31,1,4,14,8,9,11,13,16,22,24,28,30,32],maxnbdynamicshap:28,halfheight:[23,5,10],px_min_heightfield_y_scal:11,elimit:[27,24],anoth:[15,16,11,4,18,5,20,6,22,23,8,10,2,27,29],tirelongforcemag:29,flex:[23,9,32],portion:[0,5,29,11],profound:29,rest:[0,16,4,10,27,29],elimin:29,equilibrium:[0,16],grid:[15,28,10,11],pxsphericaljointflag:27,pxsetphysxcookingdelayloadhook:19,howev:[0,1,11,4,16,18,5,20,22,23,8,24,10,2,12,27,15,29,30,14,25],nbwheelqueryresult:8,back:[0,16,4,15,5,20,18,23,7,8,24,32,11,27,29,30],pxextens:[18,17,26],writedata:6,whole:[15,16,23,2,28],has16bittriangleindic:10,prompt:[13,32,3],certain:[0,16,15,14,19,21,22,8,24,11,27,29],output:[15,18,2,14,19,6,22,7,24,10,3,27,13,32],region:[18,17,26],primit:[25,10],merg:[8,32,26],getconstraint:27,pxrigiddynam:[0,16,11,15,26,5,6,22,23,8,10,2,27,28,31,32],nxshape:5,transfer:7,belt:[0,16],highlight:[8,9,32],slip:29,getlin:25,pxjointlinearlimitpair:8,patchcount:0,box:[23,25,30,11],pxsceneflag:[0,8,30,26,11],planetoler:10,sit:29,pxmeshqueri:[17,10],counterpart:[16,29,8,23],createconnect:[8,20],befor:[0,16,11,4,15,24,5,20,6,18,23,7,8,9,10,2,27,28,29],triangul:10,createrenderobjectfromshap:10,natur:[27,23,29,20],registerdeletionlistenerobject:8,pxvehiclesetsweephitrejectionangl:29,pairflag:[0,15,5,8,29],pxcontactmodifypair:0,echannel_normalized_tireload:8,most:[0,1,2,16,24,18,22,23,7,8,11,10,3,27,28,29,13,15],sim:[17,26],screenshot:[23,13],anticip:29,pxmateri:[15,16,22,10,2,29],getpvdconnect:8,artifact:[27,29,11],neg:[0,18,29,10,11],getsteer:[29,8],hasnextcontact:0,pxscenequeryfilterflag:8,lighten:11,must:[0,5,6,7,10,2,15,22,19,20,23,27,4,8,9,11,28,16,18,24,12,29,30,32],don:29,lighter:[0,27],direct3d:22,commoninit:24,nxuserraycastreport:5,dens:24,overflow:[28,8],plateau:29,subtl:0,etwist:[27,24],removerefer:[20,4],nbcolumn:[10,11],escal:25,reentrant:0,computegraphchannel:29,homogen:22,elapsedtim:23,stuck:[23,29,11],brake:[27,29],isvehicleinair:8,processtouch:[28,5],perhap:[29,9,11],erear_left_wheel:8,ispenetr:18,nbvert:10,nxusercontactreport:5,setmaxangularveloc:11,getcontrol:23,potenti:[0,16,11,4,15,18,23,7,8,2,28,29],have:[0,5,21,2,15,22,19,20,23,27,25,1,4,31,32,8,9,11,16,18,24,28,29,30,10],gettriangl:[18,10],myob:8,setcontactoffset:[0,5,11],autom:29,broadphas:[15,21,10,11,32],nx_bounce_threshold:5,pxarticulationreducedcoordin:[24,32],setinvmassscale1:16,scientif:29,carefulli:[23,5,8],nx_dyn_frict_sc:5,eis_releas:6,simpl:[0,1,11,16,18,22,23,8,24,10,2,27,28,29,13,15],roll:[23,26],pxdefaultalloc:19,subordin:6,triangleneighbour:10,pxinitextens:[5,19],role:[15,27,29],pxconvexflag:[30,10,11],pxvehicledrive4wwheelord:[29,8],therebi:[29,20],union:[27,10],mbatchreadi:8,pxcontrol:23,pxmeshoverlaputil:[8,9],sync:[0,23,8,11,28,30],joint:[0,17],convexedgethreshold:10,altern:[0,16,11,15,19,20,22,23,7,8,9,10,2,27,29,32],promot:[12,29],stack:0,setswinglimiten:24,per:[0,16,4,15,5,20,23,8,24,10,11,27,28,29,30,31,32],readm:6,nbarticul:16,uservalue1:11,uservalue0:11,setarticulationflag:24,pxserializationregistri:[29,8,2,6],buildtriangleadjac:[10,11],factor:[16,5,23,24,10,11,27,28,29,25],pxvehiclesetupdatemod:29,esolve_contact:0,mnbthread:4,contactcount:0,eignore_initial_overlap:18,grant:4,refer:17,eforc:16,lookup:[5,29],px_unus:29,theori:[27,12,29],actormemory128:2,pxusercontrollerhitreport:[23,5],pxconvexmeshcookingtyp:[9,32],inflat:[0,18,5,9,11],numvehicl:8,notori:23,reli:[5,19,29,20,6],"while":[0,1,11,4,16,5,15,20,21,23,8,24,10,2,27,28,29,13,31,25],obb:10,pxserial:[29,8,2,6],ecollision_down:23,contract:12,invest:22,idl:[23,31],obj:6,previou:[0,16,2,8,9,32,11,28,29],investig:21,correlationdist:16,tank:26,entireti:2,cover:[15,16,5,6,22,11,27],idx:6,renderbaseactor:10,setmetadata:2,minimum:[1,16,5,20,18,32,11,27,28,29],govern:[29,10,20],famili:29,obviou:29,soon:[15,18,23],wheelqueryresult:[29,8],smoothli:[0,23,29,27],px_def_bin_metadata_base_class:6,which:[0,3,5,6,20,2,15,22,19,21,23,27,1,4,31,32,8,9,11,16,18,24,28,29,30,10],"void":[0,16,4,15,5,20,6,22,23,7,8,10,2,27,28,29],capabl:[15,1,5,20,22,24,11,30],door:[0,27],dostuff:8,proport:[0,1,24,27,29,30],mplane:10,pxmath:23,moi:29,robot:[1,24,3],bodya:27,exert:16,snapshot:[29,24,2],doom:23,front:[22,18,29],vehicleupdatemod:29,pxd6drive:27,submiss:4,setvisualizationcullingbox:25,tunnel:[0,23,10,32],suffer:[15,23,14,27,11],geometryqueri:28,pxconstraintinvmassscal:27,samplesubmarinefiltershad:15,pxcreaterepxobject:6,you:[0,16,11,4,15,24,5,19,20,21,22,23,7,8,9,10,3,27,28,30,31],capsul:11,swing:[27,29,24],gamepad:29,had:[23,5,9,29,32],detail:[0,5,6,20,2,15,22,19,21,27,31,1,4,14,8,9,11,16,18,26,28,10],digit:29,ackermann_steering_geometri:29,bvh33:[9,32],anisotrop:[27,26],command:[13,3,2,32],pull:[27,29],suspjounc:8,vanish:7,estim:[27,24],underneath:29,registercustomclassrepxseri:6,endif:10,began:8,shapegroup0:5,physxcor:22,mayb:[23,21,11],mradiu:29,frequenc:[16,29,20,11],etank_wheel_7th_from_front_left:8,etire_lat_slip:8,pitfal:11,wheelwidth:29,etank_wheel_1st_from_front_right:8,eenable_one_directional_frict:8,"01f":[18,27,29],probabl:[15,23,31,29],platforms_as_obstacl:23,"char":[4,19,20,6,22,7,8,29],createcollectionfrombinari:[8,2],maxconstraint:27,etg:16,truck:29,actorinputdata:2,ps3:5,etc:[0,1,11,16,24,20,21,23,8,9,10,3,27,15,29,13,30],customclasstyp:6,lockwrit:4,getsusplinestart:8,setangularveloc:[16,8,20],knowledg:[16,29,24],mmoi:29,nxcookinginterfac:5,hfdesc:10,indirect:[12,29],mlatstiffi:29,getcontactpoint:0,diagram:[18,31,29,11],etire_long_slip:8,mean:[0,16,11,4,15,20,23,8,24,10,2,28,29,30],physxcommon:[22,26],nbmateri:[10,11],decid:[15,1,4,6,23,29],addforceatpo:[16,5],heightsampl:11,simplifi:[2,31,8,24,11,28],nbcol:10,mlatstiffx:29,uniformli:[0,16,28],quicker:29,help:[1,4,21,20,6,7,8,9,10,11,27,29],erigid_dynam:[15,2],remot:[15,25,2],numcol:10,mcentrebia:29,correct:[0,16,2,26,20,22,23,24,10,11,27,32],usercallback:28,might:[0,16,11,2,4,15,20,23,21,9,10,3,28,29,25,32],linkpos:24,mandatori:[0,28,4],denomin:29,aaaabbbbccccdddd:11,susptraveldirect:29,remain:[0,16,15,18,22,23,24,10,27,28,29],pxvehicleantirollbar:26,occasion:[28,4],storag:[22,29,10],attributes1:[0,15,5,8,29],getdiffdata:29,getgrav:8,invdt:16,trepxid:8,ehol:10,bridg:[23,11],readili:29,keyhol:0,internalfaceindex1:0,internalfaceindex0:0,actorb:[16,5],actora:[16,5],"_aligned_malloc":[22,5,20],engag:29,taskid:4,pxserialz:8,mesh:[22,17],mdrivesimdata:29,pxparticlesystem:5,particularli:[15,16,20,10,27,29],server:7,pxhullpolygon:10,faceindic:10,"\u215e":32,ceas:16,"_lignv3ptiq":29,interest:[0,25,17,24,26],validatetrianglemesh:10,reloc:23,toggl:[7,29,3],global:[15,16,2,5,19,23,8,25,10,11,27,28,29,30],edrive_limits_are_forc:27,synchron:[26,17,11,2],disadvantag:29,setsimulationfilterdata:[15,16,29,8],dist:18,px_foundation_vers:[9,32],kinet:16,disp:23,optim:[0,15,2,4,24,5,18,7,11,3,27,28,29],pxcomputemeshpenetr:[9,32],actor0:[27,8],actor1:[27,8],rigidli:27,pxvehicleautoboxdata:26,px_float_point_precise_math:3,etank_wheel_8th_from_front_right:8,oncomshift:27,disc:27,asleep:[16,29],pierc:18,disk:2,sai:[15,16,2,5,23,11,29],erear_right:[29,8],etank_wheel_5th_from_front_right:8,pxgetlinkarticul:16,elarge_triangl:10,pxcreatecudacontextmanag:30,solid:[18,16],hidden:17,createmateri:[16,2],eerror:24,emit:[0,30,10],maxraycasthit:8,choic:[15,22,23,10,28,29],fulli:[0,1,23,11,27,28],foot:23,view:[1,4,23,7,25,29,13],secondari:29,safeti:[18,29,8],getnblin:25,teleport:[15,16,14,23],base:[0,1,4,16,18,5,6,22,23,8,9,10,27,28,29,30,15,32],pairwis:[0,5],world:[0,17,26,22,23,24,10,11,25,13],eimpact:8,evelocti:24,hierarch:[28,31],basi:[15,22,24,11,29,30],specifi:[0,16,2,15,18,5,19,20,6,22,24,8,11,10,3,27,28,29],px_max_sweep_dist:[18,28],fragil:20,transform:[16,18,5,22,8,24,10,11,27,28,29,30,31,32],samplenorthpol:[23,10],fresh:29,subsect:16,registercustomclassbinaryseri:6,susplinelength:8,eanalog_input_steer_right:[29,8],setupfilt:15,pxgetmutablelinkdata:16,onto:[27,29,30],ecallback:15,project:17,huge:10,rais:[0,16,15,20,8,9,21,11,30],etire_frict:8,bouncethresholdveloc:5,plai:[15,16,29,27,23],setinverseinertiascale0:8,"\u03c0":27,"static":[0,1,11,16,5,19,15,6,23,8,24,10,3,27,28,31,32],finit:0,pxvehicledrivetanksmoothanalograwinputsandsetanaloginput:29,rectangular:[10,11],inaccur:29,snippetimmediatearticul:16,epsilon:0,nx_default_sleep_ang_vel_squar:5,raii:4,pxconvexmeshcookingresult:10,speak:[15,28,11,23],approach:[0,16,11,15,5,20,23,9,10,2,27,24,29],setrevolutejointflag:27,pxmaterialflag:16,hfscale:10,more:[0,5,6,20,2,15,22,19,21,23,27,1,4,31,8,9,11,16,17,18,24,26,28,30,10],channel:29,march:[17,26],resetfilt:[16,8,10],inde:[23,29],mupratio:29,incomplet:26,inalloc:6,answer:7,tangentialstiff:8,einternal_error:22,organ:8,setrunonspu:8,telemetri:26,commerci:23,ragdol:[0,15,27,24,11],gaussmaplimit:[9,32,11],when:[0,22,24],convexmesh:10,pxvec3:[0,16,4,18,5,22,23,8,24,10,11,27,28,29,30,14],accuraci:[16,29,24,11,23],repx:17,decreas:[0,16,29,11],callback:[0,22,17],pair:[0,24],stai:[15,1,5,16],reorgan:8,list:[15,16,5,20,18,7,8,2,12,29],diff:29,partak:27,hfsampl:11,settorestst:29,pxdefaultallocatorcallback:22,setactorflag:16,enough:[15,23,29],matter:[23,29],copyright:12,diverg:11,itself:[0,5,20,23,7,29],adher:27,cylind:27,recurs:[23,20],dispar:18,impress:0,condit:[0,2,3,4,18,11,27,12],connector:27,mcamberstiffnessperunitgrav:[29,8],unwant:2,expir:23,costli:15,pxvehiclesetmaxhitactoracceler:29,centreofmass:29,among:[16,20,8,27,29,13],everi:[0,1,16,19,21,22,7,24,2,27,29],registerrefer:6,pxdeserializationcontext:6,setmaxdepenetrationveloc:11,enclos:[18,28,10],contactpoint:[0,9],pxfilterobjecttyp:15,snippetvehiclenodr:26,altitud:23,emax_num_drivetank_analog_input:8,computejointacceler:24,result:[0,16,17,11,15,18,5,22,23,26,8,9,10,3,27,24,30,31],collect:[15,1,16,6,23,8,9,10,26,28,13],candid:[15,28],gravitydirect:29,heightfield:17,first:[0,16,17,26,15,18,5,6,22,23,24,10,11,27,28,25],stl:5,exit:[18,20],yet:[27,5,2],customtypeautogeneratedmetadataobject:6,edriv:8,power:[29,24],extent:[15,23,29,27,10],diagnos:11,sprung:29,convexdescpolygon:10,friend:6,lack:[23,29,24],interfac:[1,17,26,24,5,19,20,6,22,8,9,25,2,27,28,31,32],pxbase:[31,6,22,8,9,2,27],euler:24,unmodifi:18,multithread:[1,17,26],eabort:22,emax_num_vehicle_typ:8,maximum:[0,16,11,15,5,20,18,23,8,24,10,3,27,28,29,30],shadow:18,flushqueryupd:28,gdefaultallocatorcallback:19,deep:0,aheightfieldshap:10,setglobalpos:16,filterflag:8,commit:[22,28],increment:[1,11,4,16,5,22,9,2,28,29],quantizedcount:10,longitudin:29,tiresurfacetyp:8,mention:[16,29,9,30,11],tirecontactpoint:8,getmaxnbcontactdatablocksus:[20,11],can:[0,3,5,6,7,20,2,15,22,19,21,23,27,25,1,4,14,32,8,9,11,13,16,18,24,28,29,30,10],getposit:23,userraycasthitbuff:8,ediff_type_ls_frontwd:29,dstasset:2,emtd:[18,11],socket:[27,7,24],pxboxcontrol:23,etank_wheel_7th_from_front_right:8,neutral:29,mysimulationcallback:0,group1:[16,5,28],group2:[16,5,28],ejounc:[29,8],group4:28,erear_left:[29,8],createcollectionfromxml:[8,2],acceler:[0,17,24,11],awak:[27,16],awai:[0,16,14,23,10,27],mixtur:[0,27],pxspatiallocationcallback:5,createvehicleactor12w:29,pxhitbuff:[28,5],tangenti:[0,24],mani:[0,15,2,4,5,19,20,22,23,8,21,11,27,28,29,31],recommend:[0,15,11,24,5,19,22,23,7,9,10,3,27,28,29,14,32],pxdeletioneventflag:8,constraint:[0,1,17,26,23,24,11,30],lowlimit:24,face:[17,30,11],rope:11,beyond:[15,11,24,32,26,27],solvehint:27,gauss:[1,17,26],physxgpu_:3,statickinefilteringmod:[0,16],pxprofilercallback:7,spawn:[15,23],setlimit:[27,24,20,11],nxutillib:26,tune:17,persist:17,convert:[5,6,22,23,8,24,10,11,28],doll:[27,24,4,2],overload:[22,8],produc:[0,16,11,18,31,19,6,22,23,8,24,10,2,27,28,29,30,32],twitchi:[27,29],convers:[29,5,8,10,2],trace:18,versa:[15,11],hasblock:8,forc:[0,1,17,23,24,26,30],plugin:27,magnitud:[0,16,23,8,27,29],track:[1,4,16,14,19,20,23,24,10,11,29],versu:29,outputflag:28,pxvehiclesdk:3,occur:[0,16,4,24,11,27,28,29],getconcretetypenam:[22,6],coefficientmatrix:24,landscap:29,batchhead:16,enotify_threshold_force_lost:[0,4],veri:[0,24],cpudispatch:[30,26],fals:[15,16,31,6,18,23,8,9,10,3],fetchresult:[0,16,17,26,5,11,27,28,31],summari:[29,21],routin:[16,5,10],customtypeautogeneratedmetadataobjectnam:6,pxscenequeryimpacthit:8,nxuseralloc:5,exactli:[0,16,29,24,23],deactiv:27,contactrecord:16,sweepdist:28,quickli:[15,28,26,11],recogn:22,fall:[15,16,23,7,24,10,29,30],navig:[23,29],sethalfheight:23,setdriveveloc:[27,24],build:[22,17,24],footprint:[28,7,3],stand:[15,1,2,23,10,11,29],treasur:15,pxpruningstructur:[17,9,26,11],pxvehicletiredata:[8,26],anatom:[27,24],cookingparam:10,forth:[16,29,2,23],spike:[21,11],invalidatecach:23,eas:2,quaternion:[22,27,5,24,10],constrain:[0,16,19,23,24,2,27,29],built:[0,1,2,3,26,17,23,7,32,11,28,13],life:[0,16,29],e3rd_from_front_right:8,wrong:[29,11],recreat:[24,11,2],kinemat:[0,17,24],choreograph:29,though:[15,16,5,20,22,23,11,29,14],setrigidbodyflag:[0,16,8],getvertic:10,pxu32:[0,16,11,4,15,5,19,20,6,18,23,8,24,10,2,27,28,29,30,25],gimbal:[27,24],setbraketorqu:29,npc:23,pxvehicleautogeneratedmetadataobject:6,instanc:[15,11,4,5,19,20,6,18,8,21,10,2,27,28,29,25],vanilla:29,unregisterseri:6,physxfoundation_:[32,3],pxconstraintshadert:27,maxnbobjectsperregion:32,prune:[15,28],constraintbuffercapac:30,pyramid:[23,10],setprecisesweep:23,"__line__":[22,20],contactcach:16,userflipedg:11,angular0:27,hyperthread:15,muscl:27,dimens:[29,24,11],lightcputask:[8,26],granular:4,edeleted_actor_0:9,updatez:20,addbroadphaseregion:15,edetect_ccd_contact:0,streamlin:32,encapsul:[15,10,11,32],suppos:16,approx:29,ascen:10,wheelsimfilterdata:29,mrearleftrightsplit:29,pxshare:[9,26],brief:[17,30,26],onsleep:[16,20,4],pxheightfieldmateri:10,simfilterdata:29,microsoft:[32,3],pxfilterdata:[0,15,5,8,26],gdefaulterrorcallback:19,pxscenequerycach:[8,9],getnbbroadphaseregion:15,launch:[7,8,13],sse2:10,sixtieth:31,transport:[7,19],experi:[29,11],surfacetirepair:29,trimesh:2,dynam:[0,17],pxvehiclewheelqueryresult:[29,8],street:[23,29],instanti:[29,8,10,2],fetch:[5,21],touch:[0,16,17,26,15,18,23,8,10,11],eremoved_actor_1:9,eremoved_actor_0:[9,4],mspringstrength:29,inferior:15,totallinkcount:24,cmutil:6,slider:27,pxclothcollisiondata:8,biggest:7,"33m":11,surpris:20,thumb:[0,29],own:[0,1,2,4,16,24,5,20,22,23,7,9,3,27,15,29],createarticul:24,placement:[29,11],ewheel:8,pxbroadphasecap:15,gcudacontextmanag:30,identifi:22,createobstaclecontext:23,aspect:[20,11,10,4,6],registri:[2,6],"_debug":10,startup:[17,13,10,26],oper:[0,15,11,4,14,22,7,8,24,10,2,28,29],sluggish:26,handleoverflow:8,einternal_contacts_are_flip:0,blocking_sweep:29,getsweepqueryresultbuff:29,cookclothfabr:8,pxfindoverlaptrianglemeshutil:[8,9],open:[29,2],consum:0,well:[0,24],period:[16,29,24],singleton:32,pushback:8,move:[0,17,11],emax_nb_drivetank_analog_input:8,edetect_discrete_contact:[0,8],chassi:29,resultbuff:8,proxim:[0,1],pure:[27,16,29],halfforwardext:23,pxrepxobject:6,highend:6,convexinputdata:2,secur:26,pxraycastqueryresult:[29,8],expens:[0,18,14,20,22,24,10,11,27,28,29],disabl:[0,22],getactivetransform:32,pictur:23,"default":[0,3,5,6,7,10,2,15,22,19,23,27,1,4,8,9,11,16,18,24,28,29,30,32],etank_wheel_2nd_from_front_left:8,pxallocatorcallback:[22,5,20,6],step:[0,17,11],patch:[16,29,30,4,2],nonwalkablemod:23,eout_of_memori:22,describ:[0,1,2,15,5,19,20,18,24,10,11,28,29],jointveloc:24,pxcontactpairpoint:0,qualiti:[1,5,10,27,28,29],setdampingcoeffici:8,coher:[28,29,4],faster:[15,2,18,23,7,8,10,11,27,28,29],cctfiltercb:23,overlapaabbshap:5,rang:[0,1,16,5,6,18,8,24,10,11,27,28,29],stair:23,emax_nb_drive_channel:8,aheightfield:10,"throw":16,intuit:[27,28,29],e5th_from_front_right:8,etank_wheel_3rd_from_front_right:8,hitactor:8,profit:12,increas:[0,16,4,23,7,11,27,29],tell:[0,28,29,10,15],eanalog_input__handbrak:29,eventu:[15,16,29,4],egear_ratio:8,mitsubishi:29,ebest_poss:29,pxheightfieldformat:[10,11],aim:[29,11],monitor:11,setenginedata:29,aid:[29,8],triplet:10,scenedesc:[0,30,4],debri:[15,10,11],word:[0,28,5,22,23],emesh_multipl:18,echannel_jounc:[29,8],vari:[18,27,29,11],work:[0,16,11,4,15,24,18,5,19,20,22,23,8,9,21,3,27,28,29,31,32],createcach:24,better:[0,15,11,4,5,20,23,8,24,10,2,27,28,29],perman:29,setsleepthreshold:[16,5],wors:[24,10,4],over:[0,24,11],reserv:[0,5,22,2,12,28],ihit:8,across:[28,29,2],namespac:[7,8,6],roboticist:24,fricpair:8,next:[0,16,11,4,5,20,22,23,8,9,2,27,28,29],mphysic:[16,8,19,4],danger:29,interfer:29,pxarticulationlink:[0,28,31,27,24],downcast:5,onoriginshift:27,nx_timestep_fix:5,fluiditi:0,isserializ:[8,2],trianglecount:18,pxregisterheightfield:[19,9,10],ecrab:15,submit:[5,8,20,4],improv:[0,16,4,8,10,11,27,28,29],scalabl:1,triindic:10,resolv:[0,16,11,4,6,23,8,10,2,27,29],e2nd_from_front_left:8,pxdominancegroup:16,aheightfieldactor:10,likewis:8,pxcontactpair:[0,8,9],formerli:[5,8],modifi:[0,16,4,24,18,22,23,8,9,10,11,27,28,29,30],helloworld:17,renderobject:16,pxvehicledrivegraphchannel:8,faceindex:[18,28],label:29,meet:[18,29,11,4],eprefilt:26,vulner:28,certainli:29,deseri:[15,22,8,26,6],numprimsperleaf:32,compil:[15,2,3,22,8,9,32,11,13],daili:3,massless:16,mcrabbodi:15,given:[0,16,11,4,15,20,18,8,24,10,2,27,28,29,30],appear:[0,16,5,23,11,27,29,13],pxcreatedynam:2,settiredata:29,invert:23,invers:[0,17],transmit:7,disableshapeinscenequerytest:15,attach:[0,15,22,8,24,2,27,28,29],intervent:23,pxconvexmeshgeometri:[15,22,29,10],choos:[0,27,29,8,11],enorm_tire_long_forc:8,wall:[0,17],efix_bas:24,pxheightfieldflag:[10,11],acquir:4,assumpt:[0,29],edeprecated_32_compat:9,macro:[22,19,32],setcontactmodifycallback:0,pxvehicledifferential4wdata:26,encompass:1,took:11,somewher:[23,29],guserphysxtyp:6,spring:[27,5,8,24,29],neither:[0,5,23,27,12,29],edrive_model_speci:8,tool:[1,25,32,6],caus:[0,16,2,4,15,24,14,20,8,11,21,3,12,27,28,29],econstrain:23,getnumwheelgraph:8,etank_wheel_6th_from_front_right:8,swing1:[27,24],spatial:[15,22,9,27,28,29],swing2:24,strong:[15,23,29,24],block:[15,17,26,31,23,8,10,11,27],px_binary_serial_vers:2,volum:17,linecolorlow:29,nxuseroutputstream:5,findoverlaptrianglemesh:18,pxrevolutejointcr:27,unregistercustomclassbinaryseri:6,triangl:[0,17,23,25,11,30],sdkroot:22,setmassandupdateinertia:11,echannel_steer_control:29,getphysicsinsertioncallback:[28,19,9,10,11],writeallproperti:6,click:13,disguis:29,address:[23,5,14,6],elock_angular_i:16,pxtrianglemeshgeometri:[15,10],tradition:23,jitteri:[31,26],eowns_memori:6,simd:[1,10,16],phxsx:2,pxcontrollerfiltercallback:23,cloud:10,pxintegratesolverbodi:16,seidel:[1,17,26],pxconfig:3,interleav:[20,4],ahead:24,massscal:0,createserializationregistri:[29,8,2],requisit:6,job:[20,4],nx_max_angular_veloc:5,pxcreatefound:[5,19,9,32],pxfilterobjectattribut:[0,15,5,8,29],out:[0,16,4,15,19,22,23,8,10,11,12,27,28,29],gpadsmoothingdata:29,input:[18,14,20,22,23,24,10,11,27,28,29,13],howstuffwork:29,velocitytarget:27,pxtoler:22,worst:28,trade:[15,24,10],nearbi:[28,23],nbbodiestointegr:16,cach:[17,24],steer:[27,26],steep:[23,26],nvcloth:32,wheelcentrecmoffset:29,keep:[0,16,4,24,14,21,22,23,9,10,2,27,28,29,30],orient:[1,18,24,10,27,29],wakeup:[16,8,32,20],analysi:[29,3],than:[0,22,24,11,3],sink:[0,10],sticki:0,addcollisioncapsul:8,"32bit":10,sizeof:[15,5,6,24,10,11,28],pxregisterarticulationsreducedcoordin:16,elimit_en:27,lin1:27,intend:[15,23,14,2],eggert:29,carsim:29,pxtriangl:18,drivetorqu:29,blow:15,bodyatoworld:27,pxcapsuleobstacl:23,posesweptagainst:18,distinguish:[16,8,4,28],serializecollectiontoxml:[8,2],reconcil:4,createlink:24,eanalog_input_brake_left:8,comput:[0,17,24],setdominancegrouppair:16,respons:[0,16,14,6,22,23,8,10,2,27,28,29,30],"function":[0,17,6,22,23,24,10,11],overview:17,actual:[16,2,19,23,11,29],broken:[27,4],link:[0,16,15,31,19,24,10,2,29,32],bias:[27,29],taken:[16,4,23,27,29,30],tirecontactnorm:8,getnbvertic:10,full:[0,1,10,28,29,30],line:[15,16,2,4,18,20,22,23,8,11,10,3,27,28,29,25,32],vehiclewheelqueryresult:[29,8],pxrepxinstantiationarg:6,error:17,incorpor:27,shell:[18,16],hfactor:10,pointfromuv:18,actuat:[1,24,26],pxvehicle4w:29,einflation_incremental_hul:[9,32],pxtransform:[0,16,11,15,18,5,22,8,24,10,2,27,28,29],goe:0,statu:[18,28,10,4],size:[0,18,11,5,19,20,6,22,23,7,8,25,10,2,27,28,29,30,31],resweep:0,string:[22,2],continu:[22,17],setseparationtoler:24,migrat:[1,17,26],got:[21,4,32],pxmat33:[22,8],state:[0,1,26,5,22,23,8,24,11,27,30,14],snrepxserializerimpl:6,conveni:[15,16,18,23,7,8,10,2],chunk:[15,2],struct:[15,16,5,19,6,7,8,27,28,30],snippetvehicle4w:26,plan:7,geometricerror:27,collision_flag_wheel:29,eposit:[18,28,8],francisco:23,blockdist:28,deploy:3,poor:[0,23,29],evelocity_chang:[16,29],content:[17,2,4,26,19,23,11,13],destroi:[1,19,22,8,24,27],wai:[0,3,5,7,10,2,15,22,20,23,27,4,31,8,9,11,28,13,16,18,24,12,29],html:[1,29],pool:[11,4,20],smoke:29,ggpuloadhook:19,meshdesc:[8,10],nx_physics_sdk_vers:5,px_debug:22,setkinematicsurfaceveloc:16,minehead:15,pxcapsuleclimbingmod:23,pxconstructstaticsolverbodi:16,snippetvehiclewheelcontactmod:29,gtirefrictionmultipli:29,init:5,resiz:[28,11,23],offer:[15,16,2,5,20,24,21,11,28,29,13,14,25],"\u215b":32,elaps:[23,5,31,11],purpos:[15,1,18,22,23,25,2,27,12,29],physxgpu:19,reflect:[0,16,4,31,20,23,10,29,14],exportextradata:6,gdispatch:30,concis:13,exclud:[16,28],cb2ca:24,initi:[0,22,23,24,10,11,30],pxrepxseri:[8,6],plane:[0,22,17,30],sure:[15,6,23,8,25,10,11,29],window:[18,2,5,20,22,32,3,28,30],pxhitcallback:[28,5],freedom:[27,16,29,24],gap:10,setdistancejointflag:27,nv_use_static_wincrt:3,tirelatforcemag:29,gettaskmanag:20,maxraycastqueri:8,pxu16:[27,29,10],evehicle_type_drivetank:8,compens:29,mindexbas:10,mirror:9,getwheelshapemap:8,shdfnd:8,undesir:23,convinc:[0,23],substitut:[12,5],pseudo:[15,29,11],edynamic_aabb_tre:26,dstmetadata:2,neighbor:10,torsion:29,store:[15,16,2,4,18,5,20,22,24,7,8,11,10,3,27,28,29,30,32],pxgdynamicsmemoryconfig:30,getinboundjointdof:24,ediff_type_ls_rearwd:29,metr:29,lane:16,translateptr:6,metric:0,header:[22,17],angvel:16,lock:[17,24,26],eenable_swept_integr:8,core:[1,17,3,26,6,23,11],infinit:[0,16,31,18,23,27],writebuff:10,fulfil:[29,24],sweep:[0,23,17,10,11],linkag:29,meshcookinghint:[9,10,11,32],physapi:20,eenable_pcm:[0,30,9,11],push:[0,16,29,27,23],pxqueryfilt:8,pname:6,pxcreatebasephys:[19,10],uncaught:11,shaderdata:29,getsleepthreshold:16,tunabl:29,event:[0,15,26,5,23,8,9,32,11,27,12],convexbox:15,testforoverlap:10,toi:[0,16],buffer:[0,24],within:[0,1,2,4,16,24,20,22,23,8,11,10,3,27,28,29,30,15],too:[0,15,2,26,31,22,23,25,10,3,28],behind:[18,29],aggreg:[17,26,11],sample_new:10,"18m":11,toe:29,pxupdatearticulationbodi:16,vice:[15,11],instruct:[22,11],rectangl:10,classic:[1,16],perspect:4,acycl:27,xml:[5,8,3,2,6],top:[19,22,23,10,11,29,13],maxnbcontactdatablock:[20,11],energi:[0,1,16,5,24,27,29],major:[22,1,30,24,10],pxqueryhittyp:[28,29,8],evolv:1,echannel_accel_control:[29,8],d3dxmatrix:22,dot:[5,18,8,9,32,11,27],pxdiagon:[16,5],advantag:[0,1,4,16,31,20,23,8,24,11,29,30],excess:[23,29],temp:30,trimeshid:2,doc:29,sweepresultss:29,doe:[0,1,11,4,16,24,20,22,23,26,8,9,10,2,27,28,30,15,25,32],anb:11,startaft:4,dof:[27,24],mcamberatmaxcompress:29,setinvinertiascal:11,pxarticulationjointreducedcoordin:[24,32],assign:[15,16,4,5,2,28,29],slide:[0,23,27,24],isparticlefluid:9,suffici:[0,16,2,18,5,22,24,11,28,29,30],pxscenequeryhittyp:8,split:[27,17,30,10,26],abl:[0,16,11,4,15,19,20,18,23,8,9,10,2,27,24,29,30,32],"1st":23,usergethfshap:10,prepar:6,threadbatch:8,lib:[3,2,32],pxu8:[10,6],linear1:27,chanc:[0,28,14,4],lie:[27,10],eface_index:[18,9],createbvhstructur:28,ith:10,squar:[16,29,10],createvehicleactor6w:29,sum:[0,29,24,14],mathemat:[27,29],cuda:[1,30,4],gettimestamp:10,pxbatchquerymemori:[28,8],correspond:[14,18,2,4,24,5,19,6,22,8,9,10,3,27,28,29,30,31,25,32],param:10,esteer_right_control:8,externalrefer:27,setposit:23,px1dconstraint:27,were:[0,16,4,15,5,20,6,18,8,24,10,2,28,29,31],getnb:6,halfsideext:23,handler:[22,7],acquirerefer:[22,9],find:[0,16,2,15,18,6,22,11,10,3,28],fine:[23,29,8,11],esend_sleep_notifi:[16,20],pxsetjointdata:16,pxvehiclewheeldata:26,efre:27,eequal:27,px_c_export:[16,29],rim:29,throughput:4,getnbcontrol:23,rendercapsuleactor:10,basic:[17,6,22,23,25,11],alloc:[22,24],interpol:[27,29,11],pxvehicl:6,shorten:28,filetoobject:6,shorter:29,eremoved_shape_1:9,restrict:[15,16,4,5,20,18,23,24,29],disabledpropertyentri:6,bottl:23,procedur:[29,2],allow:[0,5,6,7,20,2,15,21,23,27,4,31,8,9,11,13,16,22,24,28,29,10],px_delete_repx_seri:6,eweld_vertic:10,samplecustomgrav:[16,23],parentattach:24,physxfound:26,overridden:22,createident:8,pxpvdinstrumentationflag:[7,19,11],sinc:[0,1,11,4,16,5,20,22,23,7,8,9,10,2,27,28,31,25],mbatchcomplet:8,customclass:6,bit:[15,16,3,5,20,22,23,10,11,28,29],pxreleasearticul:16,setdigitalsteerright:29,sweepdirect:28,noth:[16,9],minor:[22,23,8],pxmin:11,bin:[32,3],"boolean":[18,28,5,29,4],spot:29,dominance1:16,dominance0:16,exchang:5,big:[23,14,2],displac:[23,29],outcom:16,processor:15,ereport:9,presiz:[20,11],come:[0,1,3,4,16,11,15,29],remedi:29,vertex:[17,30,11],targetveloc:27,displai:[30,20,2],unregistercustomclassrepxseri:6,echannel_gear_ratio:[29,8],awkward:10,assum:[0,16,2,4,15,24,10,11,27,28,29],unconstrain:[27,16],barycentr:18,wikipedia:29,"05_01":29,edeleted_shape_oth:9,menu:[7,2],com:[7,29],settim:5,eventnam:7,px_new_serializer_adapt:6,length:[18,5,22,23,8,10,28,29],common:[16,17,26,6,22,23,8,24,10,11,27,32],ithread:8,nx_timestep_vari:5,observ:[22,29,8,10,20],wheelsdyndata:29,pxvehicleisinair:8,updateb:20,customclassrepxseri:6,interpret:[16,18,8,10,27,28],halfext:8,skateboard:29,reson:16,numrow:10,getconstraintflag:27,properli:[15,16,2,21,23,11,28,29],bufferoverflowoccur:18,converg:[27,16,24],sooner:0,latenc:[29,11,4],px1dconstraintflag:27,efirst_user_extens:6,repxobject:8,pxcontactjoint:24,apex:[9,4],member:[0,16,15,18,21,6,22,11,28],cachedindex:18,setstretchconfig:8,invisiblewallheight:23,jump:23,pxfilterobjectistrigg:[15,5],pxdefaulterrorcallback:[22,19],doublesid:18,peculiar:16,especi:[0,15,3,4,14,8,11,28,29],shortest:[27,24],point:[0,22,23,24,11,25],geom0:[18,16],geom1:[18,16],additionali:11,speedup:28,refit:28,pxphysicsapi:[5,3],prismat:[17,24,26],ptype:6,client:[31,32],solvertyp:[16,8],gtreasurefound:15,useroverlaphitbuff:8,eengine_drive_torqu:8,artefact:[0,11],expect:[0,16,2,15,5,19,21,10,11,28,29],softwar:[12,5],seri:[29,6],serv:[28,30],pxwheelqueryresult:[29,8],later:[15,16,23,8,24,10,28,29,30],rowscal:[10,11],nearer:29,worri:0,triggershap:15,constitut:0,topolog:[28,10],factori:6,pxshapeflag:[0,15,8,25,23],simpler:[0,5,29,4],pxcomputeheightfieldpenetr:[18,9,32],emesh_both_sid:[18,9],offlin:[10,11],twenti:31,contactstream:8,exist:[0,1,16,18,5,22,23,7,8,11,27,28,29,15],total:[0,15,14,23,8,11,28,29,30],mainli:[21,11],make:[0,5,6,7,10,2,15,22,19,20,23,27,25,1,4,31,8,9,11,16,18,24,28,29,30],allevi:11,onccdcontactmodifi:0,guidelin:26,encount:[21,23,8,11,27,28,29],rubberi:27,geterrorhandl:7,eenable_two_directional_frict:8,woken:[16,8],initialst:24,suffix:3,ang1:27,ang0:27,setgrav:16,pendulum:29,pxvehiclecomputetireforcedefault:8,recomput:[28,29,11],realli:[15,29],enotify_touch_found:[0,15,32],wheelomega:29,flexibl:[15,16,8,2],textur:29,sampleallocat:4,plain:[8,2],tricki:20,fetchresultsfinish:20,pxplanegeometri:10,fold:8,pxoverlapbuffern:8,"60hz":29,pxoutputstream:[8,2,6],stepper:31,seek_set:2,ecapsul:10,enon:[27,26],imagin:[29,11],setupsimdata:29,signalquit:8,contactstreamcapac:30,retain:[16,12],gpu:17,product:[1,4,18,25,12,29],"60fp":11,significantli:[15,16,2,7,8,10,11,27,28,29],sleep:17,echannel_tire_long_slip:[29,8],px_delete_serializer_adapt:6,pxactorflag:[15,16,25,20],port:[23,5,7],due:[0,1,2,16,14,18,23,11,27,28,29],eprismat:24,snippethelloworld:17,conjunct:[0,18,29,30,11],ifdef:10,memorybuff:6,pxsetmutablelinkdata:16,occupi:30,pxvehicledrivetankcontrol:8,eimpuls:16,poli:16,afterthought:5,pxscenequeryreport:8,edefault:[0,28,5,18,15],angl:[27,23,29,24],access:[0,16,17,26,15,5,21,22,23,8,24,10,2,27,28],simpli:[15,16,24,5,19,20,18,23,8,9,25,11,27,28,29,31,32],pxccdcontactmodifycallback:[0,5],pole:16,fetchresultsstart:20,erestitut:27,damper:29,issleep:[16,5,8],translat:[16,2,5,18,24,11,27,14],viewer:25,latter:[29,11,2],destructor:[27,2],corpor:12,linux:[13,30,32,2],sample_alloc:15,difficult:[23,5,30,29,11],contactpatch:[0,9],nxrai:5,detach:[15,22,7],massmatrix:24,templat:[5,9,6],how:[0,1,26,16,24,5,6,18,23,8,9,10,11,27,15,30,31],pxrigidactorext:[15,16,11,24,5,22,9,10,2,28,29,32],isparticlebas:9,obligatori:29,cluster:[15,28,4],precomput:[28,10,11],opengl:22,bitmask:28,velocitythreshold:27,echannel_norm_tire_aligning_mo:[29,8],vital:[1,29],standalon:[9,10,32],pxsweephit:[18,28,8],obstacl:[17,11],pxfeatherstonearticulationlinkdata:16,cambertireforc:29,end:[0,16,3,15,5,20,18,23,11,27,29],pxconstraintconnector:[27,5],drift:[27,24],suppli:[27,29,24,10,2],pxinitvehiclesdk:[29,8],treasureshap:15,pxsetasserthandl:22,mfoundat:19,glpopmatrix:22,setnam:2,pxcachealloc:16,entri:[15,22,29,24],efast:8,vertexlimit:10,down:[0,17,22,23,9,26],echannel_clutch_slip:[29,8],below:[0,16,4,24,5,19,20,18,23,8,9,10,11,27,28,29,13,30],thephys:10,refus:26,distinct:[27,29,20],directori:[1,5,6,9,32,3,13],pxcreatecontrollermanag:23,prototyp:[15,29,2],fly:[23,3],pxprocesspxbasecallback:[5,6],vector:[22,17,24],mysteri:3,logic:[15,5,20,22,11,28],exce:[0,16,20,11,27,29,30],tireforceappcmoffset:29,pxrevolutejointflag:27,px_max_f32:[27,29,24,11],corioli:24,indefinit:[16,11],emesh_ani:[18,28,9],ejoint_fram:27,extract:17,acapsuleactor:[5,10],setswinglimit:24,idiom:22,sever:[15,16,20,6,18,23,8,24,11,28,29,30],centimet:[0,22,29],best:[0,17],physxsampl:10,color:29,submittask:4,last:[0,16,31,18,23,8,9,32,28,29],edist:[28,9,32],extrem:[0,18,29,30,11],evehicle_type_nodr:8,overrid:[16,5,7,28],dimensionless:29,ptr:[22,20],linearcapsulesweep:5,index:[17,26,6,18,23,24,10,11],flag:[0,24],pxd6axi:27,rather:[3,24,31,20,18,23,8,9,21,11,27,28,29,30],pxvehicleupdatecmasslocalpos:29,vast:25,euv:[18,28],addforceatlocalpo:16,trigger:[22,17],pxvehicleackermanngeometrydata:26,contributor:12,snippetdelayloadhook:19,breakpoint:22,springmodifi:27,carrawinput:29,piec:[23,10],pxcontrollerfilt:23,convexmemory128:2,angularmotionveloc:16,platform:[16,3,5,6,22,23,10,11,13,32],decad:23,cosin:23,summar:23,getsiz:10,wikihow:29,program:[22,1,13,19,16],inread:6,aabbtre:28,limb:[0,23],emax_distance_en:27,qryfilterdata:29,"break":[0,16,20,22,8,24,10,2,27,28,29],root:[27,13,24,3,6],travers:[27,28],mypvdclient:7,constantblocks:[0,15,5,8,29],wheelssimdata:29,worker:[22,16,11,4,20],outlin:[24,11],exhibit:[30,24],ccd:17,dramat:16,ultim:16,illustr:[16,20,18,23,7,8,10,2,29,13],recoveri:[17,24],enotify_touch_lost:4,pxvehicleclutchdata:26,room:8,time:[0,22,17,24,11],crt:3,pxconstraintproject:27,resourc:[16,19,11,4,20],solverprep:27,suitabl:[1,24,2],scalar:[0,24],centric:28,distribut:[22,12,17,26,3],heart:23,drove:29,although:[0,16,2,15,24,11,27,28,29,13],enumer:[15,6,22,8,27,29],eprevent_climbing_and_force_slid:23,inrigiddata:16,black:11,drivesimdata:29,fluid:5,cell:[28,10],setscenequeryfilterdata:[29,8],getcurrentgear:29,llindex:24,setupdirect:23,straighten:29,raycastsingl:8,etransmit_constraint:[7,8],hfshape:10,nbpositioniter:16,pxcapsulecontrol:23,greater:[0,31,18,23,10,29],match:[29,8,24,2],amount:[0,16,15,5,20,18,23,21,25,10,11,27,29,30,31],kilogram:29,minim:[15,16,3,4,20,18,23,32,11,27,28],ncol:24,meshgeom:18,helper:[0,16,11,4,15,5,18,23,10,2,28,29],mindist:23,sampl:[0,22,17],createheightfield:[9,10,11],slight:[23,29,24,11],predict:[16,29,23],tire_type_norm:29,px_force_inlin:[29,8],arm:27,addit:[0,17,3,6,22,23,24,10,11,30],deltalinearveloc:[0,16],swingdriv:27,frustrat:0,skinwidth:[5,32],balanc:[0,29,8,4],broad:17,cheap:15,suppresstrianglemeshremapt:[10,11],retarget:6,explos:28,addid:2,createzero:8,road:29,minheight:11,interact:[0,17,24,11],pxtoolkit:[8,19,10],geompos:18,ewheel_omega:8,buildtool:3,convexdesc:10,pxarticulationaxi:24,know:[15,5,18,23,24,10,29],inward:29,othercompletiontask:20,squish:16,getlatslip:29,real:[0,1,16,31,23,7,24,10,2,29],addtorqu:[16,8,20],buffers:[0,28,18],eremove_unreferenced_vertic:9,eanalog_input__accel:29,risk:0,"case":[0,17,24,11,3],hadblockinghit:28,physx_64:32,reclaim:[20,11],getnbshap:15,trivial:[15,5],hash_map:5,packjointdata:24,xmlwriter:6,particular:[0,16,4,15,18,23,8,24,32,11,27,12,29],breakabl:[27,24],snippetcustomprofil:7,snippetvehicletank:26,unimport:11,sqdesc:29,written:[28,5,12,24,6],pxvehiclechassisdata:29,autowak:[16,8],inherit:[5,6,22,8,10,27],settodefault:10,pxclientbehaviorflag:8,"60th":11,eanalog_input_thrust_left:8,nbvelocityiter:16,size_t:[22,20,2,6],cleartorqu:[8,20],mwheelssimdata:[29,8],hand:[16,20,22,2,27,29,13],nbcontactpair:20,rendermateri:[10,4],tort:12,pxvisualizationparamet:[27,25,32],mytrimeshshap:10,unbatch:28,glanc:29,processcallback:20,pxscenedesc:[0,16,4,15,5,20,22,8,9,32,11,28,30],posetosweep:18,main:[15,1,4,24,31,20,18,23,8,9,2,28,29],care:[15,16,4,31,22,27,29],align:[15,18,2,5,20,22,23,11,27,29],heavili:29,run:[0,1,2,4,16,24,31,20,6,8,11,21,3,27,28,29,13,30,15,25,32],angularmotionst:16,pxconvexmesh:[22,29,11,10,2],semant:[0,8,26],shoulder:27,frictionpair:29,createbatchqueri:[28,29,8],lockclothreaddata:8,computejointforc:24,snowbal:[16,23],perceiv:[31,11],acapsuleshap:[5,10],"null":[16,4,19,20,6,18,23,8,24,10,2,27,28,29],makefil:[32,3],abcdabcdabcdabcd:11,reinterpret_cast:[0,27],groups2:5,setjointtyp:24,imbu:16,slightli:[0,15,5,23,8,24,10,11,27,29],minimalist:13,inf:[18,28],upward:[23,29],repxcollect:8,impulsivetorqu:16,nbsprungmass:29,dstbinfil:2,setcontactreportthreshold:0,tire:[8,26],middlewar:4,outward:[18,29],"int":[22,8,20],inarg:6,getdistancelimit:32,complementari:29,bypass:[15,16,28],samplenorthpolebuild:10,enorm:[18,28],processhit:8,gettwist:32,chassisshap:29,watch:[7,29],pxps3config:8,equat:[16,22,10,27,28,29],imperfect:[23,29],perfectli:[0,4,20,23,24,29],shift:[0,27,17,10,26],comment:16,refitbvh:10,equal:[27,16,29,11,4],espr:27,earlier:[18,8,24,10,11,29],subdivid:[15,5],broadphasetyp:[30,11],pxarticulationbas:32,nxusernotifi:5,pullei:27,arrai:[0,16,2,18,8,24,10,11,27,28,29],extend:[23,17],pxbinaryconvert:[8,2,6],repxutil:8,sethalfsideext:23,localfram:27,pxpvdtransport:[7,19],nblink:24,pxarticulationjointbas:32,permiss:12,mgeardownpress:29,folder:[5,13,3,6],otherwis:[0,16,15,23,8,10,3,12,27,28,29],polygon:23,ecct_user_defined_rid:23,extens:[0,1,17,26,18,6,22,23,24,3,27,30],rcvd:29,echannel_engine_drive_torqu:[29,8],etank_wheel_4th_from_front_left:8,ellips:24,pointrejectangl:29,fundament:[15,27,5,31],pxzero:[22,27,8],x64:32,math:17,incompat:[18,2],centrifug:24,restdistacnc:0,sethalfforwardext:23,chassisdata:29,save:[15,16,11,5,19,6,8,10,2,28,29],repeatedli:18,believ:[1,29],regardless:[15,16,22,23,8,10,28],edisable_grav:16,wheelgraphposi:29,"\u215c":32,satur:29,smallest:29,pxfrictiontyp:8,isparticlesystem:9,mdownratio:29,maxoverlapsperexecut:8,repxupgrad:8,clutch:26,lose:[15,29],myconvexmeshshap:10,ftell:2,pxvehiclepostupd:29,plug:2,pxgeometryqueri:[17,10],vertexindic:18,explicit:[1,4,5,8,24,32,9],unknown:[23,5],delai:[17,26],efast_inertia_comput:10,hitflag:18,lost:[0,16,7,8,10,2,30],loss:[12,29],edebug:7,getnbcolumn:10,clientid:8,pxdefaultmemoryinputdata:10,enhanc:[17,26],registerseri:6,gcc:32,write:[2,4,31,19,20,6,23,8,24,11,29],edeprecated_trigger_trigger_report:26,belong:[15,16],pxprismaticjointflag:27,nxjointdrivedesc:5,round:[18,23,29,11],pxtype:6,substep:[0,26,5,17,11],pxconvexmeshgeometryflag:[10,11],action:[15,23,29],shapetransform:11,camberangl:29,inspect:[1,7,29,2],regener:23,createrigidstat:[16,11],subsequ:[0,16,4,5,20,23,8,11,27,28,29],stiff:[27,29,8,24],pxvehiclewheelssimdata:[8,26],contactcorrelationdist:8,enotify_touch_persist:32,singl:[0,15,17,26,18,5,22,8,9,10,11,27,24,13,30],boilerpl:27,ascii:2,amateri:10,yield:24,ecooking_perform:10,createcustomclass:6,repeat:[29,11],tireload:29,friendli:16,"byte":[22,5,11,2,20],intro:29,slope:[23,26],updat:[0,17,24,11],easiest:16,vehiclefiltershad:29,collision_flag_ground:29,possibl:[0,3,5,21,2,15,19,20,23,27,4,31,8,11,28,16,18,24,12,29,30,10],setmaxdist:27,bring:[27,1,29],getnam:4,peak:29,repxserializerimpl:6,pxheightfielddesc:[9,10,11],edisable_active_edges_precomput:[10,11],pxactortypeselectionflag:[8,9],downward:[16,29,23],tend:[23,2],signific:[1,4,24,5,20,8,9,10,11,28,29,25,32],customtypeextensionapi:6,mstiff:29,wheelmoi:29,highpeakpress:29,unpack:[1,24,10],getactivescen:8,settireforceapppointoffset:29,encod:[15,27,29,11],except:[2,4,18,23,3,27,29],symmetr:5,writer:4,suspsprungmass:29,releasebatch:8,pxcctnonwalkablemod:8,number:[0,1,11,4,16,18,5,20,21,22,23,8,24,10,2,27,28,29,13,30,15],iscomplet:20,restoffset:0,whenev:[0,28,31,2,15],inher:[29,24],see:[0,5,6,10,2,15,22,19,20,23,27,25,1,4,31,8,9,11,16,18,24,28,29],pxbatchquerydesc:[28,29,8],collid:[0,16,15,5,20,23,10,29],similar:[16,5,18,23,24,10,11,27,28,29],pxmetadata:6,weight:29,introduct:17,maxvert:10,ship:5,set:[0,3,5,6,7,10,2,15,22,19,20,23,27,25,4,8,9,11,16,18,24,28,29,30,32],pxmeshscal:10,duplic:[29,10],individu:[0,16,21,18,8,24,11,27,25,29],swim:0,susplinestart:8,redistribut:17,relativepos:10,debugg:[22,17,25,11],doesn:[0,29,2,6],configur:[0,22,17,24,11],startindex:18,eproject:27,forinternalus:27,frictiontyp:8,hull:[30,9,10,11],surface_type_tarmac:29,cct:[17,11],upon:[15,27,7,29,20],heightfielddesc:10,slowli:[0,23,26,2],push_back:[0,8],intersect:[15,5,18,10,28,29],capsuledens:10,nbtriangl:18,remark:[29,8],pressur:28,exhaust:[1,29],getnbwheel:8,thereaft:[22,28],endian:2,combin:[0,16,5,21,6,18,23,24,3,27,28,29,30],unrealist:[23,29,11],glass:18,recip:6,esteer_left_control:8,batch:[17,26,11],albeit:29,flushsimul:[16,20,11],gdelayloadhook:19,easi:[0,1,19,22,23,2,29,13],rustl:28,cosf:23,obvious:[23,29],text:[25,2],wheelcount:8,externaldriveiter:24,tini:[0,23],waitforquit:8,pad:29,inconveni:16,asset:[16,2],explor:[13,21],pxfeatherstonearticulationdata:16,guidanc:9,pxconstraintflag:[27,8,9],einternal_has_face_indic:9,gcook:[28,5],behav:[0,16,29,27,24],pxsolvertyp:16,pxarticul:[16,31,8,24,32],fill:[16,18,23,10,2,28],likelihood:[0,29],swap:[28,20],nx_assert:5,owner:[12,6],shapeb:[5,2],everythingcollect:2,efront_right_wheel:8,file:[22,17,11],sphereshap:8,nbsolverbodi:16,halv:10,camberangleatmaxdroop:29,consequ:[16,4,20,23,8,9,2,29],http:[7,29],design:[1,17,3,26,22,24,11,27],network:[19,26,2],preserv:[14,23,10,2,27,29],"float":[0,16,5,22,23,10,11,27,14],snippetgpuloadhook:19,maya:2,updatea:20,half:[18,10],pxjointlimitcon:27,effici:[0,16,4,15,23,25,10,2,28,29],hardwar:[11,4],edisable_mesh_valid:10,ememori:[7,20],releas:[0,22,17],extern:[16,26,18,23,8,24,2],gettaskid:4,rule:[0,16,4,15,18,20,6,22,23,2,28,29],getfootposit:23,spheric:[18,23,17,24,26],"30hz":11,backfac:18,snippetvehiclemultithread:26,etank_wheel_9th_from_front_left:8,pxcollectforexportsdk:8,pxvisualdebuggerext:[8,20],pxvehicleextensionapi:6,pxcollect:[8,2,6],otheractor:0,veh4wactor:29,getnbobject:2,off:[0,16,15,23,10,3,27,29],"short":[29,11],predefin:[0,19,10],pxraycasthitbuff:8,surround:[23,29],tabl:[10,26],pxconstraintsolvehint:27,immconstraint:16,setreportallocationnam:[22,20],cost:[0,15,24,11,28,29,30],quot:29,host:30,similarli:[0,15,4,5,18,23,7,8,24,27,28,29],computation:29,pxobserv:8,dream:29,settwistlimit:24,wheelradiu:29,react:[7,29,20],detect:17,author:[29,19,2],bqthread:8,onconstraintreleas:27,createcontrol:23,partial:[16,4,21,27,29,30],api:17,ideal:[15,23,29,27],dotouch:8,snippetjoint:27,pxgetphys:2,pxactorclientbehaviorflag:8,analogu:6,separ:[0,16,11,4,24,5,18,23,7,8,9,2,27,28,29],shall:[12,29,20,4],quantiz:17,said:[15,16,29,10,2],discret:[0,1,31,23,8,30],lifetim:2,maxnbstaticshap:28,threshold:[0,16,29,27,24],setdigitalsteerleft:29,gameplai:[23,29],scope:[1,23],computevelocitydeltafromimpuls:[0,16],static_cast:[16,24,2,28],app:[31,29,3],theoret:29,binari:[22,17,3],ediff_type_open_rearwd:29,relax:29,differenti:26,unpackjointdata:24,impli:[12,2],estatic_aabb_tre:26,overlapobbshap:5,queri:[22,17],stream:0,pxrigidactor:[18,22,8,10,26,27],echannel_wheel_omega:[29,8],impract:29,chassiscmoffset:29,movabl:27,wheelidx:29,cone:[27,24],setparam:10,mutual:27,welcom:[17,26],pxpairflag:[0,15,4,5,21,8,32,29],signifi:27,vcurrent:27,tessel:17,represent:[1,22,24,10,2,27,29],setdigitalbrak:29,degener:28,closestpoint:18,pxcapsulecontrollerdesc:23,dll:[1,17,3,32,26,30],setprismaticjointflag:27,"switch":[15,2,3,4,23,8,10,11,29,32],preparedata:27,flavor:[16,29],snippetsplitfetchresult:20,begun:4,conveyor:[0,16],setdrivetyp:24,tireforceshaderfn:29,approxim:[0,16,18,22,8,10,11,29,30],computelinearangularimpuls:0,xmlmemoryalloc:6,sm3:30,anyhit:9,caution:[29,11],variant:[16,10,6],feel:[16,26,23],prop:6,sphere:[23,30,11],hello:13,foundat:[1,17,5,22,32,26],advancecoeffici:0,rout:7,vc14win64:[13,32,3],afterward:11,pxvehiclewheelssimdta:29,unambigu:29,postsolverveloc:0,plagu:23,generateexamplefil:2,pxboxobstacl:23,interv:[31,14],addcollisionspher:8,uint64_t:7,setsolveriterationcount:16,nxgetcookinglib:5,nasti:27,nxjointlimitsoftdesc:5,linearvelocityactor1:0,horsepow:29,unlockread:4,mix:[4,3,10],gphysic:[28,29,30],pxclient:32,cross:[16,23],stress:27,enodr:8,illeg:[20,4],intern:[17,24,11],readextradata:6,getsuspensiondata:29,wasn:5,them:[0,1,2,4,16,18,5,20,22,23,7,8,11,10,3,27,28,29,15],prioriti:[27,5,4],thei:[0,16,11,4,15,24,18,5,20,22,23,8,9,2,27,28,29,31],script:[32,3,6],spec:11,deviat:29,gather:11,vehicle4w:29,enotify_touch_ccd:0,manual:[15,16,4,19,23,7,9,2,27,28,29],setupdrivablesurfac:29,pxactor:[0,16,15,5,22,23,8,9,2,31],attribut:[15,4,10,27,28,29],createreducedcoordinatearticul:24,getsimulationstatist:21,einequ:27,targetposit:[27,24],again:[0,16,2,15,19,20,23,9,10,11,24,29,25],your:[15,16,11,4,5,19,22,23,7,9,10,3,27,28,30,25,32],liberti:29,stutter:0,edrivetank:8,pxcontrollerbehaviorflag:23,gettireloadfilterdata:29,echeck_zero_area_triangl:10,fopen:2,e7th_from_front_right:8,sqrt:[29,10],clock:29,fail:[0,16,2,4,19,23,10,11,27,29],samplesubmarin:[0,15,4],addloopjoint:24,convex:0,ecct_can_ride_on_object:23,accident:21,overal:[0,16,11,4],nbhit:[28,8],uniqu:[23,29,9,2,6],maximpuls:[0,27],depth:17,pxvehicleautogeneratedmetadataobjectnam:6,bake:5,articulationlinkhandl:16,areatestepsilon:10,pxsolverconstraintprepdesc:16,snippetimmediatemod:16,evolut:23,mode:[0,17,11,3],pxvehicledrive4wsmoothanalograwinputsandsetanaloginput:[29,8],physxcommon_:3,pxsolverbodydata:16,divert:29,unvalid:10,reiniti:22,custompath:19,pxsetphysxgpuloadhook:19,msize:6,screen:29,setanalogst:29,pxvisualdebuggerconnectionflag:20,safe:[0,15,4,20,22,23,11,27,29],unnecessarili:[0,23],pxphysic:[0,16,15,5,19,22,7,8,9,10,2,27,28,29],materialcollect:2,load:[16,17,2,26,5,8,10,11],free:[19,20,23,24,11,27,29,13],pivot:11,reset:[16,20,8,24,28,29],parallel:[15,16,4,5,20,8,11,27,29,31],pxfeatherstonearticulationjointdata:16,insid:[0,15,18,5,19,20,22,10,29],pxdefaultmemoryoutputstream:10,extrud:[23,9],appguid:4,getscen:[15,8],modular:29,terraindata:11,tag:[23,5],nextpatch:0,flatter:29,startgearchang:29,eoutput_forc:27,imbal:29,heightfieldpos:18,sacrific:[16,24],edeprecated_body_joint_group:32,referenc:[22,5,31,4,2],pxoverlapbuff:[28,8],drivetyp:5,setwheelrotationspe:29,graphsizex:29,flatten:0,dispatch:[11,4],createcollect:[8,2],hfgeom:[10,11],readallproperti:6,workaround:[0,5,11],eenable_ccd:[0,8],gavoidedphysxtyp:6,expos:[22,18,5,24,29],pxmeshmidphas:[10,11],enorm_tire_aligning_mo:8,dat:2,px_physics_vers:[22,7,19,32],geometr:[5,8,10,27,28,29],px_new:8,gettwistangl:32,createpruningstructur:28,bia:29,reciproc:29,physx_:3,pxvolumecach:8,gave:2,ramp:23,dai:3,speed:[0,16,15,5,22,23,7,10,3,28,29],between:[0,5,10,2,15,22,19,20,23,27,1,4,31,8,9,11,16,18,24,28,29,32],all:[0,3,5,6,7,10,2,15,22,19,20,23,27,25,14,1,4,31,8,9,11,12,16,18,24,28,29,30,32],strategi:[28,29,10,11,23],far:[15,14,20,18,9,10,27,29],linear:[0,16,23,24,32,27,29],gettirelongitudinaldir:[29,8],ratio:[27,16,29,24],onconstraintbreak:[27,20],getforc:27,invis:17,seamin:0,isrigidstat:9,postfiltershad:28,deltaheight:11,pvd:[1,17,3,26,22,8,9,11,25,13],submitbatch:8,persistentcach:28,procur:12,freed:[29,20],weak:29,toolkit:10,childattach:24,intel:22,getcoefficentmatrixs:24,isarticulationlink:9,reconsid:16,validateconvexmesh:10,alreadi:[15,2,4,23,7,10,11,27,28,29,13],integ:[22,24,10,11],defin:[1,17,26,18,6,22,23,24,10,3,25,30],holder:12,about:[0,17,26,22,23,24,10,11,25],conserv:[0,27],filter:[0,17,18,23,24,26,27,30],accordingli:[29,9,14],inter:[0,4],pvdclient:26,ground:24,calcul:[0,16,4,18,8,24,11,27,29],island:[0,16,11],pretti:[29,14],elast:16,hash:[16,5],postfilt:[28,8],pxheightfieldgeometri:[10,11],pxvehiclemetadataobject:6,abp:[15,30],tempor:[1,17,26,23],aconvexmesh:10,impulsiveforc:16,toward:[14,23,24,10,27,29],straight:[23,29],wheeltodis:29,background:[4,2],cudacontextmanag:30,hadinitialoverlap:[18,8],pxspheregeometri:[15,5,8,10,2],oncontact:[0,15,20,4],particl:[17,8,26],wherea:16,linearli:29,windmil:16,coulomb:16,pxquat:[5,22,8,24,10,11,29],dead:27,spg:29,outweigh:4,conceptu:29,outer:[29,11],nxwheelshap:29,shape:[22,17],deletionev:8,arc:27,pxlinkdata:16,pxbaseflag:6,wherev:24,gbatchqueri:29,"3rd":23,account:[0,16,4,20,23,24,11,29,30],spu:[5,17,26],lockread:4,"28tank":29,pxpvdsdk:32,mgearuppress:29,clip:[0,28,10,11],ekeepbia:27,act:[0,16,7,8,24,27,29],youtub:29,createexclusiveshap:[15,16,11,5,22,9,10,2,24,29,32],meanwhil:16,sometim:[16,18,23,25,10,11,27,28],strip:[19,10],former:[5,8,29],pxplatform:9,edisable_simul:[15,16],player:[0,23,29,11],critic:[29,4,2],materi:[0,17,11,24,10,26,12],pxsamplesubmarin:15,pxraycastcallback:[28,8],wrap:4,pxmeshgeometryflag:[18,10],ediff_type_open_frontwd:29,eclutch_slip:8,gsteervsforwardspeeddata:29,pxgetlinkindex:16,sqresult:29,seen:[29,20,11],axl:29,px_serial_file_align:2,pcm:17,undocu:22,"0x7fff":11,setmaxprojectioniter:24,mthread:8,releaseexclusiveshap:9,"transient":[29,30],red:11,rigidactor:22,depend:[0,16,2,4,15,24,18,19,20,6,22,23,7,8,11,10,3,27,28,29,32],getconjug:24,averag:15,pxconstraintinfo:27,rel:[0,16,2,24,10,11,27,29,30],unoptim:11,levit:23,maxhit:[18,8],want:[0,16,4,15,5,22,10,11,27,28],evisu:[27,25],forcedynamictreerebuild:28,articulationlink:24,lateralslip:8,setupnondrivablesurfac:29,automat:[0,16,4,15,20,6,23,7,8,24,10,2,27,28,29,13,32],inner:[29,11],doanyhit:8,inlin:5,addition:[15,1,4,20,23,7,24,28,29],setdrivetorqu:29,pxhalfpi:10,srcwheel:29,edisable_clean_mesh:[9,10],mcamberstiff:8,formula:[18,29],substepcount:20,maccumul:31,oncontactmodifi:0,dumpbinarymetadata:[8,2],mdampingr:29,experiment:29,shutdown:[17,13,10,26],closest:[18,27,26,11],"25f":[29,10],pxuserrefer:8,mysimulationeventcallback:27,scenario:[0,4,5,11,27,28,29,14],upgrad:[1,5,9,32],aabb:[15,18,23,10,11,28],processtouchinghit:8,eenable_enhanced_determin:[16,11],pxvehiclekeysmoothingdata:29,ecct_slid:23,aconvexshap:10,callbackfinishtask:20,aggress:29,mfrictionvsslipgraph:29,batchqueryfilterdata:28,center:[0,16,18,23,10,11,27,29],few:[0,23,11,28,29,13],origin:[0,18,17,5,22,23,24,10,26,27],cast:17,liabl:12,cpp:[13,10,6],isotrop:27,materialindic:10,singular:27,pxgetjointdata:16,pxrigidbodi:[0,16,31,8,32,11,28],e1st_from_front_left:8,setu32collisionflag:5,swaptolowlodvers:29,meshshap:15,"return":[0,16,4,15,18,5,19,20,6,22,23,7,8,9,10,11,27,28,29,31,32],camberangleatrest:29,"\u03c9":32,theorem:0,hing:[27,24],finish:[16,4,31,20,28,29],exploit:29,guarante:[0,16,2,4,31,18,24,10,11,28,29],materialindex1:[10,11],"_build":1,linvel:16,around:[15,1,2,16,18,23,24,10,11,27,29],virtual:[16,4,5,19,20,6,22,7,8,27,28,31],pxvehiclewheel:[29,8],physxcook:[8,19],issubordin:6,sample_fre:15,non:[0,16,15,5,19,6,23,8,9,10,11,27,28,29,30,32],pxdeletionlisten:8,undefin:[18,23,8,24,10,2,27,28,29],atrianglemesh:10,srcassets:2,titl:29,less:[0,16,2,4,21,18,23,10,11,27,29,30],util:[5,19,20,22,24,10,2,29],pxdefaultfileinputdata:[8,2],unevenli:29,getdefaultmateri:[8,10],"export":[29,2,6],accumul:[16,31,29,28],mimic:29,largest:23,ellipt:[27,24],ident:[15,16,18,22,8,10,2,27,29],highlimit:24,els:[16,5,8,29,28],self:[15,20],setprojectionlineartoler:27,spheregeom:18,setdistancelimit:[27,32],creat:[0,22,17],iqueri:8,colscal:10,heighfield:[17,30,26],pxvehicledrivedyndata:29,lowest:[29,4],echannel_tireload:[29,8],bound:0,mytelemetrydata:29,bounc:[0,20,23,10,27,29],longitudinaltireforc:29,obei:[29,20],edynam:[8,26],x86_64:32,subsystem:[19,4],esubmarin:15,getupdirect:23,him:23,seem:[27,29,14],paper:0,embed:6,maximaljointforc:24,nextcontact:0,hit:[17,11],knock:16,tirelongitudinaldir:8,trip:29,variabl:[0,1,15,23,7,8,11,29],popul:[18,27,17,26],rise:[15,29],impos:[29,20],meter:[22,16,29],ejoint_limit:27,pxvehicledrive4wrawinputdata:29,begin:[0,29,10,11,20],setrigiddynamicflag:15,drivesimdata4w:29,quick:[29,21,2],mfronteftrightsplit:29,instal:[5,32,2],compris:[1,13,24,4],densejacobian:24,mlongitudinalstiffnessperunitgrav:29,tireforceshaderdata:29,estat:[8,26],collision_flag_ground_against:29,pxsolvercontactdesc:16,extradatastream:0,repxidtorepxobjectmap:8,histor:11,indirectli:[16,4],staticstructur:28,efront_left_wheel:8,getpolygondata:10,usererrorcallback:22,perform:[22,17],onwak:[16,20,4],applycach:24,segment:[18,10],eremoved_shape_0:[9,4],naturalfrequ:29,outermost:11,edrive_en:27,numid:2,instuct:10,system:[0,22,17,24],show:[15,16,11,4,31,6,18,8,10,2,27,29],onjointbreak:27,doubl:[0,18,23,26,13,30],thecook:10,esuppress_eager_scene_query_refit:32,getslopelimit:23,induc:29,abil:[27,29],obtain:[16,2,4,18,19,22,9,10,11,27,24],px_def_bin_metadata_item:6,std:[0,8],earli:0,wheelqryfilterdata:29,htm:29,process:[0,16,26,15,18,31,6,22,8,24,10,11,27,30],senderrormessag:8,heightscal:[10,11],msubmarineactor:[0,15],filterdata:[15,28,5,29],deepli:[16,11],pxphysicsinsertioncallback:[19,9,11],addclient:7,e8th_from_front_right:8,efront_right:[29,8],onpvddisconnect:7,pxtriggerpair:15,slot:4,slow:0,boxgeom:10,isol:2,path:[16,2,19,18,8,24,10,3,27,28,32],roll_bar:29,stamp:29,setwheeldata:29,activeactor:16,scenequeri:26,pxqueryhit:[8,9],nxcollisiongroup:5,quantifi:29,retriev:[15,16,18,21,22,23,24,10,11,27,32],pxfilterflag:[0,15,5,8,29],achiev:[0,16,11,4,15,5,19,6,8,10,2,27,29,30],statement:[0,10],left:[6,22,23,2,29,13],restitutionmodifi:27,maxjumpheight:23,setlat:29,leav:[0,4,23,2,28,29],portabl:1,amd:22,coincid:27,tensor:[16,5,10,11],valuabl:[0,29],trick:29,wheelmap:29,incollect:6,setdominancegroup:16,suspdata:29,favor:[5,24,4],localscaledvertex:11,pxinputdata:[8,2],least:[0,16,31,9,10,11,27,29],each:[0,3,5,10,2,15,22,20,23,27,1,4,31,8,9,11,16,18,24,28,29,30],pxvehiclecomputesprungmass:29,pxregisterimmediatearticul:16,eprecise_sweep:[18,8],contain:[3,5,6,10,2,15,22,19,21,23,27,1,4,31,11,13,16,18,24,28,29,32],captur:[15,28],angular1:27,mrearbia:29,gvehiclescenequerydata:29,eshift_vertic:10,dictat:23,rearrang:29,rigid:[0,22,17,24],successfulli:[29,7,8,20,2],none:29,eremove_duplicated_triangl:9,deltaangularveloc:[0,16],tri:[18,27,7,10,11],objecttofileimpl:6,pxvec4:22,overwritten:6,usual:[0,16,2,4,19,21,18,23,7,24,11,27,28,29],trg:29,etank_wheel_9th_from_front_right:8,pxvec2:22,pxgaussmaplimit:9,air:[29,8],"try":[4,21,23,11,27,29],pxserializerdefaultadapt:6,pxvehicleupdatemod:29,overwrit:4,tighter:[29,10,11],setwakecount:[16,8,20],stop:[0,5,23,10,27,29],pxsolveconstraint:16,eenable_activetransform:32,pvdsdk:7,pxgetgaussmapvertexlimitforplatform:[9,32],cumbersom:14,scale:[0,22,17,25,11],ppu:8,wait:[8,20,4],runprofil:4,after:[0,16,11,4,15,5,19,20,18,23,7,8,24,21,2,27,28,29,31,25],enforc:[27,29,8,24],subgraph:27,right:[16,22,23,10,2,12,28,29,13],pxactorclientbehaviorbit:8,uncontrol:29,primari:[0,2,20,24,3,13],two:[0,1,11,4,16,5,20,6,18,23,8,24,10,2,27,28,29,30,15],ecommit_disabled_build_en:28,eabp:[15,32,11],learn:[1,13],es16_tm:[10,11],terrain:[29,10,11],pxdominancegrouppair:[16,8],advis:[12,29,6],registerobserv:8,pxccthit:8,subtract:[14,11],page:1,never:[15,3,4,26,23,24,11,28],licens:[17,26],standard:[4,20,22,24,27,29],onli:[0,3,6,22,23,24,11,25,30],addactor:[15,16,5,8,10,28,29],"final":24,physxextens:[6,23,8,9,2,27,29],insuffici:[0,30,11],fetchcollis:20,pxpruningstructuretyp:[17,9,26],drag:7,those:[0,16,4,15,14,19,20,6,22,23,24,10,27,29,30],restdist:0,thick:[9,10],droop:29,goal:[0,29,11,4],counter:[16,29,8],exceed:[18,27,24],solver:[0,1,17,26,23,24,11,30],degtorad:23,flat:29,central:0,getwheelrotationangl:29,vanishingli:29,pxclothfabriccook:8,getboxgeometri:10,twist:[27,5,24],caterpillar:29,eresolve_contact:8,elimits_are_forc:27,substeps:20,pxvehiclepadsmoothingdata:29,obsolet:9,numtrisperleaf:[10,11,32],src:[29,6],shaperenderactor:10,pxparticlebas:8,evalu:10,often:[0,16,4,15,20,22,23,7,24,10,11,27,28,29],bvh:28,chain:[15,2,4,24,11,27],ebroken:27,idbuff:2,myvehicl:29,normalisedtireload:29,strcmp:6,computecoefficientmatrix:24,emax_num_title_char:8,task:[26,5,17,11],trigeom:15,createcloth:8,collisionflag:23,userraycasttouchbuff:[29,8],getshap:[15,10],cook:17,nxu32:5,vertic:[18,23,10,11,29,30],intim:16,pseudocod:8,hullpolygon:10,paramet:[0,22,24],snippetcustomjoint:27,egraph_type_engin:8,pxfoundationdelayloadhook:32,camber:29,pxpi:[27,29,10],echannel_norm_tire_long_forc:[29,8],tradit:0,defer:[22,28,29],maco:2,setgroupcollisionflag:5,pxgetprofilercallback:30,getinternalfaceindic:0,rigidbodymass:29,nbheader:16,crab:[15,4],etank_wheel_5th_from_front_left:8,mwheel0:29,mwheel1:29,style:[0,16,5,27],pxtrianglemeshcookingresult:10,eanalog_input_steer_left:[29,8],trough:11,shown:[23,29,8],cudacontextmanagerdesc:[30,4],wish:[16,29,19],x86:32,ensur:[0,16,11,4,15,18,20,22,8,9,10,2,27,24,29,30],modifysampl:10,pxvehicletireloadfilterdata:26,reason:[0,16,2,4,5,19,20,22,23,24,11,27,29],getbroadphasecap:15,e6th_from_front_right:8,instantan:[16,4],nx_ignore_pair:5,nbbatchhead:16,estandard:[29,8],enumtyp:6,pxcudacontextmanagerdesc:30,take:[0,1,11,4,16,5,15,20,22,23,8,9,10,2,27,28,29,30,31,32],baseid:2,themselv:[23,4],connect:17,batchqueri:29,transforminv:24,diagon:[16,5,10],year:23,execut:[15,4,5,20,8,11,27,28,29,13],minvelocityit:16,eswing2:27,eswing1:27,latest:4,getphys:[15,8,10],tangentialspr:8,higher:[24,11,3],put:[0,15,4,23,8,24,10,3,28,29],shrunk:11,setrevolutejointlimit:27,inclin:29,subclass:[0,4,5,19,20,28],techniqu:[29,24],telemetrydata:29,compat:[18,2,22,8,11,29,30],advanc:17,myfiltershad:29,pxdebuglin:25,arbitrari:[0,15,5,18,23,28,29],dynamictreerebuildratehint:[28,11],pxconstraintvisu:27,tirecontactshap:8,frequent:[0,28,11],processblockinghit:8,pxvehiclecomputetireforc:29,myphys:29,mcamberatmaxdroop:29,hook:[5,19],entiti:[15,1,23],warn:[16,4,20,6,18,8,10,11,28,29,30],measur:[29,21,11],setoverlaprecoverymodul:23,pxclientbehaviorbit:8,pxaggreg:15,oscil:[27,29],pxvec:10,pxobstacl:23,pxtransformfromplaneequ:10,eblock:[28,29,8],pxarticulationmot:24,computepenetr:18,pxerrorcallback:[22,5],addaggreg:15,listen:[0,16,7,20],pxcreatejointconstraintswithimmediateshad:16,pxheightfieldsampl:[10,11],highest:[27,29],pdf:29,hope:23,phor:29,pxfiltershad:27,setminlongslipdenomin:29,eno_boundary_edg:10,mnbvert:10,physxgpu_x64_renam:19,trianglemesh:[15,19,10],larg:[0,1,11,16,18,5,19,15,21,22,23,8,24,10,2,27,28,29,30,31,25],mtd:[18,11],ba2w:27,setclutchdata:29,web:29,getwheelgraph:29,pxfixedsizelookupt:29,definit:[29,2,6],econtact_default:[15,5,29],invalid:[17,3],aforement:[16,23],phors22:29,xmlreader:6,computeinteract:23,myactor:[15,22,5,10],blue:[23,29,4],"81f":30,pxvehicleconcurrentupdatedata:29,pxgeometrytyp:10,inflex:15,rev:29,mnbmateri:2,computedensejacobian:24,cuboid:29,groups1:5,ralli:29,spherepos:18,testccdfiltershad:0,eanalog_input_thrust_right:8,iresult:8,initialpos:28,eenable_active_actor:16,replac:[5,23,8,9,32,28,29,30],pxserializationcontext:6,prematur:2,stride:[28,10,11],gen:9,getobject:2,filtermask:15,jacobian:24,ediff_type_ls_4wd:29,get:[0,16,4,15,5,19,20,6,23,7,8,9,10,2,28,14,32],traction:29,unlockwrit:4,eeasi:23,inputdata:2,solitari:15,librari:[1,2,4,18,5,19,20,6,22,23,8,9,10,3,27,28,14,32],getnbwheelgraph:8,pxjointlimitpair:27,pose2:18,samplesm:10,mwidth:29,etank_wheel_front_right:8,codepath:23,usegeodesicteth:8,physxvehicl:[8,3,6],pxagain:28,www:29,gettetheranchor:8,userraycastresultbuff:[29,8],four:[18,29,4,3],immut:[15,16,30],perfect:[0,23,29],px_check:[20,6],direct:[0,4,5,18,23,24,10,11,12,27,28,29],alwai:[0,16,11,2,4,15,5,19,18,23,8,9,32,3,27,28,29],localframe1:27,createvehicleactor:29,zero:[0,16,4,18,5,22,23,8,24,10,27,28,29,14],esuppress:[15,5,29],px1d:27,alon:[1,20,11],pxfoundationvers:32,reproduc:[12,2],cudamanag:32,linker:19,visibl:[1,4,20,23,11,28,29],getgeometri:[5,10],depict:29,nxm:24,twistdriv:27,updirect:[23,29],reject:[15,29,10],pxvisualdebugg:[8,9],"catch":11,mfrontrearsplit:29,nxcapsuleshapedesc:5,unlock:[24,26],pxheightfield:[22,10],px_serial_object_id_invalid:2,receiv:[0,16,4,5,20,8,9,2,27,28,29],flt_max:27,mswitchtim:29,ignor:[15,16,4,18,22,23,8,9,2,27,29],regim:29,drop:[0,20,7,10,11,27,29,30],graphic:[0,22,17],resist:[27,16,29,24],allocateobject:6,unnotic:27,aligndata:6,pxcreatecollect:[8,2],snippetvehiclescal:26,trgwheel:29,gettiredrivablesurfacemateri:8,stall:4,tcp:7,upper:[27,29,8,24],either:[0,3,5,7,10,2,15,19,20,23,27,1,4,8,9,11,16,18,24,28,29,32],pxspatialindex:5,zoneend:7,stale:28,mmateri:16,sweepshap:28,explod:0,race:[27,29,4,3],gpudynamicsconfig:30,actor:[0,22,17,24,11],compress:[0,29,8,10],hadhit:8,groupcollisionflag:5,eany_hit:[8,26],machin:4,snippetraycastccd:0,simulationeventcallback:20,mcook:19,cycl:[27,29],dcc:2,wheelconvexmesh:29,getangularveloc:[27,16],technolog:[1,5,29],judici:29,emax_nb_vehicle_typ:8,gettirelatslip:8,pxident:[16,2,22,8,10,11,29],frame:[0,1,11,16,31,21,23,8,24,10,2,27,28,29,30,15],maxraycastsperexecut:8,revolut:[17,24,26],e8th_from_front_left:8,physxvisualdebuggersdk:3,pxvehicledifferentialnwdata:29,convexcollect:2,pointer:[0,15,5,6,22,8,9,10,27,28,29,32],binarymetadata:2,record:[1,16,20,7,8,24,25,2,27,28,29],applic:17,purgecontrol:23,mbia:29,pxbvhstructur:[17,26],miss:[0,5,29,11,6],nearest:28,high:[0,1,15,16,3,27,28,29,30],user:17,mmaxcompress:29,userprofilercallback:7,particip:[15,29],light:[0,16,29,27],thrust:29,underw:8,heightfieldgeom:18,indexbuff:10,numer:[18,23,5,29,11],linearvelocityactor0:0,eswept_integration_linear:8,pxclothstretchconfig:8,linecolorhigh:29,setdiffdata:29,pxdelayloadhook:[32,26],third:16,edit:29,autobox:29,pxd6jointdriv:27,srcmetadata:2,alongsid:13,inch:29,pxvehicledrivetank:8,getphysxgpudllnam:[19,32],immers:0,phors21:29,reportassertviol:5,quarter:[0,10],eimproved_patch_frict:16,relev:[16,5,29],held:[27,20,11],pxrigidbodydata:16,pxvehicledrivablesurfacetyp:29,contactdesc:16,uncoupl:29,serializationregistri:29,setsphericaljointflag:27,mcmoffset:29,pxscenflag:5,five:29,getpvdconnectionfactori:8,getwheelcentreoffset:29,book:29,share:[22,24],cours:[1,29],bool:[15,16,5,19,6,18,23,7,8,10,27,28,29,31],lambda:24,runtim:17,insight:21,solverarticul:16,ecompute_convex:10,localpos:11,made:[0,1,4,15,20,22,23,8,24,10,11,27,28,29],spars:24,assess:5,snippetnodr:29,influenc:[0,16,7,8,24,29],addobstacl:23,contactmodifycallback:0,descriptor:[23,5,8,10,6],wheeltorqu:29,furthermor:[1,8,25,20,4],pxmeshcookinghint:10,soft:0,setanalogbrak:29,vert:[10,11],glmatrixmod:22,queue:[11,4],pxplaneequationfromtransform:10,cab:20,efix:24,whose:[0,16,4,15,18,22,23,24,10,27,29],custom:[0,22,17],pxdefaultfileoutputstream:[8,2],aboxactor:10,pxconcretetyp:[2,6],enotify_threshold_force_persist:0,gain:[28,29],setsusptraveldirect:29,car:[0,23],centroid:18,bug:[1,11],buf:[28,8,10],setgeometri:10,lod:[29,4],log:[22,28,24,4],numbound:28,edeleted_shape_trigg:9,without:[0,1,11,4,16,24,19,6,23,8,9,10,2,12,27,28,29,13,15,32],weld:10,echannel_tire_frict:[29,8],materialindex0:[10,11],criteria:24,lot:[0,16,5,23,10,11],low:[15,16,24,10,11,29,30],gaug:29,numwheel:[29,8],getfaceindex0:0,pxcloth:[5,8],ontrigg:[15,20,4],some:[0,3,5,6,20,2,15,22,19,21,23,27,25,1,4,14,8,11,16,18,24,28,29,30,10],quit:[0,16,23,8,11,29],pxqueryflag:[8,26],pxcook:[22,28,8,9,2],createtrianglemesh:10,generatemetadata:6,createserialobjectid:2,"import":[0,1,11,4,16,5,19,20,6,22,23,7,9,10,2,24,29],pxvehicledrivetankcontrolmodel:8,contactoffset:[0,23,5],maxheight:11,profilerdata:7,behaviour:9,getdof:24,isrigiddynam:9,walk:23,circl:[29,10],drivetargetangl:24,removed_shape_oth:9,nxphysic:5,snippetvehiclecontactmod:29,someth:[23,7,29,10,20],think:[23,29],convexvert:10,pxvehicledrivetanksmoothdigitalrawinputsandsetanaloginput:29,physxcommon_x64_renam:19,same:[0,3,5,7,10,2,15,22,20,23,27,1,4,8,9,11,16,18,24,28,29,30,32],everyth:[18,23,10,26],nativ:[30,24],fclose:2,mdampingratezerothrottleclutchdisengag:29,pxcontrollernonwalkablemod:[23,8],"5x5":10,extractcontact:[0,8,9],"50th":11,pxscenequeryflag:[8,9],strut:29,pxmeshpreprocessingflag:[9,10,11],satisfi:[27,16,29,2],consider:[0,17,24],setsimulationeventcallback:20,violat:[27,24],broadli:28,myobserv:8,pxbvhstructuredesc:28,anywai:23,effect:[0,16,5,18,23,8,9,10,11,27,28,29,31,32],breakag:26,sign:[19,11],graphsizei:29,filenam:[22,7,20,2,6],destin:2,childpos:24,tankdrivesimdata:29,close:[0,18,24,10,28,29],been:[0,16,11,4,15,24,5,19,20,21,18,23,8,9,10,2,27,28,29,32],endors:12,nthread:8,pxvisualdebuggerflag:8,domain:1,tempbuffercapac:30,echannel_norm_tire_lat_forc:[29,8],getnbcontactdatablocksus:20,declar:[15,27,8],setlinearlimit:[27,32],verifi:[10,6],savecel:10,egpu_compat:[30,11],mmaxnormalisedload:29,settransform:16,mminfilterednormalisedload:29,setdigitalhandbrak:29,emax_nb_sampl:29,emax_num_wheel_channel:[29,8],exportnam:2,omit:[18,19,3],coordin:17,eremoved_shape_trigg:[15,9,4],getdebugrender:5,unintuit:27,spend:29,rotat:[16,5,22,23,24,10,26,27],playback:2,group3:28,gettiredrivablesurfaceshap:8,disableshapeincontacttest:15,gvehicleinputdata:29,"0xffffffff":[18,5],auto:17,ever:[16,29,20,11],registerbinarymetadatacallback:6,pathto30repxfil:2,solverbodydata:16,row1:10,remov:[17,26,22,23,24,10,11,27],row2:10,typedef:[27,29],drawwalldec:28,pxlocationhit:8,"50m":11,settypepairfrict:29,movement:[15,16,18,23,24,11],pxactivetransform:32,even:[0,1,11,4,16,18,5,20,22,23,8,24,25,2,12,27,28,29,14,15],privat:6,chosen:[0,28,29,27],hamper:29,pxsetphysxdelayloadhook:19,margin:[18,29],ccdthreshold:0,computegeneralizedgravityforc:24,bundl:3,local:[0,16,15,5,18,8,9,10,11,27,28,29,25,32],bb2w:27,pxvehiclegraph:[29,8],nbcontactdatablock:[20,11],found:[15,18,4,20,6,22,23,8,24,2,27,28,29,13,30],differ:17,deform:17,srcbinfil:2,inertiascal:0,nxactor:5,foundlostpairscapac:30,mbatch:8,pxi32:8,onshapehit:23,setanaloginput:29,gpudispatch:4,princip:16,pxvehicledrivesimdata4w:29,d3dmatrix:22,cookconvexmesh:10,behavior:[22,17],situat:[0,16,2,4,5,20,23,11,27,29],pxarticualtionlink:31,mmass:29,eanalog_input__brak:29,prefiltershad:[28,29],emax_num_drive4w_analog_input:8,thousand:30,corner:[18,23,26,11],reconnect:26,shareabl:[8,9,2],conflict:[27,23,29,3],meshpreprocessparam:10,pxcloseextens:19,pxdumpmetadata:8,consid:0,getrenderbuff:[5,25],ebvh33:10,accord:[0,1,4,16,27,28],txt:6,pxbatchconstraint:16,magenta:23,"enum":[15,16,22,23,8,9,10,28,29,32],layout:[22,29,10,2],px_delet:8,polyhedron:10,readabl:2,angularimpuls:0,swept:[18,28,29,8],triangleindex:10,disconnect:[7,29],convexshap:15,pxvehicleupd:[29,8],pxcreatecontactconstraint:16,pxvehiclemodifywheelcontact:29,newbound:10,structur:[0,16,4,15,5,20,6,18,21,24,10,11,27,28,29,14,32],durat:29,suddenli:[23,21,11],live:2,gravitationalacceler:29,unnecessari:[4,6],fpu:[22,23],clean:[19,9,10],raycastmultipl:8,skeleton:5,wheelgraphposx:29,immedi:[0,17,23,8,10,26],setcmasslocalpos:[27,29,8],easili:[16,23,8,9,32,29,30],etank_wheel_front_left:8,pxvehiclewheelgraphchannel:[29,8],clear:[29,8,9],camberangleatmaxcompress:29,accept:[0,16,3,10,11,29,32],bullet:[18,28],raycasttouchbuffers:[29,8],pxgeneratecontact:16,target:[0,16,2,31,19,20,6,8,24,10,3,27,29],px_generate_static_librari:3,mdampingratefullthrottl:29,gscene:[28,30,20],setsubstepcount:29,reoder:11,pxvehiclecopydynamicsmap:29,pxvehiclesuspensiondata:26,express:[23,29,2,12],pxvehicle4wenable3wdeltamod:[29,8],oncontrollerhit:23,modif:17,eanalog_input_brake_right:8,refactor:8,drivetargetveloc:24,springi:27,gvehicle4w:29,corrupt:4,benefit:[27,1,30,20,4],pxvehicledifferentialnw:29,pxclothfabrictyp:8,manag:17,geometri:[0,22,17,11,3],quantit:21,pxscenequeryfiltercallback:[8,9],unabl:29,expend:29,space:[15,1,16,18,5,22,23,8,24,10,11,27,28,29],echannel_tire_lat_slip:[29,8],errorstream:7,github:1,disjoint:11,edeleted_actor_1:9,typenam:[22,20],just:[0,16,2,15,19,20,22,23,24,10,11,27,28,29],manufactur:29,pxscenequeryhit:[8,9],adopt:29,settireloadfilterdata:29,paragraph:28,fuso:29,getanyhit:8,px_profile_start_crossthread:32,anchor:[27,8],reader:[1,4],overlapsphereshap:5,pxcontactrecord:16,overlap:[0,17],sciencedirect:29,outorderedconstraintdesc:16,pxbvh33midphasedesc:[9,10,11,32],markdirti:27,overlai:25,dst:0,abbot:29,robust:[0,1,16,23,8,24,10,11,29],getsuspraycast:8,dissip:[0,29],pxprofilezon:32,meshcontactmargin:16,compar:[0,5,18,23,9,10,11,29,30,32],edrive_model_standard:8,px_new_repx_seri:6,overrul:0,element:[22,29,11],quitissignal:8,appli:[0,1,17,26,15,18,22,23,8,24,10,11,27,25,30],setheight:23,locost7:29,mfrontwidth:29,devis:29,backward:[22,18,29,8],assort:5,ebuild_enabled_commit_dis:32,stabl:[0,22,24,11,27,29],elong:29,gettiredrivablesurfacetyp:8,seriou:[15,22],eccd_linear:8,word2:[28,29],word3:[28,29],word0:[15,28,5,8,29],word1:[15,28,29],eanalog_input_brak:[29,8],cpu:[15,1,4,16,22,11,30],memory128:2,check:[0,22],rough:[16,29],suppress:[18,16,8,27,28],"27m":11,activegroup:28,implicit:[27,31,8],entir:[0,16,2,4,24,5,11,10,3,27,28,29,30],eccd_respons:8,chassismass:29,e7th_from_front_left:8,pxbatchquerypostfiltershad:28,slippag:29,deprec:[17,8,26],impact:[0,16,15,18,23,7,8,25,11,27,28],framework:[31,13],happen:[0,16,2,15,20,18,23,7,10,11,28,29],lean:29,serializecollectiontobinari:[8,2],pxdefaultpvdfiletransportcr:7,radian:[27,29,24],forcelimit:[27,24],radial:16,eall:[7,19,24],createscen:[0,5,30,4],leaf:10,gettirelateraldir:[29,8],lead:[0,1,2,4,16,23,24,11,28,29],elbow:27,px_serial_align:6,readbuff:10,pxclothfabr:8,posit:[0,22,17],pxarticulationcach:17,heapcapac:30,prefer:[3,4,19,20,22,8,25,10,11],pxcreatejointconstraint:16,classtyp:4,isreleas:9,jointconnectionhandl:7,trajectori:11,pxrigiddynamicflag:15,vehdrive4w:29,tirefrict:[29,8],desc:[0,5,23,8,11,28],pre:[5,20,6,22,8,10,2,28,32],flippedcontact:0,elsewher:5,longitudinalslip:[29,8],raycast:17,pick:[28,29],topic:[27,16],would:[0,16,11,15,5,20,18,23,8,9,2,27,24,29],setinvinertiascale1:16,setinvinertiascale0:16,kinekinefilteringmod:[0,16],assert:17,driver:29,edouble_sid:18,eexclude_kinematics_from_active_actor:16,pxrenderbuff:25,aka:4,files:2,pxscenequeryfilterdata:[8,9],getconcretetyp:[22,8,2],protect:[22,4],px_max_flt:27,heavi:[27,16,29,30],occup:28,linearmotionveloc:16,suspforceappcmoffset:29,exact:[0,16,2,5,18,23,24,11,28,29,30],onadv:9,driven:[27,23,29,24],cascad:6,starv:4,perpendicular:24,camel:32,torqu:[27,17,24,26],necessarili:[0,23],plu:[22,6],sanitybound:11,mtype:29,max_id:2,flip:[0,10],meshsizeperformancetradeoff:[9,10,11,32],pxvehicletelemetrydata:[29,8],submarin:[0,15],togeth:[0,1,15,16,18,24,2,27,28,29],sweephitbuffers:8,setlimitcon:27,nv_use_debug_wincrt:3,pxdefaultcpudispatchercr:[30,4],draw:22,humanoid:24,chassissimfilterdata:29,six:[27,29],lag:27,characterist:[27,28,29,11],develop:[15,3,7,10,11,29],recov:[23,11,2],setusermemori:8,kind:[0,15,5,18,23,8,27,29,31],mediat:29,cull:[18,28,25,11],linearveloc:0,undrivable_surfac:29,surfacemateri:29,steerangl:[29,8],append:6,law:[27,1,29,16],setqueryfilterdata:[28,29],treat:[0,16,18,27,28,29],legal:[0,16,4,5,20,24,29],pxd6joint:[27,8,24,32],great:[0,15,10,11,23],subject:29,px_profile_zon:32,gravit:[16,29,8],einvalid_oper:22,max_num_surface_typ:29,assist:[27,11],dangl:2,vehicl:[0,1,17,3,26,11,27,30],constant:[15,16,31,23,24,27,28,29],e5th_from_front_left:8,environment:5,insert:[0,17],hold:[0,16,4,5,18,23,8,2,27],hole:[0,10],domin:[27,17,8,26],audio:[1,29],workload:4,getbehaviorflag:23,nextitemset:0,pxsweepbuff:[28,8],watertight:0,unphys:29,combo:8,mbuf:6,mstrength:29,motor:[27,24],computecoriolisandcentrifugalforc:24,globalpos:[0,16],report:17,pxrigiddynamicactor:29,kept:[18,16,27,23],pxcollectforexportscen:8,pvd_host:[7,19],press:29,mmaxsteer:29,hitbuff:[28,8],newer:[8,9,32,2],signal:[8,20],figur:[29,4,2],steal:4,einternal_has_impuls:0,e6th_from_front_left:8,adjust:[0,14,22,8,11,27,29,30],yangl:24,maccuraci:29,emax_num_engine_channel:[29,8],quantiti:[18,27],devic:30,pxqueryfiltercallback:[18,28,5,8,9],terraindesc:11,e3rd_from_front_left:8,wheelshap:29,px_call_conv:29,desir:[0,16,15,20,23,24,10,11,27,28,29,32],pxcreatephysicssdk:5,prevent:[0,4,20,22,23,11,27,28,29],totalmass:29,call:[0,3,5,6,7,20,2,15,22,19,21,23,27,1,4,31,32,8,9,11,16,18,24,28,29,10],respect:[0,1,11,4,16,24,22,8,9,10,3,27,28,30],unnatur:[23,26],intempbuff:6,guess:29,misus:16,shrunken:11,obstaclehandl:23,pxfoundat:[19,20,22,9,32,29],properti:[0,15,17,5,6,24,26,27,25,30],wheelmass:29,ride:[23,29],blend:29,setinvmassscale0:[16,8],strictli:[23,29],arithmet:[1,30],filtershaderdata:[28,5],nx_default_sleep_lin_vel_squar:5,focus:29,decrement:[22,16,29,9,4],getenginerotationspe:29,unless:[0,16,15,20,9,2,27,29],empti:[15,16,6,23,8,9],categoris:29,isoverlap:18,note:[0,5,6,10,2,15,22,19,20,23,27,25,1,4,14,8,11,16,18,24,28,29],removeloopjoint:24,gui:7,therefor:[0,16,11,15,5,20,6,7,24,10,2,27,28,29,30],fdani:[28,8],partit:[27,28],our:[1,3,16,19,7,11,28],hopefulli:29,gettiredrivablesurfacecontactnorm:8,nbcontact:0,unbound:[27,17,8,26],coefficientmatrixs:24,pxvehiclegraphtyp:8,temporari:[0,28,30,20,11],pxcontrollercollisionflag:[23,8],glean:15,gram:29,snowmen:16,e4th_from_front_left:8,sourc:[15,2,5,6,22,10,11,27,12,29,13,32],realiti:4,delet:[15,4,5,20,23,8,11,27,28,29],anyth:[16,28],busi:12,parent:[15,27,24],win64:13,ackermann:26,dominancegroup:16,targetwheelid:29,pxmutablelinkdata:16,aris:[15,16,29,14,12],eptr:6,slerp:27,sat:[0,9],"125f":29,gkeysmoothingdata:29,nxsphereshap:5,eanalog_input_accel:[29,8],mstepsiz:[5,31],normalrejectangl:29,msvc:22,warranti:12,gnbqueryhitsperwheel:29,conform:[29,4],entrant:4,getactiveactor:16,verbos:2,counteract:24,pxtolerancesscal:[0,19,22,7,10,29,32],notic:[0,27,29,12],associ:[16,4,22,8,10,27,29,30],now:[0,16,4,5,19,20,22,23,8,9,10,11,24,29,31,32],abbrevi:18,renam:[5,8,9,32],nor:[27,23,5,12],further:[0,16,4,15,14,20,18,8,9,10,2,28,29,30],construct:[16,22,8,24,10,27,29],contactimpuls:[0,9],createregionsfromworldbound:15,glmultmatrixf:22,exampl:[0,3,5,6,7,20,2,15,22,19,21,23,27,25,1,4,32,8,11,16,18,24,28,29,30,10],setvisualdebuggerflag:8,hazard:4,pxcach:16,articulationv:16,setfootposit:23,why:23,pose0:[18,16],getinboundjoint:24,slopelimit:23,matrix:[22,16,5,24],tirelateraldir:8,pxtask:[8,32],formal:[29,8,2],setrigiddynamiclockflag:16,etireload:8,inbound:24,pxshapeext:[8,9,10],pxtriggerpairflag:[15,9,4],pxd6motion:27,sight:[18,28],troublesom:23,progress:28,jointdesc:16,larger:[0,16,14,8,24,10,11,27,29],essenti:[5,29],cleanup:8,orthogon:[27,10],echannel_steer_right_control:8,pxscenequeryext:9,regress:11,px_buildsnippet:3,metal:5,detachshap:[15,16],packag:[27,23,29,4],pedal:29,necessari:[0,16,11,4,15,14,20,6,22,23,8,24,2,27,29,30],wheelssimdata4w:29,unnam:2,priorit:27,erear_right_wheel:8,restitut:[0,17,23,24,26,27],complet:[0,17,26,31,18,23,8,11],sole:[16,29,8],pxbounds3:[18,28,10],pxcontactpairheaderflag:[9,4],patholog:28,forget:[29,19],correctli:[16,7,29,4,23],dampingratio:29,sweepresult:29,offset:[0,24,11],raycasthitbuffers:8,collectiona:2,dru:28,fight:27,shader:[0,30,26],pxlightcputask:[8,4],search:[18,28,29,10],bump:[0,23,29],lin0:27,infrastructur:27,setphasesolverconfig:8,concaten:10,vehicleid:29,idea:[29,11],valid:[15,16,2,18,23,8,10,11,28,29],indic:[24,11],normal:[0,16,18,10,11,28,29],createfrictionpair:29,nbbodi:16,pxconstraint:[27,16,8],eestim:29,underli:[27,23],vehicle18w:29,unlik:[0,1,16,5,18,24,30],unpos:29,einitial_overlap_keep:8,mind:[27,29,21],gettiredrivablesurfacecontactpoint:8,profil:22,stick:[23,29],touchdist:28,discuss:[0,15,17,26,23,10,11,27],pleas:[0,16,11,5,19,21,8,9,10,2,27,28,29,14,25,32],pxphysx:8,suggest:[29,10],qanda:29,echannel_steer_left_control:8,grow:[29,30],pxscenequeryfilt:8,vehwheelqueryresult:8,pxstringtabl:2,tether:8,nxspringanddampereffector:5,fifti:31,fifth:29,user_releas:9,gear:26,pxarticulationjointdrivetyp:24,twice:[28,29,2],stiffer:29,contact:17,pxvehiclewheelsdyndata:[29,8],e1st_from_front_right:8,constructor:[5,6,22,8,28,29],inform:[22,17],physxmetadatagener:6,samplebridgesset:23,respond:29,pxvehicledrivablesurfacetotirefrictionpair:[29,8],pxfindfaceindex:18,coeffici:[16,5,24],request:[0,16,4,20,22,11,27,30],everywher:[23,19],stopsimul:4,pathtonewrepxfil:2,reveal:29,pxcreatejointconstraintswithshad:16,demonst:29,clamp:[0,18,24,11,28,29],momentum:[0,1,29,27],emax_nb_wheel_channel:8,hint:[27,28],interlud:29,xcm:29,sprungmass:29,etank_wheel_4th_from_front_right:8,seek_end:2,findappobjectfromid:2,avail:[0,16,11,4,15,5,19,20,18,23,8,9,10,3,29,30,31,32],etouch:[28,8],pxoverlapcallback:[28,8],overlapcapsuleshap:5,consult:[15,29],mine:[0,15],permit:[0,16,4,20,9,32,11,27,12,29],cb2w:24,"6dof":24,pxvehicledrive4w:8,disablewheel:29,drivable_surfac:29,three:[0,1,11,4,16,20,6,23,10,2,27,28,29,15],setwheelshapemap:[29,8],other:[0,5,6,10,3,15,22,23,27,25,1,8,9,11,28,13,16,17,18,24,26,12,30],pack:24,getlinearveloc:[27,16],setchildpos:24,dispos:19,unitdir:[18,28],imposs:29,intrus:3,pxbroadphaseext:15,euser_releas:8,outstream:2,classifi:2,basetask:26,copi:[0,15,20,21,8,24,10,2,27,28,29],pxsweepcallback:[28,8],euse_swept_bound:8,categori:29,addion:10,mnbconvex:2,horizont:[23,29],startsimul:4,iscloth:9,mtorquecurv:29,createconstraint:27,eplane_shift:10,icon:13,mfrontbia:29,pxvehicledrivetankwheelord:8,maxit:18,echannel_normalised_tireload:29,collision_flag_wheel_against:29,deleg:22,slice:10,issu:[0,22,17],linearimpuls:0,filterdata1:[0,15,5,8,29],retest:29,escene_query_shap:[15,23],pxvehicledrivetankrawinputdata:29,pxvehicle4wenable3wtadpolemod:[29,8],ought:29,meta:2,principl:22,contactbuffercapac:30,neglect:16,sqhitbuff:29,computegeneralizedmassmatrix:24,"80kg":29,bodybtoworld:27,triangular:24,triangles:18,against:[0,6,22,23,10,11,30],midphas:[28,10],samplebas:[15,4],pacejka:29,primarili:22,eprofil:[7,11],through:[0,22,24,11],futur:[15,16,23,8,9,24,29],pxgpuloadhook:[32,26],dash:11,penal:29,getid:2,esuspforc:8,select:[0,18,23,32,11,28,29],braketorqu:29,bottom:[16,29,23],roli:16,rapidli:29,newjointposit:24,e4th_from_front_right:8,nxscene:5,anew:16,eanalog_input_handbrak:[29,8],add:[0,16,2,4,15,24,6,8,11,3,27,28,29,30],propag:[29,24,14],angular:[0,16,24,32,11,27,29],imaginari:24,exempt:15,pxraycasthit:[18,28,29,8],updatemassandinertia:[16,8,24,10],dedic:[18,23,8],physxmetadata:6,scheme:[0,16,15,5,32,11,29],"const":[0,5,6,7,10,15,22,19,20,23,27,25,4,14,8,9,11,16,18,24,28,29],schema:2,getexternalrefer:27,sse:22,lower:[0,24,10,27,29,32],wakecountervalu:16,getpvddatastream:8,setscenepvdflag:7,amaterialarrai:10,toler:[16,19,22,10,27,29],setinvmassscal:[8,11],ecommit_enabled_build_en:28,amort:[17,26,11],confus:[23,8],px_serial_ref_kind_pxbas:6,frictionoffsetthreshold:16,maxedgelength:23,snippetloadcollect:26,deadlin:11,intermedi:22,"3333f":29,relationship:[16,31,24,2,27,29],tirealignmo:29,rudimentari:1,sln:13,met:[27,12,4],budget:29,mmaxdroop:29,locat:[0,16,2,14,20,22,23,24,11,29],mem:8,nbtouch:[28,8],mytrimesh:10,pxregisterlegacyheightfield:9,unaccept:[27,5],latslip:29,compound:[0,11],remap:10,pxdefaultpvdsockettransportcr:[7,19],setmot:[27,24],pxcontactpairflag:[0,9,4],epostfilt:26,createvehicleactornw:29,thin:[0,16,18],addforc:[16,8,20],place:[0,1,2,16,24,18,22,23,26,8,11,3,27,15,13],createconvexmeshsaf:10,accomplish:29,pxdefaultsimulationfiltershad:[15,5,30],harder:29,sequenc:[16,17,26,31,22,11,27],reporterror:[22,7],adjac:[31,10],succinctli:5,lift:29,oppos:[27,19,32,2],pxvehiclesuspensionsweep:29,shapea:[5,2],jitter:0,second:[0,16,2,4,15,5,18,23,11,27,29,13,31],nbsolverarticul:16,minpositionit:16,mask:[15,23],motion:[0,16,15,31,23,24,10,11,27,29],doblock:8,syntax:5,concept:[1,17,24,26,16],mass:[0,17,26,22,24,10,11],advers:30,wheelcenteractoroffset:29,jointacceler:24,lifo:4,crabpo:4,getnbanyhit:8,pxsweepbuffern:8,edeleted_shape_0:9,walkabl:17,lockparticledata:8,samplebuff:10,miscellan:30,determin:17,focusvehicl:29,setmassandpreservenaturalfrequ:29,special:[0,1,16,18,5,6,22,23,7,8,24,10,2,12,27,28,29,15],sourcewheelid:29,pxvehicleenginedata:26,boundari:[18,2],analyz:[16,20],preset:17,wheelraycastprefilt:29,mspringdamperr:29,unrespons:29,analyt:[16,29,24],asynchron:[27,17,26,11],pxarticulationjoint:[24,32],transit:[16,29,8,9],edeleted_shape_1:9,convent:26,accur:[0,1,16,18,23,8,24,27,29],iter:[0,15,17,26,18,9,10,11,27,24],erequire_rw_lock:4,opt:29,opportun:29,jointposit:24,cylindr:[27,29],concess:11,collis:17,getvisualdebugg:8,pxvehicledrivesimdatanw:29,eenable_gpu_dynam:[30,11],mydellisten:8,minimpuls:27,actorcollect:2,pxvehiclegearsdata:26,bend:8,setdriv:[27,24],item:20,simplist:[15,29,20],egearsratio_count:29,convexstream:2,setanaloghandbrak:29,emodify_contact:0,engin:[15,1,26,5,23,11,27,13,31],ecommit_disabled_build_dis:28,notabl:18,explicitli:[16,4,5,18,8,24,32,2,25],dure:[0,16,2,4,15,24,5,20,6,18,23,7,11,10,3,27,28,29,30,31],pxsolverbodi:16,win:[27,32,3],srcasset:2,nonetheless:[1,23],animateleav:28,nx_adaptive_forc:5,affect:[0,16,4,8,9,32,11,24,29,30],setmassspaceinertiatensor:[16,29],equickhul:9,pairhead:[0,20],veloc:[0,17],autogener:6,wider:[16,29],fseek:2,wheelmateri:29,demand:4,surprisingli:11,worth:29,getlinkindex:24,revisit:[15,10],mmaxomega:29,thread:[0,22,17],jounc:29,emerg:[18,29],emax_nb_title_char:[29,8],setcontinu:[20,4],adaptive_forc:5,still:[0,16,11,4,14,19,20,23,8,9,10,3,29,30,32],send:[16,20,7,8,9,11],rework:[29,8],etank_wheel_3rd_from_front_left:8,applydamag:28,imag:13,fourth:16,absent:30,problem:[0,4,14,20,23,11,27,29],eaccel_control:8,physx3checked_x64:32,plastic:5,old:[8,9,10,2,32],readi:[16,29,4],pxvehiclecopydynamicsdata:29,detriment:11,mismatch:[29,19],start:[0,16,11,4,15,24,5,19,20,6,18,23,8,9,10,2,27,28,29,13,31],vnext:27,coupl:[0,15,29,21,23],reus:[23,29,20,11],sound:[23,29],pxaddarticulationlink:16,pxi16:11,turbin:16,pxjointangularlimitpair:[27,8],pose1:[18,16],gsteervsforwardspeedt:29,getfaceindex1:0,revers:[18,29,10,4],nxstream:5,revert:29,camera:[29,13],filtershad:[0,5,8,30],deliv:29,addarticul:24,outputstream:8,pxactortypeflag:[8,9],exclus:[2,4,6,32,11,27],sens:[0,18,20,22,2,27,29],egraph_type_wheel:8,regist:[16,19,20,6,7,8,9,10,24],forward:[26,31,20,23,24,11],from:[0,1,17,26,18,6,22,23,24,10,11,27,12,13,30],pximmediatemod:16,sent:[0,4,20,23,7,8,2],anti:26,kei:[5,24,29,20],fetchqueri:28,getcontactoffset:23,strongli:[22,24,10,3,27,29],failur:[16,4,3],osx:13,transpar:[18,8],unifi:[8,9,32,11],pxbroadphasetyp:[15,30,32,11],model:[16,17,26,18,22,23,24,11,27],fiber:8,millikenresearch:29,worthi:20,setdrivetarget:24,pxcontactmodifycallback:[0,5],attachshap:[15,22,2],pxcontrollerhit:8,etank_wheel_6th_from_front_left:8,pound:29,iskindof:[22,6],setvisualizationparamet:[27,25],convexgeom:15,explain:[29,10,4],dereferenc:15,debug:[22,17],preclud:29,esap:[15,32],aconvexactor:10,alignextradata:6,spread:29,pxvehiclenw:29,focu:29,should:[0,3,5,6,7,10,2,15,22,23,27,25,1,4,31,8,9,11,16,18,24,28,29,30,32],preced:[29,24,4],throttl:29,x86_32:3,commensur:29,data:[22,17],mycontactmodif:0,deriv:[0,7,24,2,27,12],px_max_num_wheel:8,compart:26,denot:[28,4],weaker:29,nx_sta_frict_sc:5,geom:[18,29,10],presenc:[8,11,4],hover:29,sort:[0,23,29],height:[23,11],pxconstraintalloc:16,setsteerangl:29,gettirefrict:[29,8],filtershaderdatas:5,pxraycastbuffern:8,getsusplinedir:8,stabil:[0,20,24,10,11,27,29],complianc:24,pxclothphasesolverconfig:8,crash:[4,15,11,3,2],ramif:8,rebuilt:28,simultan:[0,15,4,8,2,27,29],question:[1,5,7,29,16],disappear:11,scanforobstacl:4,earth:16,addlocalforceatpo:16,smp:11,densiti:[16,5,10,29,28],print:22,createshap:[22,5,8,26],handl:[15,16,4,5,23,7,8,24,10,29,32],charact:[17,24],deem:20,ball:[27,13,24],messag:[15,20,22,7,8,13,30],inconsist:[27,11,4],pxcomputeunconstrainedveloc:16,rememb:[23,29,2],onobstaclehit:23,inact:20,orphan:2,sensibl:29,hard:[1,24,11],pxraycastbuff:[28,8],emax_nb_drive4w_analog_input:8,win32:13,e9th_from_front_right:8,raw:29,overhead:[0,16,4,18,7,11,28,29,30],fifo:4,fastest:10,addlocalforceatlocalpo:16,caveat:[16,22,24,2,29,30],liabil:12,effort:[0,23,29],rag:[27,24,4,2],skill:29,rai:[0,1,5,18,28],pxpairfilteringmod:11,hadblock:28,feedback:24,bvhdesc:28,level:[0,16,11,18,5,22,23,8,24,10,3,27,26,13],easier:[16,19,9,11,27,29],hasimpuls:0,matric:[22,5,8],pxserialobjectref:8,purposefulli:29,funtion:8,sequenti:[29,20],mfinalratio:29,mechan:[0,1,11,4,16,5,20,6,22,23,8,24,2,27,28,29,15],finalizequeri:28,format:[0,2,20,22,8,10,11,29,13],pxcreatebatchqueri:8,ebrake_control:8,appendix:29,chapter:[16,4,18,31,19,21,22,11,27],regard:[7,4],pxconstraintbatchhead:16,pxgetlinkdata:16,mnbactor:2,pxserialobjectid:[8,2],gentli:29,did:[0,16,15,5,23,28],const_cast:29,amplitud:29,facilit:[28,24,2],aboxshap:10,setdigitalaccel:29,buildgrbdata:[30,11],bar:26,bat:6,pxmax:11,px_physx_core_api:16,instantiate4wvers:29,scroll:29,getnbtriangl:10,embp:15,pxforcemod:16,boxshap:8,zone:[7,29],pxgeometryhold:17,pxmat44:[22,8],settireforceshaderfunct:29,pxvehiclesetbasisvector:29,univers:27,wobbl:16,row:[16,22,24,10,11,27,29],upgradecollect:8,maxlesepar:29,hood:23,exercis:29,overli:29,setkinematictarget:[27,16,20],solverbodi:16,incorrect:[18,16,27,3,28],sweephit:18,pxsimulationstatist:21,bouncethreshold:16,msprungmass:29,hitcount:18,untest:18,outsid:[0,1,4,15,23,9,2,29],affair:20,refcount:4,echannel_engine_rev:[29,8],snippetpxbvhstructur:28,clang:[32,6],meshweldtoler:10,defaultmateri:[15,29],subset:[19,24,10,3,27,28],bigger:[0,16,23],termin:[0,8,24,19],"20kg":29,scenequeriesupd:28,complex:[0,1,16,31,20,23,7,11,27,29,13,30],eblocking_hit:8,edisable_ccd_resweep:0,anmim:20,acut:11,heurist:6,hovercraft:29,onc:[0,16,2,4,24,20,23,9,11,28,29],"__file__":[22,20],pxvehiclesuspensionraycast:29,pxregisterarticul:19,midphasedesc:[10,11],consequenti:12,traffic:0,pxpvdsceneflag:7,settessflag:11,implicitli:[27,8,2],etank_wheel_8th_from_front_left:8,me485:29,need:[0,3,5,6,7,10,2,15,22,19,20,23,27,1,4,8,9,11,16,18,24,28,29,32],pxrigiddynamiclockflag:16,bear:[27,29],setstabilizationthreshold:11,nxustream:5,tip:23,setflag:15,fact:[0,1,29,9,15],trigonometri:29,artifici:[15,23,11],upright:[16,10],pvddatastream:7,mmaxhandbraketorqu:29,terrainwidth:11,where:[0,3,5,6,10,2,15,22,20,23,27,25,1,4,14,8,11,16,18,24,28,29],comfort:16,recipgrav:29,d6joint:27,pxjoint:[27,16,8,24,11],deposit:24,sharabl:2,handbrak:29,parameter:29,familiar:[27,24],px_def_bin_metadata_extra_item:6,nxinitcook:5,pxvehiclecompon:29,overst:1,setbreakforc:27,setanalogaccel:29,flushscenequeryupd:28,getsuspjounc:8,analogv:29,implement:[0,15,11,24,18,5,19,20,6,22,23,26,8,9,10,2,27,28,30,32],setshapepairflag:5,inwrit:6,deadlock:4,volumegrowth:23,mratio:29,getbinarymetadata:6,chassisqryfilterdata:29,extradatastreams:0,whether:[0,16,2,4,15,19,21,6,18,8,9,10,3,12,27,28,29,30],schedul:[29,5,11,4],python:32,interrupt:[15,12],emine_link:15,swaptohighlowvers:29,enormalized_tireload:8,statist:[17,26],erevolut:24,zonestart:7,delta:[16,23],awar:[4,5,18,23,11,29],setminccdadvancecoeffici:0,mmaxfilterednormalisedload:29,temporarili:[5,29],damp:[16,5,8,24,32,27,29],wiki:29,previous:[15,16,2,18,23,8,9,32,11,28],fast:[0,5,23,10,3,28,29,32],gettolerancesscal:[30,4],blade:16,studio:[22,13,32,3],wake:[27,16,8,32,20],isspher:5,reduc:[0,17],contigu:29,sharp:10,surfacetyp:29,concern:[18,23,9,4,2],pxcreatephys:[5,19,20,22,7,9,10],distanc:[0,17,26,18,23,24,10,11,30],emine_head:15,mestimateiter:29,setconstraintflag:27,removebroadphaseregion:15,involv:[0,16,2,15,26,5,8,11,27,28,30,31],myrenderobject:16,equival:[15,5,18,8,24,10,27,29],anim:[23,31,20],tempt:[23,31],inerti:5,nbconstraint:16,pxobstaclecontext:[23,8],legaci:[0,16,23,9,32,29,30],pxvehicleupdatesinglevehicleandstoretelemetrydata:29,contrari:[0,23],followjoint:2,trail:23,fatalerror:[16,19,4],afford:29,customcreatephys:19,collectforexport:8,createaggreg:15,selfcollis:15,etransmit_scenequeri:7,manifold:17,articul:[0,17],benefici:[20,3],pxserializ:8,emploi:[29,8,4],strict:[12,29],mod:27,nxshapedesc:5,repxextens:8,mnumratio:29,ccdmaxpass:0,gcarpadsmoothingdata:29,bodyaworldoffset:27,programm:4,efront_left:[29,8],vehicledrivablesurfacetotirefrictionpair:29,getphysxfoundationdllnam:[19,32],eremoved_shape_oth:15,max_num_tire_typ:29,serializ:[8,26],sprungmasscoordin:29,addcollect:[8,2],exemplari:12,neglig:[12,9],pattern:[4,14,6,22,27,29],impleament:7,suspspringforc:8,unavoid:29,setwheelcentreoffset:29,recycl:0,clearli:[29,20],mymateri:[15,5,10],suit:[24,2],pxhitflag:[18,8,9,32,11,28,29],throughout:[29,24],hitinfo:18,"3x3":[16,5],worldvertex:11,getrigiddynamicactor:29,tirecontactactor:8,othershap:15,troubleshoot:17,outbatchhead:16,setactorpairflag:5,simplest:[15,31,20,28,29,13],gsharedindex:20,inaccuraci:27,form:[0,16,22,7,24,10,2,27,12,29,30],markserializedmem:6,abov:[0,16,4,15,5,6,18,23,9,10,11,12,27,28,29,30],physxcooking_:3,mcamberatrest:29,wheel:[27,8,26],parentpos:24,setdriveposit:27,modul:[17,11],einvalid_paramet:22,setuptanksimdata:29,badli:[29,21],servic:12,pxrigidbodyflag:[0,16,8],copyinternalstatetocach:24,evenli:29,pxvehicledrive4wsmoothdigitalrawinputsandsetanaloginput:29,nxusertriggerreport:5,pxtrianglemeshdesc:10,pxsolverconstraintdesc:16,eengine_rev:8,difficulti:[27,29],optimum:29,isrigidbodi:9,reliabl:[29,9],stateless:27,rigiddynam:29,histori:[29,2],newton:29,scienc:29,sensit:[15,22,31],friction:[0,23,17,26],ediff_type_open_4wd:29,indices32:10,pxconstructsolverbodi:16,computelambda:24,mminestoexplod:0,meshpos:18,updatest:4,setsuspforceapppointoffset:29,thing:[0,16,2,20,23,11,29],chassismateri:29,myccdcontactmodif:0,multipli:[22,16,29,11,23],deepest:15,ani:[0,1,26,16,5,18,23,8,24,10,11,12,27,15,13,30,31],filterdata0:[0,15,5,8,29],mactor:6,customtypepropertyinfonam:6,enableshapeinscenequerytest:15,green:[23,4],fread:2,ehas_drive_force_limit:27,merchant:12,mbp:[15,30],ca2w:24,longslip:29,drawback:0,mostli:29,bugfix:2,decis:[29,11],clearforc:[8,20],accessor:[16,8],dynamicstructur:28,analog:[27,29],pxvisualdebuggerconnect:7,pxps3configparam:8,ask:[0,1,15],getsuspensionforc:[29,8],graph:[22,27,29,20],hardcod:28,pxshape:[0,16,11,15,18,5,22,23,8,10,2,28,29,32],enter:[15,29],substanti:[27,8],shapepos:28,spin:0,wheelcoord:29,what:[23,17,11],present:[16,2,11,27,29,13],ehandbrake_control:8,customproperti:6,getverticesformodif:10,repres:[15,1,2,16,24,20,22,23,7,11,10,3,27,28,29],num_vehicl:29,cooktrianglemesh:[5,10],px_profile_stop_crossthread:32,alpha:29,getstepoffset:23,elock_linear_z:16,pxjointconcretetyp:27,queryflag:29,eno_block:[8,26],dir:29,sudden:27,north:16,resttireload:29,suspend:[15,29],chassisconvexmesh:29,espher:[24,10],localframe0:27,tiresurfacemateri:8,collisiongroup:5,shapegroup1:5,bodi:[0,22,17,24],valu:[0,22,24,11],pxsimulationeventcallback:[0,16,4,15,5,20,9,27],capac:[30,20,11],px_max_real:16,conceiv:29,straightforward:[1,29,14],keyboard:29,getsimulationfilterdata:8,pxinputstream:2,suspens:29,setgearup:29,config:[8,32],unfortun:[15,16,5,29,23],physic:[17,24],vehactor:29,shiftorigin:14,queu:[28,4],sap:[15,30],shrink:[20,11],surfac:[0,26,5,18,24,10,11,27,32],getrigidactorshapelocalboundslist:28,removeaggreg:15,architectur:[11,4],minresponsethreshold:27,good:[15,1,18,23,7,24,11,12,27,28,29,13],download:7,pxvehicledrivesimdatatank:29,prohibit:28,releaseobject:[9,2],createbatch:8,disclaim:12,mdampingratezerothrottleclutchengag:29,museautogear:29,mpvd:[7,19],gfoundat:[7,19,30],khz:29,rapid:[16,29,2],button:29,meant:21,theme:29,ruler:29,radiu:[5,23,8,10,27,29],simul:[0,22,17,24],samples1:10,trackoutstandingalloc:[19,20],understand:[15,1,16,23,11,27,29],isn:29,eacceler:27,getgeometrytyp:5,concurr:[0,15,4,20,2,29],option:[0,1,17,11,16,24,6,18,23,26,8,9,10,2,27,28,13,30,15,25],overlapshap:28,getqueryresultbuffers:29,setangulardamp:16,dread:27,meantim:8,instead:[0,16,11,2,15,24,5,19,18,23,8,9,10,3,27,28,29,32],eenable_stabil:11,unbal:28,section:[15,16,11,4,5,20,22,23,8,24,10,2,28,29],runonspu:8,phenomenon:23,lowend:6,pxcontrollermanag:[23,8],pxscenelock:4,setlinearveloc:[16,8,20],becom:[0,16,11,4,15,5,8,2,29],consol:[22,4,2],ccdfiltertest:8,code:[0,5,6,10,3,15,22,23,27,1,31,8,11,28,13,16,17,18,24,26,12,30,32],ediscrete_respons:8,geomsweptagainst:18,enableshapeincontacttest:15,gtreasureactor:15,distro:1,independ:[15,16,2,4,23,8,11,29,30],nbpair:[0,16],specul:17,backgroundcolor:29,fraction:16,separationdist:0,capsuledesc:5,challeng:[29,10]},titleterms:{scale:[27,10],name:2,manag:[22,23,5,27,2],geometri:[18,23,10,2],quantiz:11,precis:18,region:15,version:[29,2],walkabl:23,memori:[2,4,5,20,22,11],dynam:[16,24,11,23],pxvehicleenginedata:29,preset:3,ground:11,touch:28,sphere:[18,10],pxarticulationcach:24,asynchron:4,pxsceneflag:9,convent:5,pxmeshqueri:18,much:29,pxvehicleclutchdata:29,api:[5,6,22,8,9,32,2],overlap:[18,28,5,11,23],featur:5,helloworld:13,mode:[16,29,23,28],repx:[8,2,6],onli:10,drive:[27,24],time:[23,5],pxvehiclegearsdata:29,what:[13,30],sim:20,triangl:[15,18,10],identifi:11,binari:[8,2,6],determin:[22,16,11],consider:[30,4],startup:[5,19],pxscene:11,estatic_aabb_tre:28,gpu:[30,11],queri:[15,5,18,8,9,11,28,29],sleep:[16,24,11],pxrigidactor:9,scene:[15,4,5,20,8,9,11,28,14],introduct:[15,18,2,4,31,19,6,22,23,25,10,11,28,29,30],tight:11,snippetconvert:2,welcom:1,snippethelloworld:13,differenti:29,multipl:[28,29,4],move:[23,29],solver:[27,16],tessel:23,plane:[15,18,10],check:11,thread:[29,11,4,20],task:[20,4],secur:19,disabl:[29,11],guid:[1,29,26,11],pxvehicledrive4w:29,cook:[2,5,19,9,10,11],turn:29,clutch:29,buffer:[11,4,20],paramet:[5,11],phase:[15,11],process:28,roll:29,penetr:[18,11],how:28,earli:11,debug:[5,25,11],pxqueryflag:28,nvidia:17,rare:23,dll:19,pxextens:9,joint:[27,5,24,11],pxscenequeryupdatemod:28,raycast:[0,28,5,18,29],obstacl:23,posit:24,pxvehicletireloadfilterdata:29,from:[5,8,9,32,4],snippetvehicle4w:29,assert:22,intern:23,connect:[22,7],graviti:16,down:[29,19],eno_block:28,refer:[22,29,9,2],extract:0,snippetseri:2,interact:[15,23],pxvehicleackermanngeometrydata:29,pruner:11,vector:23,jitteri:29,advanc:[0,7,29],getactor:11,implic:[0,11],sweep:[18,28,5],troubleshoot:[23,29,2],convex:[18,10,11],over:[23,29],pxvehiclenodr:29,visual:[1,7,8,9,11,27,25,13],pxshare:32,compart:5,depth:[18,11,2],revolut:27,part:23,rate:11,height:[18,10],sdk:[17,5,19,7,8,9,32,29],implement:4,eprefilt:28,rebuild:11,cmake:[32,3],deseri:2,cct:23,involv:4,access:4,"16k":20,tree:11,invers:24,capsul:[18,23,10],load:19,detail:29,createshap:9,vehicl:[29,8],anisotrop:5,contact:[0,29,9,10],estim:29,pxvehicledifferential4wdata:29,restitut:16,usag:[25,21,11],quickli:29,soft:27,prealloc:11,pitfal:18,runtim:[23,11],"class":[22,5,8,6],block:[28,20],volum:23,amort:15,requir:2,swap:29,activ:16,level:[29,2],constraint:27,axi:16,distribut:32,step:[23,5],limit:[0,27,10,11,20],origin:14,report:[0,22,5,27],thi:1,physxcommon:19,torqu:[16,29],reconnect:2,about:1,seidel:16,extra:0,quickhul:10,registr:10,invis:23,correct:29,creat:[15,28,24,23],persist:0,properti:16,bar:29,pvd:[7,20,2],enhanc:16,sampl:11,epostfilt:28,overview:[1,31,6],kill:11,consid:11,pxgeometryhold:10,modul:23,cach:[28,2,23],steer:29,steep:29,migrat:[5,8,9,32],defin:[27,28],broad:[15,11],than:23,retarget:2,count:[22,9,2],pvdclient:7,enon:28,unlock:27,unbound:28,mesh:[15,18,10,11],forc:[27,16],header:[5,3],pxvehicleantirollbar:29,graphic:23,event:[16,4],physx:[1,17,2,5,6,22,7,8,9,32,3,12,13],snippetvehiclescal:29,mid:11,curv:29,ackermann:29,side:7,comput:11,drivabl:29,synchron:20,bottleneck:11,explod:11,tweak:11,snippetvehicletank:29,doe:29,appli:16,pxvehicleautoboxdata:29,eany_hit:28,shape:[0,15,5,11],error:[22,5,7,11],addit:18,box:[18,10],loop:31,serial:[5,8,20,2,6],actuat:27,spu:8,merg:28,goe:[23,29],feel:29,profil:[7,11],continu:[0,5],hidden:23,ccd:[0,8],manifold:0,state:[16,29],pxbvhstructur:28,stack:11,semant:4,user:[22,1,26,28],skin:5,realist:11,data:[0,2,4,20,7,10,11,27],world:1,test:[5,11],hierarchi:5,pcm:0,invalid:23,notif:0,pxdelayloadhook:19,pxrigiddynam:29,filter:[15,28,5,29],setupwheelssimulationdata:29,project:[27,24,3],face:10,veloc:[16,24],pxvehicledrivetank:29,narrow:11,tire:29,actor:[16,5,23],initi:[18,29],statist:21,type:[22,29,5,10],flag:[7,11],complet:[20,2],scratch:[20,11],releas:[15,11],tempor:16,share:11,more:29,render:[1,5],pxvehicledrivenw:29,shift:14,shutdown:[5,19],shader:[27,29],hit:[28,23],upgrad:2,unstabl:11,offset:23,telemetri:29,extend:[7,6],when:[29,11],cloth:[8,32],system:[11,6],callback:[15,5,20,23,11,28],pair:11,custom:[27,7,3,6],extens:[5,8,19,32],veri:11,valu:23,option:19,cast:[22,5],discuss:2,reduc:[24,11],lock:[27,16,4],car:29,math:[22,8],articul:24,result:28,extrapol:29,closest:28,trigger:[0,15],collis:[0,15,5],detect:[0,5],climb:[23,29],polygon:10,gear:29,kinemat:[15,16,11,23],well:11,serializ:2,field:[18,10],inform:0,model:[31,29],shut:19,sluggish:29,too:29,aggreg:15,snippet:[29,13,2],snippetvehiclenodr:29,delai:19,distanc:27,bound:11,specif:2,collect:2,foundat:19,place:20,first:[29,2],wall:23,domin:16,edeprecated_trigger_trigger_report:9,wheel:29,substep:20,everyth:2,width:5,indic:10,pile:11,heighfield:15,multithread:[5,4],ani:28,provid:10,pxvehiclewheelssimdata:29,unit:[22,29],other:[20,2],singl:28,descript:5,deprec:[9,32],despair:11,setup:7,unnatur:29,breakag:27,practic:[11,4,2],basetask:4,slope:29,updat:[23,29],chang:[16,5],friction:[16,5,29],coordin:[24,11],split:20,popul:15,multi:[29,11],order:29,prepar:27,charact:[23,8,11],environ:11,applic:[22,2],issu:[23,11],acceler:[29,30],edynam:28,preprocess:27,pose:[5,29],"function":[18,28,27],bewar:11,maxim:24,edynamic_aabb_tre:28,insert:[15,11],pxvehiclewheeldata:29,auto:23,stream:[7,11],gener:[28,29,9,10,3],basic:[27,28,5,13,7],remov:[5,4],beyond:29,gauss:16,perform:[0,23,30,11],prismat:27,jitter:11,recoveri:23,nxutillib:5,tune:[0,29,30],guidelin:4,convert:2,through:23,integr:20,redistribut:[5,3],debugg:[7,8,9,13],configur:[27,3],physxfound:19,doubl:4,compon:19,under:29,"case":[23,2],fix:[27,28],surfac:[16,29],pxgeometryqueri:18,slowli:29,forward:29,algorithm:[15,29,10,11],differ:22,deform:[5,10],refus:29,particl:[9,32],estat:28,incomplet:2,best:[27,11,4,2],cpudispatch:4,index:5,fetchresult:20,anti:29,slow:[29,11],platform:2,bodi:[15,16,31,30,11],hard:27,behavior:[0,23,27,11],vertex:10,batch:[28,8],taskmanag:[8,4],proper:11,scenequeri:7,corner:29,pxpruningstructuretyp:28,control:[23,29,8,11],core:[8,9,32],physic:[19,11],snippetloadcollect:2,"final":11,engin:29,build:[11,3,32],interest:15,common:2,pxvehicletiredata:29,tool:2,licens:12,creation:[5,29],metadata:6,alloc:11,setupvehicleactor:29,spin:[29,11],setupdrivesimdata:29,iter:16,file:[7,3],materi:5,higher:23,simul:[15,4,5,20,21,11,31],design:5,network:7,immedi:16,heightfield:[18,5,10,11],object:[1,2,4,31,22,23,11,28],flush:11,point:10,pxpruningstructur:28,sequenc:20,rigid:[15,16,31,30,11],subordin:2,extern:7,rotat:29,lightcputask:4,spheric:27,tank:29,document:17,snippetvehiclemultithread:29,never:29,interfac:21,pxvehiclesuspensiondata:29,code:[29,2],modif:[0,10],concept:29,mass:[27,16],brief:1,against:18,pxfilterdata:28,specul:0,tabl:27,pxgpuloadhook:19},objects:{},titles:["Advanced Collision Detection","Welcome to PhysX","Serialization","Building with PhysX","Threading","Migrating From PhysX SDK 2.x to 3.x","Extending Serialization","PhysX Visual Debugger (PVD)","Migrating From PhysX SDK 3.2 to 3.3","Migrating From PhysX SDK 3.3 to 3.4","Geometry","Best Practices Guide","PhysX License","Snippets","Scene Origin","Rigid Body Collision","Rigid Body Dynamics","NVIDIA PhysX SDK 4.1 Documentation","Geometry Queries","Startup and Shutdown","Simulation","Simulation Statistics","The PhysX API","Character Controllers","Articulations","Debug Visualization","User's Guide","Joints","Scene Queries","Vehicles","GPU Rigid Bodies","Rigid Body Overview","Migrating From PhysX SDK 3.4 to 4.0"],objnames:{},objtypes:{}}) \ No newline at end of file +Search.setIndex({terms:{explanatori:0,contactcorrelationdist:13,which:[3,2,1,9,10,11,13,14,16,17,18,24,26,32,0,29,5,8,25,15,21,22,20,28,30,31],pxarticul:[8,22,13,17,28],www:3,ejoint_limit:1,gram:3,espu_raycast:13,guidelin:12,good:[3,16,5,15,1,6,23,9,27,28,29,31],repxupgrad:13,basi:[3,5,29,20,11,28],triangl:[4,5,7,9,20,32],nxcookinginterfac:10,pxbatchqueri:[3,13,31],graphic:[4,11,32],compat:[3,15,5,25,11,20,13],dat:25,leav:[3,9,25,26,31,32],though:[0,29,3,5,22,9,10,11,19],mrearwidth:3,getlinkindex:28,word3:[3,31],lin1:1,lin0:1,loop:[22,4,5,28,12],pxgeometrytyp:18,coordin:4,dotouch:13,account:[0,3,5,22,9,20,26,28,32],mstrength:3,pxmath:9,setlinearlimit:[8,1],pxqueryflag:[13,12],eout_of_memori:11,linear:[3,1,8,9,28,22,32],"_debug":18,hfdesc:18,subdivid:[29,10],articulationv:22,ptr:[0,11],distinct:[0,1,3],doesn:[3,25,2,32],fluid:10,pxvehicledrivetankwheelord:13,getgeometrytyp:10,createcontrol:9,trough:5,pxfindfaceindex:15,dru:31,px_max_flt:1,setrigiddynamiclockflag:22,isparticlefluid:14,tell:[3,29,31,18,32],flushsimul:[22,0,5],quicker:3,version:[16,18,5,8,9,10,11,27,13,30,14,31,32],pxrepxobject:2,map:[3,18,15,25,28,13],line:[0,5,18,3,29,1,26,7,8,9,25,11,15,22,13,30,31],addcollect:[13,25],exceed:[15,1,28],guess:3,samplebuff:18,verifi:[2,18],someth:[0,9,23,18,3],reconcil:26,reduc:[4,32],surprisingli:5,signal:[0,13],groupcollisionflag:10,sub:[0,29,5,10,3],totallinkcount:28,engin:[16,5,1,9,10,17,12,27,29],ellipt:[28,1],hit:[4,5],been:[28,0,24,5,18,3,29,1,21,15,8,9,10,26,22,13,25,14,31,32],evolv:16,environ:32,"_lignv3ptiq":3,exportextradata:2,signifi:1,number:[28,0,16,5,18,3,29,1,21,15,22,9,10,11,20,27,26,13,25,31,32],uncaught:5,gauss:[4,16,12],immconstraint:22,jump:9,broadphasetyp:[5,20],experienc:[3,9,13],acquir:26,setdriveveloc:[28,1],migrat:[4,16,12],dimens:[3,5,28],shortest:[28,1],hasblock:13,framework:[27,17],settireforceshaderdata:3,caution:[3,5],relev:[22,3,10],maxraycasthit:13,bvh:31,unifi:[8,13,5,14],signific:[0,16,18,3,5,7,8,10,26,28,13,14,31],foundlostpairscapac:20,win32:27,product:[3,16,15,7,6,26],stabil:[0,5,18,3,1,28,32],intend:[29,9,25,19],set:[3,2,1,7,9,10,11,13,14,18,24,20,26,32,0,29,5,8,15,22,23,25,28,30,31],areatestepsilon:18,tirelateraldir:13,fetchresultsstart:0,pxdefaulterrorcallback:[24,11],samplesubmarin:[29,32,26],getsleepthreshold:22,bodya:1,bypass:[22,29,31],indexbuff:18,setwakecount:[22,0,13],tirecontactnorm:13,efre:1,bake:10,domain:16,"default":[3,2,1,9,10,11,13,14,16,18,24,26,32,29,5,8,25,15,22,23,20,28,30,31],wheelwidth:3,small:[3,5,18,15,1,22,9,17,26,32],addclient:23,right:[3,18,6,22,9,25,11,27,31],gravitationalacceler:3,determinist:[22,5,11],cook:4,has16bittriangleindic:18,nxcooktrianglemesh:10,pxvehicleextensionapi:2,flex:[8,9,14],allow:[3,2,1,9,10,11,13,14,17,18,26,27,32,0,29,5,21,22,23,25,28,31],edetect_discrete_contact:[13,32],everi:[3,16,1,21,22,23,24,25,11,28,32],reoder:5,mthread:13,getconcretetyp:[13,25,11],pure:[22,3,1],satur:3,pxjointangularlimitpair:[13,1],alloc:[28,11],addobstacl:9,wheelqueryresult:[3,13],mmaxcompress:3,unexpect:5,freespin:1,zangl:28,behind:[3,15],pxcontrollerfilt:9,vehicl:[16,5,4,1,20,12,30,32],setrevolutejointlimit:1,github:16,layout:[3,25,11,18],pxvehiclewheelgraphchannel:[3,13],generatemetadata:2,createobstaclecontext:9,edefault:[15,29,10,31,32],exactli:[22,3,9,32,28],physx3checked_x64:8,two:[0,16,5,2,18,3,29,1,26,15,22,9,10,20,28,13,25,31,32],swaptohighlowvers:3,special:[3,16,29,2,18,15,1,6,22,23,9,10,11,28,13,25,31,32],refer:4,need:[3,2,1,9,10,11,13,14,16,18,24,26,32,0,29,5,8,15,22,23,25,28,30,31],htm:3,getnam:26,illeg:[0,26],bullet:[15,31],estiff:13,surfacetirepair:3,triggershap:29,pxsolverconstraintprepdesc:22,shader:[20,32,12],object:4,cross:[22,9],descript:[28,4,18,12],pxcreatecollect:[13,25],arcad:32,temporarili:[3,10],getnblin:7,elaps:[9,5,10,17],etransmit_contact:[23,13],arrai:[3,5,18,15,1,22,25,28,13,31,32],pxscenequeryhittyp:13,tirelongforcemag:3,circumst:[22,5,32],fall:[3,18,29,22,23,9,20,28],skateboard:3,parentattach:28,listen:[22,0,32,23],second:[3,5,15,1,22,9,10,17,26,27,29,25,32],pxcomputemeshpenetr:[8,14],breakabl:[28,1],px1dconstraintflag:1,clamp:[3,15,5,28,31,32],pxmeshmidphas:[5,18],valid:[3,29,18,15,5,22,9,25,13,31],our:[16,5,22,23,24,30,31],setrevolutejointflag:1,setinvinertiascale1:22,unbal:31,than:[28,5,32,11,30],echannel_tireload:[3,13],behaviour:14,repxextens:13,mscene:[22,23,10,17,26],interchang:[14,18],rule:[0,2,3,29,15,22,9,25,11,26,31,32],onshapehit:9,priorit:1,compos:[16,11],prop:2,pxplanegeometri:18,recommend:[3,5,18,19,1,24,8,23,9,10,11,28,29,30,14,31,32],hard:[28,16,5],pxvehiclesuspensionsweep:3,setinvmassscale1:22,createexclusiveshap:[3,29,18,5,8,10,11,28,22,25,14],correct:[0,5,18,28,1,8,9,25,11,12,22,32],respons:[3,2,18,19,1,22,9,25,11,20,13,31,32],aabbtre:31,pvddatastream:23,localpos:5,pxcontactjoint:28,sticki:32,direct3d:11,ineffici:3,multithread:[4,16,12],appear:[3,5,1,22,9,10,27,32],enotify_threshold_force_found:32,gcudacontextmanag:20,spent:[3,9],"null":[0,2,18,3,1,24,15,22,9,25,26,28,13,31],centrifug:28,unit:4,blade:22,mmaxhandbraketorqu:3,often:[0,5,18,3,1,22,23,9,11,26,28,29,31,32],spend:3,generate_project:[8,30],directori:[16,2,8,10,27,30,14],cluster:[29,31,26],phor:3,retriev:[22,5,18,15,1,21,8,9,11,28,29],writeallproperti:2,pxcook:[13,25,11,31,14],createbinaryconvert:[13,25],dynamictreerebuildratehint:[5,31],aconvexshap:18,pxsweepqueryresult:3,pxscenequeryimpacthit:13,collision_flag_wheel:3,onc:[0,3,5,22,9,25,26,28,14,31,32],minresponsethreshold:1,earlier:[3,18,15,5,28,13],perspect:26,mstiff:3,pxbatchquerypostfiltershad:31,boxshap:13,anyth:[22,31],populateregion:29,pxbvhstructuredesc:31,pxcontactpairheaderflag:[14,26],densejacobian:28,choreograph:3,fread:25,notifi:[0,29],camberangl:3,indices32:18,useroverlaphitbuff:13,knee:1,vector:[4,11,28],lightcputask:[13,12],concurr:[0,3,29,25,26,32],pxsphericaljointflag:1,d3dxmatrix:11,econtact_event_pos:32,favor:[28,10,26],cpudispatch:[20,12],data:[4,11],midphasedesc:[5,18],capsuledens:18,exchang:10,maximpuls:[1,32],localscaledvertex:5,cpu:[16,5,29,22,20,11,26],"16k":[5,12],ramif:13,spring:[3,13,1,10,28],modul:[4,5],regard:[23,26],bulk:24,mandatori:[32,31,26],undocu:11,due:[3,16,5,15,1,22,9,25,32,31,19],setdistancelimit:[8,1],resolv:[3,5,2,18,1,22,9,25,26,13,32],wheelmap:3,you:[0,24,5,18,28,29,1,21,22,23,9,10,31,11,20,26,13,30,14,17,32],wasn:10,collectionscen:25,exploit:3,gravit:[22,3,13],method:[3,2,10,11,13,14,17,18,24,26,32,0,5,29,8,15,19,21,22,23,25,28,31],getcoefficentmatrixs:28,eimproved_patch_frict:22,preced:[28,3,26],chain:[29,1,25,5,26,28],spu:[4,10,12],pxboxcontrol:9,onconstraintreleas:1,glmatrixmod:11,differenti:12,solverconstraintdesc:22,coupl:[3,9,29,21,32],xcm:3,socket:[23,1,28],temp:20,spg:3,halfheight:[9,10,18],pxcreatedynam:25,along:[3,29,2,18,15,1,8,9,10,28,22,13,25,14,31,32],robust:[3,16,18,5,22,9,28,13,32],digit:3,warranti:6,settessel:9,velocitythreshold:1,ever:[22,0,5,3],trigonometri:3,even:[0,16,5,3,29,1,26,6,7,22,9,10,11,15,28,13,32,25,31,19],decoupl:[3,5,10],px_max_nb_wheel:[3,13],ahead:28,pxclothfabr:13,model:[15,5,4,1,22,9,11,12,28],einternal_has_impuls:32,magenta:9,"125f":3,px_max_sweep_dist:[15,31],continu:[4,11],lifetim:25,disablewheel:3,profit:6,angular:[3,5,8,1,22,28,32],produc:[28,3,5,2,18,15,1,24,8,9,25,11,20,22,13,31,17,32],pxgetjointdata:22,col:5,profil:11,"0x7fff":5,refilt:10,normal:[3,18,15,5,22,31,32],shrunken:5,ontrigg:[0,29,26],echannel_steer_left_control:13,fundament:[29,1,10,17],px_physics_vers:[8,23,24,11],bug:[16,5],tirefrict:[3,13],abcdabcdabcdabcd:5,getpvdconnectionfactori:13,quick:[3,25,21],nxinitcook:10,nxuseroutputstream:10,getphysxgpudllnam:[8,24],edynam:[13,12],meshsizeperformancetradeoff:[8,5,14,18],pxoutputstream:[13,25,2],enotify_threshold_force_lost:[32,26],primarili:11,tireload:3,setanalogbrak:3,subsect:22,road:3,ball:[27,28,1],isoverlap:15,choic:[3,18,29,9,11,31],cb2ca:28,check:[11,32],transform:[3,5,8,18,15,1,22,10,11,20,28,13,31,17],ifdef:18,susptraveldirect:3,sit:3,job:[0,26],txt:2,x86_64:8,actorinputdata:25,max_id:25,amort:[4,5,12],spheregeom:15,out:[3,5,18,29,1,24,22,9,6,11,26,13,31,32],nbconstraint:22,wherev:28,copyinternalstatetocach:28,getphys:[13,29,18],metal:10,pxtrianglemesh:[5,25,11,18],simplest:[0,17,3,29,27,31],vehicleid:3,setmassspaceinertiatensor:[22,3],handler:[23,11],avail:[0,26,17,18,3,29,5,24,15,8,9,10,20,22,13,30,14,32],echannel_tire_lat_slip:[3,13],nbsolverbodi:22,mnbconvex:25,getconcretetypenam:[2,11],onjointbreak:1,getactiveactor:22,modif:4,forinternalus:1,centreofmass:3,getglobalpos:[22,13,11,18],now:[28,0,17,18,3,5,24,8,9,10,11,26,22,13,14,32],eno_block:[13,12],pxplane:11,nor:[6,9,1,10],skin:[9,12],purgecontrol:9,link:[3,17,18,29,8,24,25,28,22,32],rest:[3,18,1,22,26,32],classic:[22,16],skinwidth:[8,10],interpenetr:32,wheelradiu:3,server:23,ensur:[0,5,18,3,1,26,15,22,29,25,11,20,28,13,14,32],pxfilterobjecttyp:29,newbound:18,destructor:[1,25],mdampingratezerothrottleclutchengag:3,robot:[28,16,30],non:[3,5,2,18,29,1,24,8,9,10,20,22,13,14,31,32],enodr:13,drop:[0,5,18,3,1,23,20,32],physxcor:11,shapeb:[10,25],shapea:[10,25],width:12,adjac:[17,18],green:[9,26],ecct_user_defined_rid:9,upright:[22,18],theori:[6,3,1],inact:0,addforc:[22,0,13],geompos:15,pxrigidbodyflag:[22,13,32],nbrow:[5,18],fseek:25,collision_flag_ground:3,getsweepqueryresultbuff:3,batchhead:22,minheight:5,over:[28,5,32],real:[3,16,17,18,22,23,9,25,28,32],island:[22,5,32],border:18,solvertyp:[22,13],move:[4,5,32],read:[0,17,2,22,23,24,26,13,32],maintain:[3,16,1,22,9,25,11,28,31],filterdata:[3,29,10,31],pxscenequeryupdatemod:[8,4,12],einternal_error:11,densiti:[22,3,10,31,18],buffers:[15,31,32],sim:[4,12],rear:3,removebroadphaseregion:29,advers:20,pxprocesspxbasecallback:[10,2],createarticul:28,mnbvert:18,assess:10,aheightfieldactor:18,pxhitcallback:[10,31],extrem:[3,20,5,32,15],least:[3,5,18,1,22,17,14,32],spread:3,getwheelrotationspe:3,sinc:[0,16,5,18,1,7,22,23,9,10,11,26,13,31,25,14,17,32],pxps3configparam:13,threshold:[22,3,1,32,28],pxcontrollerflag:13,parent:[28,29,1],nbvelocityiter:22,phase:[4,28],immedi:[18,4,9,12,13,32],pxvehicleantirollbar:12,aid:[3,13],getinboundjointdof:28,centimet:[3,11,32],perform:[4,11],pxerrorcallback:[10,11],remain:[3,29,18,15,1,22,9,11,28,31,32],swap:[0,31],decad:9,perfectli:[0,3,9,26,28,32],setcontactoffset:[5,10,32],moi:3,eabort:11,drawwalldec:31,air:[3,13],system:[4,32,11,28],larg:[3,16,5,18,15,24,29,1,21,7,22,9,10,11,20,28,13,25,31,17,32],"abstract":[13,11,26],him:9,corner:[15,9,5,12],gfoundat:[23,24,20],appropri:[3,5,1,11,26,32],pre:[0,2,18,8,10,11,13,25,31],getshap:[29,18],xmlreader:2,max:[3,29,8,25,28,31],infinit:[15,17,1,22,9,32],evelocti:28,pxregisterlegacyheightfield:14,simultan:[3,1,29,25,26,13,32],harder:3,setvisualizationcullingbox:7,mac:25,pxvec:18,samplebridgesset:9,getrigiddynamicactor:3,mai:[3,2,1,9,10,11,13,14,16,17,18,6,24,26,32,0,29,5,25,15,19,22,20,28,30,31],unaccept:[1,10],px_max_num_wheel:13,subtl:32,elock_linear_z:22,platform:[22,2,18,5,8,9,10,11,27,30],plagu:9,sethalfforwardext:9,pxarticulationcach:4,yield:28,criteria:28,effort:[3,9,32],sluggish:12,amount:[0,5,18,3,29,1,21,7,22,9,10,17,20,15,32],rendercapsuleactor:18,disc:1,from:[15,16,5,2,18,4,1,6,9,20,11,12,27,28,32],legal:[0,3,22,10,26,28,32],itself:[0,3,23,9,10,32],pxconstraintinfo:1,larger:[3,5,18,19,1,22,28,13,32],dist:15,physxvisualdebuggersdk:30,disp:9,overwrit:26,meshcookinghint:[8,5,14,18],edisable_clean_mesh:[14,18],sai:[3,29,5,22,9,10,25],much:[0,5,18,1,22,9,10,17,12,29,25,32],basetask:12,san:9,interlud:3,setinvinertiascale0:22,wherea:22,revers:[3,26,18,15],revert:3,tilt:22,have:[3,1,7,9,10,11,13,14,16,17,18,24,20,26,32,0,29,5,8,15,21,22,25,28,31],think:[3,9],snippetvehiclenodr:12,inherit:[2,18,1,10,11,13],sap:[29,20],contactstreamcapac:20,sat:[14,32],setgroupcollisionflag:10,glass:15,etank_wheel_6th_from_front_left:13,shaderdata:3,pxbatchqueryprefiltershad:31,freed:[0,3],pxvehicle4wenable3wtadpolemod:[3,13],pxvehiclecompon:3,properti:[29,2,28,4,1,7,10,12,20,32],wai:[3,1,9,10,11,13,14,17,18,6,26,27,32,0,29,5,15,22,23,25,28,30,31],heavier:[1,32],toi:[22,32],cylindr:[3,1],enumtyp:2,sign:[24,5],templat:[10,2,14],pxvehiclegearsdata:12,unnecessari:[2,26],achiev:[3,5,2,18,29,1,26,22,24,10,20,13,25,32],within:[0,16,5,18,3,29,1,26,22,9,25,11,20,28,13,30,31,32],virtual:[0,17,2,1,22,23,24,10,11,26,13,31],coefficientmatrixs:28,especi:[3,5,19,29,26,13,30,31,32],pxbroadphasecallback:[29,10],refit:31,pxclothfabriccook:13,element:[3,5,11],segment:[15,18],clutch:12,swept:[3,13,31,15],where:[3,2,1,7,9,10,11,13,16,18,26,32,0,29,5,15,19,22,25,28,30,31],strictli:[3,9],hierarchi:[11,18,12],emtd:[15,5],getdata:18,answer:23,setwheeldata:3,homogen:11,test:11,mutual:1,upward:[3,9],nutshel:32,retain:[22,6],pxvehiclepostupd:3,result:[15,5,18,28,4,29,1,22,9,10,11,12,20,13,30,14,17,32],nbtouch:[13,31],nbsolverarticul:22,drivesimdata:3,overlap:[4,32],etank_wheel_3rd_from_front_left:13,impos:[0,3],rang:[3,16,5,2,18,15,1,22,10,28,13,31,32],gcarpadsmoothingdata:3,balanc:[3,13,32,26],empti:[2,29,22,9,13,14],download:23,unimport:5,equat:[3,18,1,22,11,31],materialindex1:[5,18],ideal:[29,3,9,1],contact:4,torqu:[28,4,1,12],emit:[20,18,32],approxim:[3,18,15,5,22,20,11,13,32],getinternalfaceindic:32,pxbroadphasecap:29,granular:26,registerdeletionlistenerobject:13,e9th_from_front_right:13,getsuspensionforc:[3,13],exempt:29,getpolygondata:18,practic:[4,32,28],isreleas:14,tank:12,pxconvexflag:[5,18,20],raii:26,myob:13,region:[4,15,12],mesh:[4,11],unambigu:3,chang:[16,5,4,1,9,11,12,28,32],localframe1:1,localframe0:1,gameplai:[3,9],cast:4,caterpillar:3,mitsubishi:3,transmit:23,your:[22,5,18,1,24,7,8,23,9,10,11,20,26,29,30,14,31],gimbal:[28,1],watch:[3,23],appar:32,eimpuls:22,secur:12,margin:[3,15],mminestoexplod:32,eaccel_control:13,abil:[3,1],row:[3,5,18,1,22,11,28],forget:[3,24],recent:[22,5,18],nx_default_sleep_ang_vel_squar:10,maxiter:28,rope:5,mfoundat:24,slower:[22,3,9,11],obsolet:14,edeprecated_body_joint_group:8,localfram:1,ccdthreshold:32,lateralslip:13,nx_max_angular_veloc:10,collid:[0,18,3,29,22,9,10,32],forbidden:0,numprimsperleaf:8,getanyhit:13,anchor:[13,1],setparam:18,setqueryfilterdata:[3,31],featur:[16,5,18,4,1,9,20,12,28,32],etg:22,einitial_overlap:13,fulfil:[3,28],etc:[0,16,5,18,3,29,1,21,22,9,20,27,28,13,30,14,32],eanalog_input_brak:[3,13],gpudispatch:26,pose0:[22,15],pose1:[22,15],deleg:11,pxscenequeryfilt:13,retest:3,drivetargetveloc:28,restdistacnc:32,richer:[8,14],srcasset:25,eexclude_kinematics_from_active_actor:22,getnbloopjoint:28,focus:3,px_profile_start_crossthread:8,createcach:28,etank_wheel_8th_from_front_right:13,delet:[0,5,3,29,1,9,10,26,13,31],getbroadphaseregion:29,heart:9,just:[0,5,18,3,1,24,22,9,25,11,28,29,31,32],unlockread:26,acut:5,condit:[15,5,1,6,25,26,30,32],heightscal:[5,18],strip:[24,18],crash:[30,29,5,25,26],etank_wheel_4th_from_front_left:13,readi:[22,3,26],what:[4,9,5],getlin:7,readm:2,etank_wheel_front_right:13,advis:[6,3,2],pxobstaclecontext:[9,13],correctli:[22,3,9,26,23],imperfect:[3,9],techniqu:[3,28],elev:[3,9],setgearup:3,sourc:[3,5,2,18,1,6,8,29,10,11,27,25],maximum:[0,5,18,3,29,1,15,22,9,10,20,28,13,30,31,32],explor:[27,21],nx_timestep_fix:10,enclos:[15,31,18],pxprofilezon:8,npc:9,pxregisterheightfield:[24,14,18],nx_ignore_pair:10,standalon:[8,14,18],surpris:0,explod:32,emine_link:29,coher:[3,31,26],setdigitalsteerright:3,convexdescpolygon:18,outward:[3,15],collis:4,getdiffdata:3,settransform:22,setangulardamp:22,assert:4,holder:6,pxbounds3:[15,31,18],customclass:2,physx_:30,hazard:26,sqrt:[3,18],either:[3,1,9,10,13,14,16,18,24,26,32,0,29,5,8,15,22,23,25,28,30,31],pxconstraintvisu:1,springi:1,subset:[18,1,24,28,30,31],pxactor:[17,29,22,9,10,11,13,25,14,32],ith:18,pxbvhstructur:[4,12],meshdesc:[13,18],pxgeometryhold:4,exhibit:[28,20],ecrab:29,elarge_triangl:18,endif:18,anb:5,eany_hit:[13,12],similar:[3,5,18,15,1,22,9,10,28,31],registercustomclassrepxseri:2,tune:4,brake:[3,1],last:[3,17,15,8,9,22,13,14,31,32],esuspforc:13,setmassandupdateinertia:5,substitut:[6,10],etank_wheel_7th_from_front_right:13,greater:[3,17,18,15,9,32],mytrimesh:18,rigidli:1,usererrorcallback:11,conceiv:3,pxextens:[4,15,12],reproduc:[6,25],terrainwidth:5,stair:9,cascad:2,thank:9,elimit_en:1,minimis:3,pxvehicledrivegraphchannel:13,actuat:[28,16,12],efront_left:[3,13],locat:[0,3,5,22,9,25,11,28,32,19],argument:[0,29,18,3,1,15,11,13,14,31],eprecise_sweep:[15,13],sleep:4,pxrigidactorext:[3,29,18,5,8,10,11,28,22,25,14,31],pxdefaultcpudispatchercr:[20,26],repeat:[3,5],coeffici:[22,28,10],axl:3,snowman:22,epsilon:32,axi:[15,29,18,4,1,9,10,12,28,13,32],frictiontyp:13,myscen:3,mbuf:2,pxactorclientbehaviorbit:13,rapidli:3,pxscenequeryhit:[13,14],glpushmatrix:11,pxcontrollercollisionflag:[9,13],getfaceindex0:32,getfaceindex1:32,wheeltodis:3,keyhol:32,pxcreatepvd:[23,24],pxcontrollernonwalkablemod:[9,13],unpack:[28,16,18],usual:[3,24,5,15,1,21,22,23,9,25,26,28,31,32],pxgetgaussmapvertexlimitforplatform:[8,14],aligndata:2,respond:3,pxhalfpi:18,time:[4,5,32,11,28],orient:[3,16,18,15,1,28],mradiu:3,otheractor:32,setdampingcoeffici:13,revolut:[28,4,12],setdigitalsteerleft:3,intuit:[3,1,31],max_num_surface_typ:3,grow:[3,20],baseid:25,attachshap:[29,25,11],pointfromuv:15,pair:[28,32],elong:3,correspond:[3,17,2,18,15,1,26,7,8,24,10,11,20,28,13,30,25,14,31,19],strength:[3,1,28],more:[2,4,1,9,10,11,12,13,14,16,17,18,24,20,26,32,0,29,5,15,21,22,25,28,31],stopsimul:26,eventnam:23,reader:[16,26],"4x4":10,sound:[3,9],formerli:[13,10],worri:32,pxrigiddynamicflag:29,guidanc:14,maxhit:[15,13],pxshape:[3,29,18,15,5,8,9,10,11,22,13,25,31,32],jitter:32,"while":[0,16,5,18,3,29,1,21,7,22,9,10,17,26,27,28,13,25,31,32],deseri:[13,29,2,11,12],eall:[23,24,28],charact:[4,28],fetchcollis:0,mdampingr:3,gettwistangl:8,"class":4,physxsampl:18,high:[3,16,29,1,22,20,30,31,32],linearmotionveloc:22,eheightfield:29,pxfilterobjectistrigg:[29,10],drivabl:12,nbvert:18,midphas:[31,18],reclaim:[0,5],pxbase:[17,2,1,25,11,13,14],mayb:[9,5,21],gone:[8,10],setsphericaljointflag:1,adapt:[10,2],nrow:28,alreadi:[3,5,18,1,23,9,25,26,27,29,31],thing:[0,3,5,22,9,25,32],setanalogst:3,doc:3,content:[4,5,24,9,25,12,27,26],computejointforc:28,esuppress_eager_scene_query_refit:8,pxtriggerpair:29,pcm:4,root:[27,28,1,2,30],legaci:[3,8,9,20,22,14,32],group:[15,29,22,10,13,31],pxpi:[3,1,18],pxdefaultfileoutputstream:[13,25],emploi:[3,13,26],string:[25,11],meet:[3,5,26,15],tangenti:[28,32],materialindex0:[5,18],museautogear:3,ehandbrake_control:13,squish:22,radiu:[3,18,1,9,10,13],snippetseri:12,enorm:[15,31],userraycasthitbuff:13,pxforcemod:22,createvehicleactor:3,pxscene:32,ship:10,wheelcoord:3,pxu32:[28,0,5,2,18,3,29,1,24,7,22,9,10,15,20,26,13,25,31,32],neglig:[6,14],organ:13,pictur:9,merg:[8,13,12],elock_angular_x:22,took:5,smoke:3,exert:22,cheap:29,toler:[3,18,1,22,24,11],tool:[8,16,2,7],captur:[29,31],page:16,troubl:[9,5,32,19],chassismass:3,elock_angular_i:22,built:[16,4,5,8,23,9,25,12,27,30,31,32],pxcollectforexportscen:13,eanalog_input_thrust_left:13,setsimulationeventcallback:0,soon:[15,9,29],surfacetyp:3,interpol:[1,3,5],efix_bas:28,apart:[0,18,32],thei:[0,5,3,29,1,15,22,9,10,11,26,28,13,31,25,14,17,32],weight:3,spec:5,reinterpret_cast:[1,32],commoninit:28,futur:[3,29,22,9,28,13,14],sequenc:[5,4,1,22,17,11,12],bodyatoworld:1,architectur:[5,26],acapsuleshap:[10,18],them:[0,16,5,18,3,29,1,15,22,23,9,10,11,26,13,30,25,31,32],hitflag:15,leg:[9,1],pxparticlebas:13,sequenti:[0,3],given:[0,5,18,3,1,26,15,22,29,25,20,28,13,31,32],highest:[3,1],highpeakpress:3,isrigidactor:14,dot:[15,5,1,8,10,13,14],pxserialobjectid:[13,25],benefici:[0,30],toolkit:18,moment:[22,3,1,32],cannot:[0,18,3,29,22,9,10,26,13,25,14,31,32],startsimul:26,unlik:[15,16,20,22,10,28,32],quantifi:3,interfac:[0,16,17,2,4,1,7,8,24,10,11,12,28,13,25,14,31],insid:[0,18,15,29,24,10,11,3,32],pull:[3,1],gettwist:8,strcmp:2,erequire_rw_lock:26,veloc:[4,32],edeleted_actor_0:14,wheelcount:13,meaning:[3,15],shapetransform:5,notic:[6,3,1,32],aheightfieldshap:18,three:[0,16,5,2,18,3,1,22,9,25,26,29,31,32],x87:11,x86:8,pxheightfieldgeometri:[5,18],hadblockinghit:31,search:[3,31,18,15],consequenti:6,pxcomputeheightfieldpenetr:[8,15,14],steal:26,physxcommon:[11,12],pxtypeinfo:2,offset:[28,5,32],getnbcontrol:9,contactdesc:22,escal:7,obligatori:3,let:[3,16,5,18,1,22,9,10,29,32],hardcod:31,startup:[27,4,18,12],deprec:[4,13,12],nxspringanddampereffector:10,static_cast:[22,28,25,31],opportun:3,append:2,pxvehiclewheelssimdata:[13,12],addactor:[3,18,29,22,10,13,31],esteer_left_control:13,upgrad:[8,16,10,14],scale:[4,5,32,11,7],customclassrepxseri:2,trimeshid:25,welcom:[4,12],hitcount:15,prune:[29,31],snippetvehiclewheelcontactmod:3,mani:[0,5,3,29,1,21,24,9,10,11,26,13,25,31,17,32],pxtransformfromplaneequ:18,introduct:4,applydamag:31,gui:23,earth:22,skill:3,conveyor:[22,32],"return":[0,5,2,18,3,29,1,24,15,8,23,9,10,11,26,22,13,31,14,17,32],menu:[23,25],hadblock:31,middl:9,erear_right:[3,13],pxgdynamicsmemoryconfig:20,maxnbobjectsperregion:8,certainli:3,through:[28,5,11,32],binarymetadata:25,recogn:11,sethalfsideext:9,pxfilterdata:[29,13,10,32,12],repres:[0,16,5,18,3,1,22,23,9,25,11,28,29,30,31],mismatch:[3,24],asset:[22,25],proce:[0,31,18,3],pxserialobjectref:13,contactmodifycallback:32,blockdist:31,zone:[3,23],decis:[3,5],setminccdadvancecoeffici:32,unitdir:[15,31],dissip:[3,32],raycasttouchbuffers:[3,13],pxcontrollerhit:13,econstrain:9,advanc:4,uservalue0:5,uservalue1:5,enumer:[3,1,2,29,11,13],bin:[8,30],e4th_from_front_left:13,fine:[3,9,5,13],buildtriangleadjac:[5,18],physxcooking_:30,summar:9,watertight:32,demand:26,"import":[0,16,2,18,3,5,24,22,23,9,10,11,26,28,25,14,32],estim:[28,1],traction:3,shapegroup1:10,shapegroup0:10,recip:2,alongsid:27,instuct:18,"true":[28,0,17,18,3,29,1,24,15,22,23,9,10,20,26,13,30,25,31,32],eswing1:1,eswing2:1,resetfilt:[22,13,18],createbatchqueri:[3,13,31],pxtransformfromseg:18,halfsideext:9,setsubstepcount:3,vc140:[8,30],categor:5,onli:[2,5,7,9,20,11,28,30,32],pxvolumecach:13,world:[18,4,5,7,9,11,12,27,28,32],wheelconvexmesh:3,resultbuff:13,underw:13,recipgrav:3,mode:[4,5,32,30],interrupt:[6,29],complianc:28,simpler:[3,10,32,26],dispatch:[5,26],tire:[13,12],shorten:31,tempor:[4,9,16,12],ftell:25,etight_bound:[5,18],nbtri:18,pxvehicledrive4wsmoothanalograwinputsandsetanaloginput:[3,13],destroi:[16,1,24,11,28,13],fraction:22,pxsolvercontactdesc:22,extrud:[9,14],evolut:9,guid:4,nxjointdrivedesc:10,actorcollect:25,shorter:3,pxstringtabl:25,pathto30repxfil:25,setsteerangl:3,terraindata:5,build:[4,11,28],setdriv:[28,1],edeleted_actor_1:14,scenedesc:[20,32,26],finit:32,perpendicular:28,pxallocatorcallback:[0,10,2,11],inalloc:2,dash:5,eblock:[3,13,31],inde:[3,9],liabl:6,"30hz":5,untest:15,mcentrebia:3,prep:20,stale:31,pxgetlinkdata:22,resiz:[9,5,31],edisable_preprocess:1,pxreleasearticul:22,lighter:[1,32],pxtoolkit:[13,24,18],word:[9,10,11,31,32],echannel_normalised_tireload:3,enableshapeincontacttest:29,body0vel:1,pseudocod:13,incomplet:12,getsusplinedir:13,develop:[3,5,18,29,23,30],pxbvh33midphasedesc:[8,5,14,18],slide:[28,9,1,32],work:[28,0,24,5,3,29,1,21,15,8,9,10,31,11,26,22,13,30,14,17,32],createtrianglemesh:18,me485:3,pxscenequerycach:[13,14],altitud:9,wors:[28,18,26],rather:[0,5,3,1,21,15,9,17,20,28,13,30,14,31],pxgpuloadhook:[8,12],particular:[28,3,5,15,29,1,8,9,6,26,22,13,32],snippetjoint:1,maxit:15,easili:[3,8,9,20,22,13,14],dstmetadata:25,taskid:26,sse2:18,central:32,path:[22,18,15,1,8,24,25,28,13,30,31],squar:[22,3,18],fly:[9,30],efix:28,pierc:15,auto:4,ascii:25,broken:[1,26],volumegrowth:9,warn:[0,2,18,3,5,15,22,20,26,13,31],immut:[22,29,20],intro:3,triangleneighbour:18,maxim:4,pxd6motion:1,suppli:[3,1,25,18,28],ecollision_down:9,buildgrbdata:[5,20],pxconvexmeshdesc:18,damper:3,pxserialframework:2,mmaxomega:3,rigidbodymass:3,px_unus:3,learn:[27,16],ebvh34:[5,18],pxconstraintdomin:13,stick:[3,9],setvisualdebuggerflag:13,must:[3,2,1,9,10,11,13,14,18,6,24,26,32,0,29,5,8,25,15,22,23,20,28,31],mnbthread:26,pxarticulationjointreducedcoordin:[8,28],latter:[3,5,25],pxscenequeryreport:13,pxsceneflag:[20,13,5,32,12],penetr:[4,32],address:[9,10,2,19],mcmoffset:3,prefiltershad:[3,31],pxmat33:[13,11],truck:3,largest:9,ralli:3,frame:[3,16,5,18,29,1,21,22,9,25,17,20,28,13,31,32],classtyp:26,statickinefilteringmod:[22,32],consult:[3,29],spin:32,automat:[28,0,29,2,18,3,1,8,23,9,25,26,27,22,13,31,32],ground:28,obvious:[3,9],pxfixedsizelookupt:3,aspect:[0,5,2,18,26],pxcreatephysicssdk:10,manifold:4,maxnbstaticshap:31,meter:[22,3,11],reconsid:22,spars:28,edeprecated_32_compat:14,pxsetmutablelinkdata:22,substeps:0,childpos:28,recreat:[28,5,25],unrealist:[3,9,5],possibl:[3,1,9,10,13,17,18,6,24,26,32,0,29,5,25,15,21,22,20,28,30,31],partak:1,cooker:[13,18],pxqueryreport:13,bodi:[4,32,11,28],immers:32,sacrific:[22,28],walkabl:4,math:4,isn:3,"5x5":18,pxrigidactor:[15,18,1,11,12,13],write:[0,17,2,3,5,24,9,25,26,28,13],restitutionmodifi:1,patchstreamcapac:20,lend:[10,32],overlapshap:31,numwheel:[3,13],amd:11,minvelocityit:22,feedback:28,intern:[4,5,28],purpos:[3,16,29,15,1,7,6,9,25,11],compon:[0,5,4,1,22,9,20,12],seem:[3,1,19],graphsizex:3,tirecontactshap:13,droop:3,pxphysic:[3,29,18,1,22,23,24,10,11,13,25,14,31,32],phors22:3,suffici:[3,15,5,22,25,11,20,28,10,31,32],callback:[4,11,32],suit:[28,25],pxusercontrollerhitreport:[9,10],ispenetr:15,cumbersom:19,land:9,stronger:[22,3,10],row1:18,row2:18,weaker:3,call:[3,2,1,9,10,11,13,14,16,17,18,24,26,32,0,29,5,8,15,21,22,23,25,28,30,31],samplebridg:9,smoothli:[3,9,1,32],kinekinefilteringmod:[22,32],below:[28,0,5,18,3,1,24,15,22,9,10,20,27,26,13,14,31,32],profilerdata:23,cct:[4,5],"60th":5,recov:[9,5,25],unoptim:5,met:[6,1,26],actora:[22,10],pxmetadataflag:2,unbound:[4,13,1,12],mem:13,efast_inertia_comput:18,dynam:[4,32],remot:[29,25,7],outermost:5,remov:[5,18,4,1,9,11,12,28],linkgeometri:28,triangular:28,createcloth:13,cab:0,pullei:1,screenshot:[27,9],concept:[22,4,16,28,12],etire_long_slip:13,shapepos:31,incur:[22,15,5,28,20],pxraycasthit:[3,13,31,15],howev:[28,0,16,5,18,3,29,1,26,6,7,22,9,10,11,15,20,13,32,25,19],seek_set:25,reject:[3,29,18],vc14win64:[8,27,30],expand:[3,9,18],qanda:3,pxhitflag:[3,15,5,8,13,14,31],gcc:8,pxserialz:13,linker:24,scene:[4,32,11,28],clientid:13,pxaddarticulationlink:22,obstacl:[4,5],almost:[3,16,29,26,23],propag:[28,3,19],off:[3,29,18,1,22,9,30,32],computedensejacobian:28,pxmeshqueri:[4,18],pxcontrol:9,sqresult:3,manual:[3,29,1,24,22,23,9,25,26,14,31],addbroadphaseregion:29,indefinit:[22,5],whether:[3,29,2,18,15,1,21,6,22,24,25,20,26,13,30,14,31,32],snippetcustomprofil:23,stretch:[13,5,18],hfshape:18,strict:[6,3],improv:[3,5,18,1,22,26,13,31,32],actor1:[13,1],actor0:[13,1],setsimulationfilterdata:[22,3,13,29],gscene:[0,20,31],postfiltershad:31,simfilterdata:3,ememori:[0,23],eis_releas:2,pxident:[3,18,5,22,25,11,13],ecct_can_ride_on_object:9,doom:9,"6dof":28,"new":[2,1,9,10,11,13,14,16,17,18,26,27,32,0,29,5,8,19,22,20,28,31],shdfnd:13,surface_type_tarmac:3,wheelmass:3,none:3,pxccthit:13,pxsetphysxcommondelayloadhook:24,door:[1,32],appguid:26,bufferoverflowoccur:15,might:[0,29,18,3,5,21,7,8,9,25,26,22,30,14,31,32],springmodifi:1,pxcontactset:32,disabl:[11,32],pxfilterobjectattribut:[29,3,13,10,32],pxvec3:[3,5,18,15,1,26,22,9,10,11,20,28,13,32,31,19],dream:3,highlight:[8,13,14],enginegraphposi:3,word2:[3,31],safeti:[3,13,15],unbatch:31,want:[5,18,1,22,29,10,11,26,31,32],bottom:[22,3,9],pxcreatecook:[24,10],dread:1,each:[3,1,9,10,11,13,14,16,17,18,26,32,0,29,5,25,15,22,20,28,30,31],getactivetransform:8,held:[1,0,5],registerdeletionlisten:13,freeli:[3,9,1],pxerrorcod:[13,11],enginegraphposx:3,hfgeom:[5,18],contactoffset:[9,10,32],rectangl:18,"\u03c9":8,setreportallocationnam:[0,11],intrus:30,contextid:23,pxconcretetyp:[25,2],pdf:3,bodyaworldoffset:1,attach:[3,1,29,25,11,28,13,31,32],px_call_conv:3,linkpos:28,projecttoa:1,design:[16,5,4,1,11,12,28,30],plateau:3,plugin:1,mmass:3,batch:[4,5,12],wheelidx:3,snippethellogrb:20,"60fp":5,eoutput_forc:1,nblink:28,older:[8,13,25,14],tricount:18,patchcount:32,incident:6,pximmediatemod:22,samplecustomgrav:[22,9],pxinputdata:[13,25],scenequeri:12,end:[0,5,3,1,15,22,9,10,29,30,32],px_delete_serializer_adapt:2,feel:[22,9,12],pxrigiddynamicactor:3,flatten:32,suspforceappcmoffset:3,predefin:[24,18,32],foundat:[16,4,8,10,11,12],actormass:3,paramet:[28,11,32],exhaust:[3,16],setcontactreportthreshold:32,total:[3,5,19,29,9,20,13,31,32],modifi:[3,5,18,15,1,22,9,20,11,26,28,13,14,31,32],getboxgeometri:18,faceindic:18,numid:25,sample_new:18,onto:[3,1,20],flatter:3,getnbobject:25,maxraycastsperexecut:13,downcast:10,filterflag:13,mcook:24,solverbodi:22,testforoverlap:18,userflipedg:5,increment:[3,16,5,22,25,11,26,10,14,31],ps3:10,ca2w:28,computelambda:28,project:4,invalid:[4,30],wrong:[3,5],extractcontact:[13,14,32],unconstrain:[22,1],registerobserv:13,daili:30,half:[15,18],pxgetphys:25,pxcontrollerfiltercallback:9,evehicle_type_drive4w:13,anew:22,html:[3,16],actor:[4,5,32,11,28],were:[0,17,2,18,3,29,15,22,10,26,28,13,25,31,32],minpositionit:22,progress:31,permit:[0,5,8,3,1,22,6,26,14,32],maxjumpheight:9,overcom:[22,3,5,28],unavoid:3,emul:[15,8,9,10,14,31],terrain:[3,5,18],wake:[8,0,13,1,22],baseflag:2,indic:[28,5],pxgetprofilercallback:20,implicit:[13,1,17],gdelayloadhook:24,blow:29,physxcook:[13,24],presenc:[13,5,26],diagnos:5,regardless:[18,29,22,9,11,13,31],merchant:6,pxinitextens:[24,10],"boolean":[3,10,26,31,15],etank_wheel_4th_from_front_right:13,miscellan:20,createcollect:[13,25],"function":[2,18,4,5,9,11,28,32],px_delete_repx_seri:2,smallest:3,network:[24,25,12],forward:[0,17,5,9,12,28],relat:[3,29,15,19,22,9,10,28,13,25,31,32],nqueri:13,entiti:[9,29,16],pxgetalllinkdata:22,impulsiveforc:22,most:[3,16,5,18,15,29,1,22,23,9,25,11,27,28,13,30,31,32],triangul:18,previou:[3,5,8,25,22,13,14,31,32],rev:3,mwidth:3,usegeodesicteth:13,pink:3,rcvd:3,rel:[3,5,18,1,22,25,20,28,32],variant:[22,2,18],mestimateiter:3,eerror:28,px_min_heightfield_y_scal:5,nbcol:18,dll:[16,4,8,20,12,30],safe:[0,5,3,1,9,11,26,29,32],nxm:28,prismat:[28,4,12],exit:[0,15],extradatastreams:32,rotat:[18,1,22,9,10,11,12,28],pxclothstretchconfig:13,anatom:[28,1],substep:[4,5,10,32,12],jointveloc:28,pxscenequeryfilterflag:13,ecommit_disabled_build_en:31,caus:[0,5,32,3,1,21,6,22,29,25,26,28,13,30,31,19],insert:[4,32],term:[3,5,18,1,28,32],flag:[28,32],soft:32,ediff_type_ls_4wd:3,mask:[9,29],against:[2,18,5,9,20,11,32],heightfieldgeom:15,penal:3,effici:[3,18,29,7,22,9,25,26,31,32],round:[3,9,5,15],addcollisioncapsul:13,find:[15,29,2,18,5,22,25,11,30,31,32],subsystem:[24,26],translatepxbas:2,implicitli:[13,1,25],queri:[4,11],question:[22,3,16,10,23],multipl:[15,16,5,18,4,1,22,29,10,11,12,28,13,17,32],mmaxdroop:3,mass:[18,4,5,11,12,28,32],fluiditi:32,nxuseralloc:10,epostfilt:12,pxrigiddynamiclockflag:22,pxvehiclesetbasisvector:3,createcustomclass:2,linux:[8,27,25,20],config:[8,13],ba2w:1,gaussmaplimit:[8,5,14],underli:[9,1],five:3,pxvehiclegraphtyp:13,first:[15,5,2,18,4,1,7,22,9,10,11,12,28,29,31,32],pxdeserializationcontext:2,pxscenequeryext:14,pleas:[3,5,18,19,1,21,7,8,24,10,22,13,25,14,31,32],fewer:[31,32],puttosleep:[22,13],exclus:[5,2,1,8,25,26],pxoverlapcallback:[13,31],add:[3,5,2,1,26,22,29,25,20,28,13,30,31,32],pxsimulationeventcallback:[0,1,29,22,10,26,14,32],rendermateri:[18,26],filtershaderdata:[10,31],fatalerror:[22,24,26],gnbqueryhitsperwheel:3,construct:[3,18,1,22,11,28,13],pvd_host:[23,24],pxconstraintproject:1,mmaxfilterednormalisedload:3,background:[25,26],exclud:[22,31],plu:[2,11],max_num_tire_typ:3,suspspringforc:13,concess:5,tether:13,halfext:13,setparentpos:28,getupdirect:9,updirect:[3,9],inform:[4,11],efast:13,spatial:[3,1,29,11,14,31],heightfieldpos:15,childattach:28,disguis:3,outweigh:26,els:[22,3,13,10,31],imaginari:28,uncontrol:3,compound:[5,32],velocitytarget:1,screen:3,option:[15,16,5,2,18,28,4,29,1,7,22,9,25,12,27,20,13,14,31,32],would:[0,5,3,29,1,15,22,9,10,28,13,25,14,32],guarante:[3,17,18,15,5,22,25,26,28,31,32],regener:9,myfiltershad:3,attempt:[3,5,15,1,9,20,26,29,32],closestpoint:15,physxextens:[3,2,1,9,25,13,14],edisable_mesh_valid:18,protect:[11,26],internalfaceindex1:32,pxcreaterepxobject:2,obtain:[15,5,18,1,22,24,25,11,26,28,14],corrupt:26,pxvehicledifferentialnw:3,setkinematictarget:[22,0,1],vnext:1,emax_nb_wheel_channel:13,creation:[5,18,1,9,11,12],plan:23,linear0:1,plai:[22,3,9,1,29],global:[3,5,18,29,1,24,7,22,9,10,20,13,25,31],leaf:18,oppos:[8,24,1,25],lead:[3,16,5,22,9,25,26,28,31,32],linear1:1,snapshot:[3,25,28],mbatch:13,field:[28,9,11],processtouch:[10,31],look:[0,5,2,3,1,21,9,10,17,29,31],funtion:13,experiment:3,othercompletiontask:0,yet:[1,10,25],ascen:18,actormemory128:25,old:[8,13,25,14,18],loos:[5,18],snrepxserializerimpl:2,worthi:0,px_def_bin_metadata_extra_item:2,getdof:28,block:[5,18,4,29,1,9,17,12,13],ignor:[3,29,15,1,22,9,25,11,26,13,14],escene_query_shap:[9,29],setstabilizationthreshold:5,termin:[28,13,24,32],ehol:18,excess:[3,9],nxusernotifi:10,gdefaultallocatorcallback:24,pxvehicletireloadfilterdata:12,eabp:[8,29,5],pxvisualizationparamet:[8,1,7],efirst_user_extens:2,higher:[28,5,30],cookconvexmesh:18,veri:[28,32],disadvantag:3,vertexlimit:18,submitbatch:13,manner:[3,9,18],experi:[3,5],furthermor:[0,13,26,16,7],edriv:13,color:3,pxmaterialflag:22,removeactor:22,invok:[3,9,10,31],nv_use_debug_wincrt:30,degtorad:9,org:3,pxvehiclewheel:[3,13],close:[3,18,15,28,31,32],explain:[3,18,26],computeinteract:9,error:4,overlapaabbshap:10,pxmeshgeometryflag:[15,18],setswinglimiten:28,validateconvexmesh:18,terraindesc:5,pathtonewrepxfil:25,demonstr:[0,18,3,1,22,9,25,20,13,32],ediscrete_respons:13,suffix:30,friction:[4,9,32,12],belt:[22,32],contactcach:22,express:[6,3,9,25],pxoverlapbuff:[13,31],setgroup:10,awkward:18,releaseexclusiveshap:14,python:8,gvehicleinputdata:3,contactcount:32,eno_boundary_edg:18,beyond:[29,1,8,5,12,28],prevent:[0,5,3,1,9,11,26,31,32],pxvehicledifferential4wdata:12,shift:[4,1,32,18,12],sln:27,area:[18,19,7,9,26,31],aren:32,could:[3,2,18,15,29,21,22,9,10,28,25,31,32],pxvehicledrivesimdatanw:3,convexmemory128:25,egpu:20,keep:[28,3,18,19,1,21,22,9,25,11,20,26,14,31,32],physxgpu_:30,getmass:3,accessor:[22,13],closest:[1,15,5,12],arbitrarili:[15,1],like:[0,5,2,32,18,3,29,1,22,9,10,11,28,13,30,25,31,17,19],echeck_zero_area_triangl:18,minim:[0,5,15,1,8,9,26,22,29,30,31],temporari:[0,5,32,31,20],natur:[0,9,1,3],nxactor:10,clarifi:3,pxmateri:[3,18,29,22,25,11],tall:32,consid:32,getlinearlimit:[8,1],physxcommon_x64_renam:24,ratio:[22,3,1,28],etank_wheel_7th_from_front_left:13,heightsampl:5,emax_num_vehicle_typ:13,anti:12,routin:[22,10,18],necessarili:[9,32],cudamanag:8,onreleas:13,getforc:1,equantize_input:18,concret:[1,25,11,31],comment:22,pxactorflag:[22,0,29,7],lost:[18,20,22,23,25,13,32],manipul:[22,10,26],loss:[6,3],command:[8,27,25,30],pxscenelock:26,msize:2,pxi16:5,same:[3,1,9,10,11,13,14,16,18,26,32,0,29,5,8,25,15,22,23,20,28,30,31],approach:[0,5,18,3,1,22,9,10,28,29,25,14,32],thought:[3,5],accord:[16,1,22,26,31,32],lose:[3,29],addarticul:28,differ:4,settireforceshaderfunct:3,capsul:5,rais:[0,29,5,21,22,20,13,14,32],suddenli:[9,5,21],characterist:[1,3,5,31],accordingli:[3,14,19],standard:[0,3,1,11,26,28],pxqueryhit:[13,14],profound:3,setminlongslipdenomin:3,customtypeextensionapi:2,highlimit:28,sixtieth:17,taken:[3,1,22,9,20,26],scalar:[28,32],geomtosweep:15,mmaxsteer:3,medium:26,getindexbuff:18,pxgetlinkarticul:22,oncontrollerhit:9,unwant:25,pool:[0,5,26],difficult:[3,9,5,10,20],don:3,ithread:13,getcontactpoint:32,setwheelshapemap:[3,13],disableshapeincontacttest:29,dof:[28,1],introduc:[3,17,18,29,5,8,9,28,22,13,14,32],aabb:[15,5,18,29,9,31],doe:[0,16,5,18,28,29,1,26,7,8,9,25,11,12,22,13,32,14,31,20],edrive4w:13,meanwhil:22,bottl:9,api:4,boxgeom:18,librari:[0,16,2,18,15,1,24,8,9,10,11,26,13,30,25,14,31,19],mdrivesimdata:3,geometr:[3,18,1,10,13,31],hfactor:18,poor:[3,9,32],samples1:18,sphere:[9,5,20],win64:27,commonli:3,"try":[3,5,1,21,9,26],nx_dyn_frict_sc:10,essenti:[3,10],linearli:3,pxscenedesc:[0,29,5,26,8,10,11,20,22,13,14,31,32],quantiti:[15,1],violat:[28,1],tri:[1,15,5,18,23],snippetdelayloadhook:24,misus:22,trg:3,getgeometri:[10,18],fuso:3,waitforquit:13,echannel_accel_control:[3,13],abl:[28,0,26,5,18,3,29,1,24,15,8,9,25,20,22,13,14,32],samplesm:18,pxrenderbuff:7,rigiddynam:3,pxcollet:25,occasion:[31,26],persist:4,pxcreatefound:[8,24,10,14],setbreakforc:1,pxscenflag:10,registerseri:2,swing1:[28,1],echannel_brake_control:[3,13],setuptanksimdata:3,embed:2,multipli:[22,3,9,5,11],twitchi:[3,1],concern:[15,9,25,14,26],gettiredrivablesurfaceshap:13,windmil:22,maxsweepsperexecut:13,mycontactmodif:32,incorrect:[22,15,1,31,30],px_max_f32:[1,3,5,28],impact:[15,5,29,1,7,22,23,9,13,31,32],ppu:13,nextitemset:32,eenable_pcm:[5,32,14,20],counter:[22,3,13],nxshapedesc:10,convexvert:18,d3dmatrix:11,physxcommon_:30,stai:[22,29,16,10],sdkroot:11,pxi32:13,pxvec2:11,backward:[3,13,11,15],pxvec4:11,validatetrianglemesh:18,naturalfrequ:3,unregisterrepxseri:2,"32bit":18,submarin:[29,32],settireloadfilterdata:3,linvel:22,detach:[23,29,11],eenable_speculative_ccd:32,potenti:[3,29,15,5,22,23,9,25,26,13,31,32],amateri:18,reciproc:3,inputdata:25,tini:[9,32],rearrang:3,issleep:[22,13,10],throughout:[3,28],damp:[3,1,8,10,28,22,13],angularimpuls:32,outorderedconstraintdesc:22,eclutch_slip:13,smooth:[3,1,17,18,32],impuls:[22,28,9,1,32],gener:[4,5,32,11,28],stabl:[3,5,1,11,28,32],pxboxgeometri:[22,13,10,18],reorgan:13,pxconstraintalloc:22,setinverseinertiascale0:13,runprofil:26,primari:[0,25,27,28,30,32],reconnect:12,lifo:26,echannel_norm_tire_lat_forc:[3,13],setu32collisionflag:10,vert:[5,18],eforc:22,etank_wheel_5th_from_front_left:13,outstream:25,onccdcontactmodifi:32,pxactivetransform:8,desir:[0,5,18,3,1,8,9,28,22,29,31,32],px_foundation_vers:[8,14],thread:[4,11,32],simul:[4,32,11,28],commensur:3,therefor:[0,5,2,18,3,1,22,23,29,10,20,28,25,31,32],"33m":5,albeit:3,setnam:25,adjust:[3,5,19,1,20,11,13,32],aheightfield:18,carsim:3,pxarticulationjointtyp:28,made:[0,16,5,18,3,29,1,9,11,26,28,13,31,32],hfsampl:5,pxuserrefer:13,pxd6drive:1,fail:[3,5,18,1,24,22,9,25,26,32],pxpruningstructur:[4,5,14,12],pvdclient:12,convexinputdata:25,edisable_active_edges_precomput:[5,18],registri:[25,2],innov:16,app:[3,17,30],mcamberstiffnessperunitgrav:[3,13],busi:6,tunnel:[8,9,18,32],srcwheel:3,px_check:[0,2],hash_map:10,declar:[29,13,1],outlin:[28,5],spike:[5,21],pxpairflag:[3,29,21,8,10,26,13,32],microsoft:[8,30],e3rd_from_front_left:13,pxgeometri:[15,18,29,22,10,11,31],pxdefaultsimulationfiltershad:[29,10,20],osx:27,thick:[14,18],pxspheregeometri:[29,13,10,25,18],sm3:20,discard:[1,10,31,20],mgeardownpress:3,ride:[3,9],resolverefer:2,enableshapeinscenequerytest:29,pxshapeext:[13,14,18],unscal:5,customcreatephys:24,numtrisperleaf:[8,5,18],anticip:3,per:[28,0,5,18,3,29,1,26,8,9,10,17,20,22,13,31,32],addtorqu:[22,0,13],outputstream:13,aconvexmesh:18,snippetvehiclescal:12,extend:[4,9],pxcctnonwalkablemod:13,also:[3,2,1,9,10,11,13,16,17,18,26,32,0,29,5,15,19,22,23,25,28,30,31],etank_wheel_2nd_from_front_right:13,rudimentari:16,fpu:[9,11],expect:[3,29,18,5,21,22,24,10,25,31,32],disappear:5,customtypemetadataobject:2,disjoint:5,extent:[29,3,9,1,18],via:[0,3,1,26,7,10,11,15,13,31],tip:9,extens:[15,16,2,4,1,9,20,11,12,28,30,32],nonphys:1,matrix:[22,28,10,11],collision_flag_ground_against:3,files:25,massscal:32,mbatchcomplet:13,maxheight:5,setdigitalaccel:3,mnbactor:25,point:[5,7,9,11,28,32],sensit:[29,17,11],procedur:[3,25],translateptr:2,pxscenequeryflag:[13,14],smp:5,erear_right_wheel:13,nxutillib:12,unevenli:3,gettirefrict:[3,13],hullpolygon:18,activ:[5,4,1,8,9,10,12,20,13,32],encapsul:[8,29,5,18],deal:[9,5,25,17,32],transpar:[15,13],tireforceappcmoffset:3,restart:15,how:[15,16,5,2,18,28,29,1,22,9,10,17,12,20,13,14,32],dead:1,tend:[9,25],acycl:1,bqthread:13,well:[28,32],union:[1,18],refus:12,patch:[22,3,25,26,20],focusvehicl:3,releaseobject:[25,14],setdigitalbrak:3,onwak:[22,0,26],externalrefer:1,hamper:3,customtypepropertyinfonam:2,px_float_point_precise_math:30,emesh_multipl:15,pendulum:3,arrang:[13,21,18,26],eestim:3,among:[0,3,1,22,27,13],variabl:[3,16,29,5,23,9,13,32],collisionflag:9,pairhead:[0,32],setradiu:9,pxpairfilteringmod:5,becaus:[28,0,16,5,18,3,1,26,8,9,10,11,20,22,29,30,25,32],emax_num_engine_channel:[3,13],port:[23,9,10],pxrepxinstantiationarg:2,invest:11,game:[0,16,29,3,5,9,25,26,27,28,32,19],enhanc:[4,12],computevelocitydeltafromimpuls:[22,32],less:[3,5,18,15,1,21,22,9,25,20,26,32],shiftorigin:19,ejoint_fram:1,bb2w:1,easi:[3,16,9,24,25,11,27,32],testccdfiltershad:32,retarget:2,edynamic_aabb_tre:12,inflat:[15,5,10,14,32],enforc:[3,13,1,28],resttireload:3,mfrictionvsslipgraph:3,convexdesc:18,x64:8,mratio:3,hitinfo:15,finish:[0,17,3,22,26,31],compress:[3,13,18,32],pxsolveconstraint:22,intempbuff:2,street:[3,9],pxcontactmodifypair:32,enotify_touch_persist:8,amaterialarrai:18,getqueryresultbuffers:3,precomput:[5,31,18],knowledg:[22,3,28],pxserial:[3,13,25,2],contigu:3,pxcollectionext:[13,25,14],pxserializerdefaultadapt:2,depth:4,pxhullpolygon:18,requisit:2,swing:[3,1,28],nasti:1,seriou:[29,11],pxfeatherstonearticulationjointdata:22,mminnormalisedload:3,nbactiveactor:22,querymemori:3,px_profile_zon:8,emesh_both_sid:[15,14],pxconfig:30,pxserializ:13,"const":[3,2,1,7,9,10,11,13,14,18,24,26,32,0,29,5,15,19,22,23,28,31],redistribut:4,immov:[28,1],addforceatpo:[22,10],text:[25,7],isparticlesystem:14,oncontactmodifi:32,invisiblewallheight:9,susplinedir:13,run:[28,0,16,5,2,3,1,21,26,7,8,29,25,17,20,27,22,13,30,31,32],meshshap:29,mytrimeshshap:18,fidel:0,behavior:[4,11],emax_nb_drivetank_analog_input:13,pxfrictiontyp:13,createcollectionfrombinari:[13,25],gettiredrivablesurfacecontactpoint:13,defici:10,familiar:[28,1],collectionb:25,setscenequeryfilterdata:[3,13],save:[3,29,2,18,5,22,24,10,13,25,31],gdispatch:20,eptr:2,globalpos:[22,32],newsprungmass:3,extern:[15,22,9,25,12,28,13],pxsweepbuff:[13,31],scienc:3,geom0:[22,15],eplane_shift:18,createrigidstat:[22,5],stream:32,px_serial_align:2,efront_right:[3,13],pxdefaultpvdfiletransportcr:23,setcontactmodifycallback:32,circl:[3,18],cb2w:28,travers:[1,31],ekil:[29,5],place:[15,16,5,29,1,22,9,25,11,12,27,28,13,30,32],doublesid:15,split:[4,20,1,18,12],repx:4,getsimulationfilterdata:13,wrap:26,unlock:[28,12],when:[28,11,32],physxfoundation_:[8,30],inread:2,slightli:[3,5,18,29,1,9,10,28,13,32],dramat:22,addforceatlocalpo:22,duplic:[3,18],complex:[0,16,5,3,1,22,23,9,17,20,27,32],lesser:18,lowest:[3,26],e2nd_from_front_left:13,complet:[15,17,4,5,9,12,13,32],compil:[29,5,8,25,11,27,13,30,14],incorpor:1,repxidtorepxobjectmap:13,pxdefaultmemoryinputdata:18,samplesubmarinefiltershad:29,overlapcapsuleshap:10,jointforc:28,divert:3,kepler:20,pole:22,numcol:18,eremoved_actor_1:14,gettolerancesscal:[20,26],integr:[22,16,18,1,7,8,10,11,12,28,13,14],pxmax:5,computelinearangularimpuls:32,diverg:5,updatest:26,x86_32:30,ecompute_convex:18,pointer:[3,29,2,18,1,8,10,11,13,14,31,32],found:[0,29,2,3,1,26,15,9,25,11,20,27,28,13,31],analogu:2,accident:21,pxlocationhit:13,pxcreatephys:[0,18,23,24,10,11,14],directli:[3,24,5,18,28,1,21,7,8,9,10,11,26,22,13,25,31,32],customtypeautogeneratedmetadataobject:2,manoeuvr:3,wakecountervalu:22,suggest:[3,18],pxpruningstructuretyp:[4,14,12],quickli:[29,5,31,12],chassismateri:3,myactor:[29,10,11,18],rustl:31,togeth:[3,16,29,15,1,22,25,28,31,32],bundl:30,inspect:[3,16,25,23],nativ:[28,20],side:[0,18,3,4,20,15,22,10,11,12,27,25],pxshare:[14,12],hierarch:[17,31],mmaxnormalisedload:3,unlockwrit:26,thereaft:[11,31],whose:[3,29,18,15,1,22,9,11,26,28,32],maxvert:18,pxconstraintshadert:1,maco:25,pxregisterimmediatearticul:22,samplenorthpol:[9,18],head:22,mymateri:[29,10,18],motion:[3,5,18,1,22,9,17,28,29,32],detail:[2,1,10,11,12,13,14,16,17,18,24,26,32,0,29,5,15,19,21,22,25,31],costli:29,wheelraycastprefilt:3,pxphysicsapi:[10,30],degener:31,pxarticulationmot:28,restdist:32,xmlwriter:2,awak:[22,1],past:[9,5,31],eeasi:9,aconvexactor:18,etank_wheel_8th_from_front_left:13,worth:3,awar:[3,15,5,9,10,26],buildtool:30,expos:[28,3,10,11,15],red:5,particip:[3,29],mpvd:[23,24],espher:[28,18],pxmeshscal:18,plain:[13,25],sever:[0,29,2,3,5,15,22,9,20,28,13,31],scenario:[3,5,19,1,10,26,31,32],eacceler:1,inelast:22,glanc:3,suffer:[1,29,9,5,19],pxpvdsceneflag:23,disclaim:6,cmutil:2,nxcapsuleshapedesc:10,entrant:26,deadlin:5,setscenepvdflag:23,pad:3,hidden:4,pvdsdk:23,direct:[3,5,18,15,1,6,9,10,26,28,31,32],thi:[15,2,18,4,5,7,9,20,11,12,28,30,32],horizont:[3,9],etank_wheel_2nd_from_front_left:13,subclass:[0,24,10,26,31,32],eprismat:28,involv:[5,1,22,29,10,17,12,20,13,25,31,32],customproperti:2,setdominancegroup:22,pose:[15,18,4,1,9,20,12,28,32],weld:18,third:22,counterpart:[22,3,9,13],devic:20,pxtype:2,sight:[15,31],massmatrix:28,dst:32,best:[4,32],thu:[15,29,18,5,7,22,9,31,32],memori:4,taskmanag:[4,10,12],px_physx_core_api:22,createbatch:13,createrenderobjectfromshap:18,pxdefaultpvdsockettransportcr:[23,24],restrict:[0,15,29,22,9,10,26,3,28],stiff:[3,13,1,28],bend:13,rai:[15,16,10,31,32],qryfilterdata:3,count:4,"static":[22,16,5,2,18,29,1,24,8,9,10,17,28,13,30,31,32],imagin:[3,5],savecel:18,broad:4,receiv:[0,3,1,22,10,26,13,25,14,31,32],capac:[0,5,20],com:[3,23],geom:[3,18,15],signatur:[8,15,24,1,14],pxoverlapbuffern:13,tradition:9,artifact:[1,3,5],pxvehicletelemetrydata:[3,13],snippetgpuloadhook:24,cuda:[16,20,26],setvisualizationparamet:[1,7],tempbuffercapac:20,markserializedmem:2,overal:[22,5,32,26],dens:28,pxheightfield:[11,18],task:[4,5,10,12],specul:4,certain:[3,5,19,29,1,21,22,24,11,28,13,32],anymor:[22,8,9,25,13,31],ebuild_enabled_commit_dis:8,type:4,mysteri:30,nbarticul:22,getmaterialindex:10,vari:[1,3,5,15],detect:4,crouch:9,apex:[14,26],invinertiascal:[22,32],attribut:[3,1,18,29,26,31],setinvmassscale0:[22,13],idbuff:25,emodify_contact:32,inbound:28,buf:[13,31,18],createreducedcoordinatearticul:28,usag:4,invert:9,hfscale:18,snippetloadcollect:12,nbhit:[13,31],click:27,onoriginshift:1,bump:[3,9,32],materialcollect:25,phenomenon:9,period:[22,3,28],bat:2,conserv:[1,32],bar:12,"__line__":[0,11],nbcontactdatablock:[0,5],lockparticledata:13,rendersphereactor:18,einitial_overlap_keep:13,ecooking_perform:18,pxserializationcontext:2,mnumratio:3,ediff_type_ls_rearwd:3,includ:[3,2,1,10,11,13,14,16,18,6,26,27,32,29,5,8,15,22,23,25,28,30,31],pxcreatecudacontextmanag:20,cleartorqu:[0,13],far:[0,29,18,15,1,3,14,19],consider:[4,32,28],customtypeautogeneratedmetadataobjectnam:2,delta:[22,9],mstepsiz:[10,17],deriv:[1,6,23,25,28,32],downward:[22,3,9],bvhdesc:31,reflect:[0,17,18,3,19,22,9,26,32],dai:30,rigid:[4,32,11,28],mine:[29,32],findappobjectfromid:25,"0xcd":2,ellips:28,bumpi:3,std:[13,32],edeleted_shape_1:14,getnbwheel:13,risk:32,style:[22,1,10,32],articul:[4,32],categori:3,"final":28,pxcapsulecontrol:9,deform:4,setangularveloc:[22,0,13],evenli:3,gbatchqueri:3,recomput:[3,5,31],hasnextpatch:32,trivial:[29,10],appli:[15,16,5,18,4,29,1,7,9,20,11,12,28,13,32],eimpact:13,nv_use_static_wincrt:30,es16_tm:[5,18],camera:[27,3],mwheel1:3,pxarticulationjointdrivetyp:28,slope:[9,12],mathemat:[3,1],getpvdconnect:13,getwheelrotationangl:3,afford:3,edrive_en:1,constant:[3,29,1,22,9,17,28,31],occup:31,px_debug:11,physxmetadata:2,pxcontrollerdesc:9,stl:10,connect:4,overst:16,histori:[3,25],pxmeshcookinghint:18,getactivescen:13,fit:[6,15,9,31],exercis:3,pxphysx:13,adher:1,bounc:[0,18,3,1,9,32],gather:5,pxconvexmeshgeometryflag:[5,18],bound:32,bring:[3,16,1],isblock:13,euler:28,eremoved_shape_0:[14,26],eremoved_shape_1:14,lod:[3,26],reach:[0,5,18,3,1,22,9,11,26,28,29,32],scheme:[3,29,5,8,10,22,32],eenable_swept_integr:13,chassisshap:3,goe:32,createshap:[13,10,11,12],chassissimfilterdata:3,react:[0,23,3],low:[3,5,18,29,22,20,28],lot:[18,5,22,9,10,32],impleament:23,writebuff:18,linearcapsulesweep:10,echannel_steer_right_control:13,inch:3,script:[8,30,2],playback:25,reentrant:32,breakag:12,snippetpxbvhstructur:31,reiniti:11,slippag:3,stride:[5,31,18],begin:[0,5,32,18,3],helper:[3,29,18,15,5,22,9,10,26,25,31,32],spherepos:15,apexscen:26,gettetheranchor:13,collisiongroup:10,pxcreatecontactconstraint:22,alwai:[3,5,15,29,1,24,8,9,10,26,22,13,30,25,14,31,32],mydellisten:13,column:[5,11,18],contactpoint:[14,32],diagon:[22,10,18],pxconstraintinvmassscal:1,mark:[0,16,2,3,5,24,9,26,14],prefilt:[13,10],shown:[3,9,13],e3rd_from_front_right:13,applycach:28,edebug:23,owner:[6,2],assumpt:[3,32],updat:[4,5,32,28],recordmemoryalloc:24,other:[2,4,1,7,9,10,11,12,13,14,16,18,6,27,32,29,5,15,22,20,28,30,31],stall:26,knock:22,snippetconvert:12,pxvehicl:2,gettyp:[13,18],nxusertriggerreport:10,frustrat:32,oncontact:[0,29,32,26],aka:26,camel:8,stop:[3,18,1,9,10,32],repxserializerimpl:2,unnotic:1,pxbatchconstraint:22,eassume_no_initial_overlap:[15,13],clang:[8,2],hasnextcontact:32,"public":[0,2,23,24,11,26,13,30,32],renderobject:22,mmateri:22,index:[15,2,18,4,5,9,12,28],suspsprungmass:3,comput:[4,32,28],obstaclehandl:9,complementari:3,pxvehicleenginedata:12,aggreg:[4,5,12],gvehiclescenequerydata:3,freedom:[22,3,1,28],pxrepxseri:[13,2],broadphas:[8,29,5,21,18],eremoved_shape_trigg:[29,14,26],nearbi:[9,31],inertiascal:32,slider:1,anmim:0,coefficientmatrix:28,pxsetphysxgpuloadhook:24,myvehicl:3,eenable_active_actor:22,pxrigidbodyext:[18,5,22,10,28,13],specif:[22,5,15,29,1,8,9,6,11,12,28,13,30,14,31],centroid:15,indirectli:[22,26],overflow:[13,31],lockclothreaddata:13,didn:25,sampl:[4,11,32],inconveni:22,mirror:14,storag:[3,11,18],topic:[22,1],flavor:[22,3],getdefaultmateri:[13,18],effect:[3,5,18,15,1,8,9,10,17,22,13,14,31,32],handbrak:3,ediff_type_open_frontwd:3,bool:[3,17,2,18,15,29,1,24,22,23,9,10,13,31],drawback:32,generateexamplefil:25,solverarticul:22,birth:1,macro:[8,24,11],restitut:[4,1,9,12,28,32],skeleton:10,remedi:3,quot:3,userraycastresultbuff:[3,13],quad:[15,1],nxphysic:10,nx_timestep_vari:10,pxd6axi:1,clip:[5,31,18,32],frequenc:[22,0,5,3],although:[3,29,1,22,25,5,27,28,31,32],pxsimulationfiltercallback:[29,10],around:[3,16,5,18,15,1,22,9,25,28,29],codepath:9,elapsedtim:9,quat:18,packjointdata:28,ecallback:29,coulomb:22,breakpoint:11,wheelssimdata:3,eenable_one_directional_frict:13,pxcomputeunconstrainedveloc:22,gave:25,follow:[3,2,1,7,9,10,11,13,14,17,18,6,24,20,26,32,0,29,5,8,15,19,22,23,25,28,31],relativepos:18,erestitut:1,suppress:[22,15,13,1,31],edrive_model_speci:13,requir:[22,5,2,18,15,29,1,8,9,10,11,20,27,28,13,30,14,31,32],maxdist:[15,31],pxvehiclechassisdata:3,easier:[3,5,1,22,24,14],bodybtoworld:1,pxwheelqueryresult:[3,13],packag:[3,9,1,26],aboxshap:18,einvalid_paramet:11,bugfix:25,equilibrium:[22,32],px_force_inlin:[3,13],start:[0,5,2,18,3,29,1,24,15,22,9,10,17,26,27,28,13,25,14,31,32],gettirelongslip:[3,13],structur:[28,0,5,2,18,3,1,21,15,8,29,10,26,22,32,31,19],howstuffwork:3,simpli:[0,5,3,29,1,24,7,8,9,10,15,28,22,13,31,14,17],"\u215b":8,pxconvexmeshcookingtyp:[8,14],touch:[15,29,18,4,5,22,9,12,13,32],assign:[3,29,22,10,26,25,31],telemetri:12,registerrepxseri:2,detachshap:[22,29],evisu:[1,7],pxvehicledrivablesurfacetyp:3,wheelsdyndata:3,setupdirect:9,edetect_ccd_contact:32,belong:[22,29],setgearsdata:3,ewheel_omega:13,etank_wheel_1st_from_front_right:13,overlapsphereshap:10,befor:[0,5,2,18,3,29,1,15,22,23,9,10,26,28,13,25,14,31,32],flt_max:1,setstretchconfig:13,processblockinghit:13,pxvehiclecomputetireforc:3,nbwheelqueryresult:13,pxarticulationjointbas:8,buffer:[28,32],flushqueryupd:31,depend:[28,0,5,2,18,3,29,1,24,15,8,23,9,25,11,26,22,13,30,31,32],instanc:[0,5,2,18,3,29,1,21,7,24,10,15,26,13,25,31],happen:[0,29,18,3,5,15,22,23,9,25,31,32],pack:28,setswinglimit:28,quantit:21,hull:[5,14,18,20],ewheel:13,avoid:[0,2,3,1,24,23,9,26,28,32,14,31,19],solitari:29,shut:[4,12],pxconvexmeshcookingresult:18,pxaggreg:29,elbow:1,pxsamplesubmarin:29,createvehicleactornw:3,px_buildsnippet:30,cull:[15,5,31,7],px_serial_ref_kind_pxbas:2,instrument:[0,30,11],vulner:31,prompt:[8,27,30],entir:[3,5,18,1,26,22,10,20,28,30,25,31,32],unpackjointdata:28,pedal:3,liberti:3,focu:3,embp:29,unregist:2,huge:18,renderbaseactor:18,smoother:[3,32],topolog:[31,18],physxfound:12,should:[3,2,1,7,9,10,11,13,14,16,17,18,26,32,29,5,8,25,15,22,23,20,28,30,31],erear_left_wheel:13,bitmask:31,dispar:15,epre_solver_veloc:32,unrespons:3,handl:[3,18,28,29,8,23,9,10,26,22,13],pxvehicledrivablesurfacetotirefrictionpair:[3,13],quaternion:[28,1,10,11,18],isserializ:[13,25],pxdebuglin:7,addlocalforceatpo:22,radian:[3,1,28],momentum:[3,16,1,32],radial:22,clearli:[0,3],abbrevi:15,destin:25,getsiz:18,wakeup:[8,0,13,22],pxprismaticjointflag:1,getdebugrender:10,dispos:24,configur:[4,5,32,11,28],setprojectionlineartoler:1,barycentr:15,pxqueryfiltercallback:[15,13,10,14,31],samplenorthpolebuild:18,throughput:26,francisco:9,ihit:13,"float":[5,18,19,1,22,9,10,11,32],nx_sta_frict_sc:10,choos:[1,3,13,5,32],bit:[0,29,18,3,5,22,9,10,11,30,31],pxbinaryconvert:[13,25,2],eenable_two_directional_frict:13,closer:[22,31,19],snippet:[18,4,5,20,28,30,32],createzero:13,corioli:28,glmultmatrixf:11,pxvehicleupd:[3,13],rise:[3,29],piec:[9,18],pxvehiclesuspensiondata:12,linearveloc:32,getrenderbuff:[10,7],bia:3,suppresstrianglemeshremapt:[5,18],echannel_jounc:[3,13],outputflag:31,e4th_from_front_right:13,eequal:1,began:13,abp:[29,20],computation:3,dostuff:13,treasureshap:29,altern:[0,5,18,3,29,1,24,8,23,9,25,11,22,13,14,32],fifo:26,maxlesepar:3,starv:26,"short":[3,5],fastest:18,lowend:2,pxvehicletyp:13,variat:[5,2,17,32],"switch":[3,29,18,5,8,9,25,26,13,30],drove:3,arithmet:[16,20],onconstraintbreak:[0,1],adaptive_forc:10,speed:[3,18,29,22,23,9,10,11,30,31,32],vehiclefiltershad:3,backgroundcolor:3,geom1:[22,15],drive:[4,32],getconstraintflag:1,latenc:[3,5,26],pxcreatejointconstraintswithimmediateshad:22,etank_wheel_front_left:13,unregistercustomclassbinaryseri:2,setmaxprojectioniter:28,steer:[1,12],lib:[8,25,30],particularli:[0,1,18,3,29,22],everywher:[9,24],averag:29,trade:[28,29,18],customclasstyp:2,detriment:5,pxgetlinkindex:22,vehiclewheelqueryresult:[3,13],convexcollect:25,nx_bounce_threshold:10,nonwalkablemod:9,"75f":[3,13],big:[9,25,19],min:28,surfacemateri:3,signalquit:13,px_new_serializer_adapt:2,mix:[30,18,26],jitteri:[17,12],computecoriolisandcentrifugalforc:28,strong:[3,9,29,28],interfer:3,computepenetr:15,followjoint:25,pxvehicle4w:3,outbatchhead:22,pxcontactmodifycallback:[10,32],slerp:1,instead:[3,5,18,15,29,1,24,8,9,10,28,22,13,30,25,14,31,32],volum:4,pxvehiclesuspensionraycast:3,pxcloth:[13,10],prefer:[0,18,5,7,24,11,26,13,30],suspdata:3,linkag:3,pxarticulationreducedcoordin:[8,28],fire:[27,26],contrari:[9,32],serv:[20,31],inconsist:[1,5,26],setinvinertiascal:5,mlongitudinalstiffnessperunitgrav:3,prepar:2,properli:[3,29,5,21,22,9,25,31],hitactor:13,speedup:31,free:[0,5,3,1,24,9,27,28],better:[0,5,18,3,29,1,9,10,26,28,13,25,31,32],sqdesc:3,win:[8,1,30],tire_type_norm:3,interv:[17,19],submiss:26,pxclothcollisiondata:13,islastlink:22,ecommit_disabled_build_dis:31,geometryqueri:31,e6th_from_front_right:13,bouncethresholdveloc:10,getnbvertic:18,act:[3,1,22,23,28,13,32],understand:[3,16,5,1,22,9,29],proxim:[16,32],emesh_ani:[15,14,31],hope:9,copi:[0,29,18,3,1,21,25,28,13,31,32],raycasthitbuffers:13,variou:[0,16,5,3,1,22,23,9,10,13,25],respect:[16,5,18,1,22,20,11,26,28,13,30,14,31,32],eblocking_hit:13,optim:[3,5,15,1,23,29,10,26,28,30,25,31,32],pxparticlesystem:10,pxcomputetrianglemeshpenetr:[8,15],black:5,gettaskid:26,iskindof:[2,11],setcontinu:[0,26],wikihow:3,fact:[3,16,29,14,32],articulationlink:28,overrul:32,singleton:8,nx_default_sleep_energi:10,influenc:[3,22,23,28,13,32],light:[22,3,1,32],usergethfshap:18,lift:3,planetoler:18,tighter:[3,5,18],eresolve_contact:13,overli:3,mdampingratezerothrottleclutchdisengag:3,face:[4,5,20],fragil:0,seen:[0,5,3],life:[22,3,32],px1dconstraint:1,wheelssimdata4w:3,createconvexmesh:18,pxtoler:11,resourc:[22,0,24,5,26],mcrab:26,theorem:32,hing:[28,1],vertexindic:15,e5th_from_front_right:13,kinemat:[4,32,28],unnatur:[9,12],settargetorient:28,roboticist:28,unabl:3,inner:[3,5],vehicle4w:3,hint:[1,31],theoret:3,visibl:[0,16,3,5,9,26,31],matric:[13,10,11],dstasset:25,meshpos:15,sharabl:25,px_profile_stop_crossthread:8,qualiti:[3,16,18,1,10,31],nxwheelshap:3,offlin:[5,18],echannel_clutch_slip:[3,13],echannel_steer_control:3,presiz:[0,5],written:[6,28,10,2,31],invmassscal:[22,1,32],phors21:3,amplitud:3,vehicle18w:3,interest:[28,4,12,32,7],separationdist:32,vmotion:1,nbbodi:22,pxvehiclecopydynamicsdata:3,inflex:29,contactimpuls:[14,32],overhead:[3,15,5,22,23,20,26,31,32],deep:32,pxjointlimitpair:1,filterdata0:[29,3,13,10,32],themselv:[9,26],acapsuleactor:[10,18],pxfeatherstonearticulationlinkdata:22,sweephitbuffers:13,definit:[3,25,2],denot:[31,26],e1st_from_front_left:13,setjointtyp:28,pxsolverbodydata:22,pointrejectangl:3,exot:3,bridg:[9,5],setsleepthreshold:[22,10],lane:22,tcp:23,deem:0,ncol:28,shrink:[0,5],valuabl:[3,32],row0:18,human:[25,17],sweepshap:31,pxraycastqueryresult:[3,13],purposefulli:3,eprefilt:12,realli:[3,29],engag:3,gavoidedphysxtyp:2,constraint:[16,4,5,9,20,12,28,32],outer:[3,5],some:[3,2,1,7,9,10,11,13,16,18,24,26,32,0,29,5,25,15,19,21,22,20,28,30,31],prematur:25,allevi:5,alignextradata:2,ebroken:1,pxvehiclewheeldata:12,echannel_tire_long_slip:[3,13],fclose:25,significantli:[3,5,18,1,22,23,29,25,13,31],overload:[13,11],process:[15,5,2,18,28,1,22,29,17,11,12,20,13,32],estatic_aabb_tre:12,renam:[8,13,10,14],factor:[3,5,18,1,7,22,9,10,28,31],secondari:3,capabl:[0,16,5,29,10,11,20,28],emax_num_drive4w_analog_input:13,reinforc:16,pxvehicledrivetankrawinputdata:3,angularmotionst:22,constitut:32,serializecollectiontobinari:[13,25],selfcollis:29,speak:[29,9,5,31],front:[3,11,15],removed_shape_oth:14,everyth:[15,9,18,12],updatemassandinertia:[22,28,13,18],pseudo:[3,29,5],blocking_sweep:3,uint64_t:23,info:[3,2,15],state:[28,16,5,19,1,9,10,11,12,20,13,32],fiber:13,einternal_has_face_indic:14,overrid:[22,23,10,31],ediff_type_ls_frontwd:3,setdrivenwheel:3,advancecoeffici:32,flip:[18,32],releasebatch:13,section:[0,29,18,3,5,22,9,10,11,26,28,13,25,31],pxagain:31,seri:[3,2],partit:[1,31],etireload:13,mmoi:3,back:[28,0,5,3,29,1,26,15,8,23,9,10,20,22,13,32],stress:1,pxdefaultalloc:24,endors:6,bouncethreshold:22,mcpudispatch:26,unmodifi:15,anywai:9,pxdefaultallocatorcallback:11,thin:[22,15,32],num_vehicl:3,discret:[16,17,9,20,13,32],callbackfinishtask:0,newjointposit:28,unregisterseri:2,setupsimdata:3,gpadsmoothingdata:3,pxpvd:[23,24,14],poli:22,"void":[0,29,2,18,3,1,22,23,9,10,11,26,13,25,31,32],divid:[3,13,18],setactorpairflag:10,suspend:[3,29],instal:[8,10,25],group4:31,pairwis:[10,32],pxdominancegroup:22,newli:[5,29,8,25,26,13,14,31,32],penalti:[15,18],deposit:28,instruct:[5,11],px_generate_static_librari:30,pxclothphasesolverconfig:13,setdigitalhandbrak:3,e8th_from_front_left:13,mtd:[15,5],formal:[3,13,25],irrespect:[22,20],capsuledesc:10,disableshapeinscenequerytest:29,blend:3,setdriveposit:1,slerpdriv:1,format:[0,18,3,5,25,11,27,13,32],confus:[9,13],pxcachealloc:22,serializ:[13,12],pvd:[16,4,5,7,11,12,27,13,30,14],pxvehiclemetadataobject:2,thephys:18,wheelshap:3,setactorflag:22,pxconstraintflag:[13,1,14],limitpair:1,pxarticulationflag:28,slowli:[9,25,32,12],lockread:26,slight:[3,9,5,28],ramp:9,forcestreamcapac:20,tirecontactactor:13,overview:4,setglobalpos:22,findoverlaptrianglemesh:15,pxcontactpair:[13,14,32],setup:[3,4,29,26,8,12,22,13,31],targetposit:[28,1],actorb:[22,10],pxcreatejointconstraint:22,efront_left_wheel:13,pxdiagon:[22,10],push_back:[13,32],etouch:[13,31],undrivable_surfac:3,objecttofileimpl:2,echannel_norm_tire_aligning_mo:[3,13],notabl:15,geterrorhandl:23,contrast:28,matter:[3,9],cmake:4,unphys:3,dealloc:[0,25,2,11,31],typeid:1,triangles:15,idiom:11,varieti:[3,1],patholog:31,major:[28,16,20,11,18],setdominancegrouppair:22,travel:[3,9],addion:18,unless:[0,29,3,1,22,25,14,32],encompass:16,camberangleatrest:3,articulationlinkhandl:22,pxgetmutablelinkdata:22,conveni:[15,18,29,22,23,9,25,13],collision_flag_wheel_against:3,perman:3,filtergroup:29,chassi:3,frictionoffsetthreshold:22,restoffset:32,imbal:3,wikipedia:3,e1st_from_front_right:13,dure:[0,5,2,18,3,1,26,15,22,23,9,10,17,20,28,29,30,25,31,32],trimesh:25,sink:[18,32],vehicledrivablesurfacetotirefrictionpair:3,pivot:5,doll:[28,1,25,26],put:[3,18,29,9,26,28,13,30,31,32],eremoved_actor_0:[14,26],numrow:18,main:[0,16,17,3,29,15,9,25,26,28,13,14,31],filter:[15,4,1,9,20,12,28,32],sens:[0,15,1,25,11,3,32],accur:[3,16,15,1,22,9,28,13,32],trajectori:5,turbin:22,scalabl:16,simpl:[3,16,5,18,15,29,1,22,9,25,11,27,28,13,31,32],minimpuls:1,counteract:28,createvehicleactor12w:3,send:[0,5,22,23,13,14],eposit:[15,13,31],consol:[25,11,26],tangentialstiff:13,getwheelcentreoffset:3,recycl:32,dangl:25,defaultmateri:[3,29],pxqueryfilterdata:[13,14,31],nbbodiestointegr:22,px_serial_file_align:25,obei:[0,3],eggert:3,mfrontbia:3,platforms_as_obstacl:9,aforement:[22,9],setbraketorqu:3,isrigiddynam:14,peculiar:22,pxreal:[3,5,18,15,1,22,17,28,13,31,32],gettirelongitudinaldir:[3,13],pxfoundationdelayloadhook:8,setmaxdist:1,pxvehicleautogeneratedmetadataobject:2,setupdrivablesurfac:3,equival:[3,29,18,15,1,10,28,13],trace:15,joint:[4,32],intervent:9,uniform:[22,10,32],suitabl:[28,16,25],categoris:3,arc:1,edist:[8,14,31],encount:[3,5,1,21,9,13,31],smaller:[3,18,5,9,13,31,32],getworldbound:[15,13],aggress:3,substanti:[13,1],horsepow:3,applic:4,pxcreatejointconstraintswithshad:22,roll_bar:3,incallback:2,monitor:5,refcount:26,landscap:3,edrive_limits_are_forc:1,snippetraycastccd:32,both:[0,5,2,18,3,29,1,15,8,23,9,10,17,26,22,13,25,14,31,32],sure:[3,29,2,18,5,7,9,13],ultim:22,bigger:[22,9,32],getexternalrefer:1,sphereshap:13,pname:2,snippetimmediatemod:22,maxraycastqueri:13,contactdist:[22,28,1,11,32],sprungmass:3,probabl:[29,3,9,17],setsuspforceapppointoffset:3,setheight:9,pxtriangl:15,"_build":16,valu:[28,5,11,32],getmaxnbcontactdatablocksus:[0,5],gkeysmoothingdata:3,e2nd_from_front_right:13,approx:3,glpopmatrix:11,handleoverflow:13,strategi:[3,9,5,31,18],overwritten:2,said:[22,3,29,25,18],maccuraci:3,opposit:[3,15],fals:[15,17,2,18,29,22,9,13,30,14],pacejka:3,getnbanyhit:13,maxoverlapsperexecut:13,filtermask:29,hardwar:[5,26],all:[3,2,1,7,9,10,11,13,14,16,17,18,6,24,20,26,32,0,29,5,8,15,19,22,23,25,28,30,31],px_def_bin_metadata_item:2,edeleted_shape_trigg:14,mrearbia:3,worker:[22,0,5,11,26],flushscenequeryupd:31,startpos:3,whole:[22,29,9,25,31],straighten:3,enormalized_tireload:13,dofstart:28,bitwis:31,highend:2,access:[29,18,4,1,21,22,9,10,11,12,28,13,25,31,32],llindex:28,stiffen:1,setfootposit:9,eshift_vertic:18,settwistlimiten:28,neg:[3,5,32,18,15],about:[18,4,5,7,9,11,12,28,32],cost:[3,5,29,20,28,31,32],createlink:28,emax_num_title_char:13,aris:[22,3,29,6,19],setackermanngeometrydata:3,verbos:25,gettiredrivablesurfacecontactnorm:13,statement:[18,32],pxcudacontextmanagerdesc:20,mlatstiffi:3,longitudinalslip:[3,13],previous:[22,29,15,5,8,9,25,13,14,31],weak:3,describ:[0,16,29,18,15,5,24,10,3,28,25,31,32],eremove_duplicated_triangl:14,enter:[3,29],assum:[3,5,18,1,22,29,25,26,28,31,32],pxcollect:[13,25,2],newer:[8,13,25,14],reus:[0,9,5,3],nbmateri:[5,18],emerg:[3,15],eanalog_input_steer_left:[3,13],rapid:[22,3,25],runonspu:13,nbpositioniter:22,strongli:[3,18,1,11,28,30],postfilt:[13,31],setprecisesweep:9,pxsolvertyp:22,gsharedindex:0,rebuilt:31,chunk:[29,25],explicitli:[22,15,7,8,10,26,28,13,25],undefin:[3,18,15,1,9,25,28,13,31],decompos:[28,13,1],createconvexmeshsaf:18,eproject:1,degre:[22,3,9,1,28],sent:[0,23,9,25,26,13,32],box:[20,9,5,7],eremove_unreferenced_vertic:14,getscenequeryfilterdata:13,critic:[3,25,26],combin:[3,2,15,1,21,22,9,10,20,28,30,31,32],transforminv:28,getbroadphasecap:29,metr:3,px_max_real:22,maximaljointforc:28,imag:27,principl:11,computegeneralizedmassmatrix:28,pxsweepbuffern:13,drivable_surfac:3,rpm:3,august:[4,12],pick:[3,31],boundari:[15,25],meta:25,has16bitindic:18,pertain:24,internaldriveiter:28,deploy:30,implement:[28,0,5,2,18,15,29,1,24,8,9,10,11,12,20,13,25,14,31,32],pxtolerancesscal:[3,18,8,23,24,11,32],earli:32,incollect:2,heap:20,here:[0,5,2,18,3,29,1,24,15,22,23,9,25,17,28,13,31,32],"0xffffffff":[15,10],workload:26,memory128:25,"81f":20,occupi:20,einvalid_oper:11,getsuspensiondata:3,atrianglemesh:18,"05_01":3,year:9,setsusptraveldirect:3,pairflag:[29,3,13,10,32],getconstraint:1,realiti:26,dumpbinarymetadata:[13,25],crabpo:26,cachedindex:15,pxdumpmetadata:13,conceptu:3,therebi:[0,3],inwrit:2,pxvisualdebugg:[13,14],wish:[22,3,24],addition:[0,16,3,29,23,9,26,28,31],fabric:[13,14],mod:1,egearsratio_count:3,erevolut:28,body1vel:1,telemetrydata:3,otherwis:[3,29,18,1,22,9,6,13,30,31,32],pxbatchquerydesc:[3,13,31],dampingratio:3,physic:[4,28],recoveri:[4,28],swim:32,car:[9,32],step:[4,5,32],pxcreatebasephys:[24,18],gl_modelview:11,nxshape:10,somewhat:[1,11],px1d:1,eventu:[22,3,29,26],pxd6jointdriv:1,defin:[15,16,2,18,4,7,9,20,11,12,28,30],whatev:[28,11],userraycasttouchbuff:[3,13],curv:12,forcedynamictreerebuild:31,mind:[3,1,21],pxheightfieldflag:[5,18],shutdown:[27,4,18,12],removeobstacl:9,pxpvdinstrumentationflag:[23,24,5],gap:18,associ:[3,18,1,22,20,11,26,13],mdampingratefullthrottl:3,mrearleftrightsplit:3,interleav:[0,26],pxcapsuleclimbingmod:9,singl:[15,5,18,28,4,1,29,10,11,12,27,20,13,14,32],e8th_from_front_right:13,youtub:3,succinctli:10,dual:2,releas:[4,11,32],pxvehicledrivesimdata4w:3,substepcount:0,eas:25,twistdriv:1,makefil:[8,30],iqueri:13,torsion:3,current:[28,0,16,5,2,18,3,24,1,21,22,23,9,25,11,20,26,29,31,17,32],stuck:[3,9,5],surfac:[15,5,18,1,8,10,12,28,32],procur:6,constantblocks:[29,3,13,10,32],titl:3,offer:[0,29,3,5,21,7,22,10,27,28,25,31,19],reson:22,levit:9,easiest:22,neither:[3,1,6,9,10,32],pxsolverbodi:22,eanalog_input_brake_left:13,pxcontactpairflag:[32,14,26],pxconstraintsolvehint:1,anisotrop:[1,12],foot:9,additionali:5,pxcreatecontrollermanag:9,dominance0:22,dominance1:22,spawn:[9,29],programm:26,steerangl:[3,13],pxrevolutejointflag:1,reset:[0,3,22,28,13,31],setflag:29,strut:3,cctfiltercb:9,echannel_handbrake_control:[3,13],support:[3,2,1,9,10,11,13,14,16,17,18,24,26,27,32,29,5,8,25,15,22,23,20,28,30,31],pxvehiclesdk:30,pxzero:[13,1,11],pointdist:15,remap:18,decid:[3,16,2,29,9,26],next:[0,5,3,1,22,9,10,11,26,13,25,14,31,32],insight:21,pxfindoverlaptrianglemeshutil:[13,14],formula:[3,15],subordin:2,pxconstructstaticsolverbodi:22,carefulli:[9,10,13],susplinestart:13,ang0:1,ang1:1,batchqueryfilterdata:31,nx_assert:10,mbp:[29,20],pxcontrollermanag:[9,13],solver:[16,4,5,9,20,12,28,32],mfrontwidth:3,walk:9,wall:[4,32],minimalist:27,activegroup:31,descriptor:[9,10,2,13,18],own:[0,16,29,3,1,22,23,9,10,11,26,28,30,25,14,32],henc:26,cover:[5,2,1,22,29,10,11],eenable_enhanced_determin:[22,5],coincid:1,drag:23,pxmat44:[13,11],ask:[16,29,32],unnam:25,versa:[29,5],inclin:3,queue:[5,26],contactstream:13,gamepad:3,fopen:25,pxheightfieldmateri:18,heightfielddesc:18,"60hz":3,esuppress:[3,29,10],draw:11,e9th_from_front_left:13,createrigiddynam:[22,3,13,29,18],pxsetjointdata:22,portabl:16,analyt:[22,3,28],again:[0,29,18,3,5,24,7,22,9,25,28,14,32],versu:3,outcom:22,streamlin:8,iscomplet:0,echannel_engine_rev:[3,13],pxf32:[3,9,5,13,15],pxcontactpairextradataiter:32,paragraph:31,setposit:9,bear:[3,1],six:[3,1],enotify_touch_found:[8,29,32],friend:2,nxustream:10,unfortun:[22,3,9,10,29],contain:[3,2,1,9,10,11,16,17,18,24,26,27,29,5,8,15,21,22,25,28,30,31],sourcewheelid:3,drivetyp:10,getnbwheelgraph:13,angl:[3,9,1,28],px_binary_serial_vers:25,reorder:[22,18],desc:[5,9,10,13,31,32],locost7:3,pxfoundationvers:8,angular0:1,angular1:1,analysi:[3,30],pxphysicsinsertioncallback:[24,5,14],privat:2,pxtransform:[3,5,18,15,1,22,29,10,11,28,13,25,31,32],histor:5,arbitrari:[3,15,29,9,10,31,32],trip:3,disk:25,pxvehicleautogeneratedmetadataobjectnam:2,impulsivetorqu:22,getnbrow:18,getgrav:13,getphysxfoundationdllnam:[8,24],entri:[3,29,11,28],emax_distance_en:1,getbehaviorflag:9,numer:[3,9,5,10,15],acceler:[4,5,32,28],pxoverlaphit:31,interpret:[15,18,1,22,13,31],hand:[0,3,1,22,25,11,27],addid:25,miss:[10,3,5,2,32],rigidactor:11,outsid:[3,16,29,9,25,26,14,32],createheightfield:[5,14,18],const_cast:3,depict:3,optimum:3,trail:9,dynamicstructur:31,etank_wheel_9th_from_front_right:13,setwheelcentreoffset:3,collectiona:25,edeprecated_trigger_trigger_report:12,repxobject:13,word1:[3,29,31],nxstream:10,trianglemesh:[24,29,18],maxqueri:13,help:[0,16,5,2,18,3,1,21,23,26,13,14],colscal:18,care:[3,1,29,22,17,11,26],match:[3,13,25,28],after:[0,24,5,3,29,1,21,7,22,23,9,10,15,26,28,13,25,31,17,32],satisfi:[22,3,1,25],nextcontact:32,bvh33:[8,14],etank_wheel_1st_from_front_left:13,overridden:11,enon:[1,12],diagram:[3,5,17,15],until:[0,5,18,3,29,1,15,22,9,25,11,26,13,31,17,32],deltalinearveloc:[22,32],errorstream:23,ezero_area_test_fail:18,mbatchreadi:13,extract:4,edrivetank:13,stack:32,iresult:13,gcook:[10,31],evehicle_type_nodr:13,"throw":22,physapi:0,calcul:[3,5,15,1,22,26,28,13,32],setusermemori:13,asleep:[22,3],setrestoffset:[8,10,18,32],measur:[3,5,21],edouble_sid:15,absent:20,raycastani:[13,14],separ:[3,5,15,1,22,23,9,10,26,28,13,25,14,31,32],computegeneralizedgravityforc:28,userprofilercallback:23,impract:3,addlocalforceatlocalpo:22,pxclientbehaviorflag:13,inerti:10,yangl:28,tangentialspr:13,ekeepbia:1,consum:32,e6th_from_front_left:13,form:[3,18,1,6,22,23,25,11,20,28,32],nx_physics_sdk_vers:10,forc:[16,4,9,20,12,28,32],turn:[0,16,29,26,22,20,12,30,32],challeng:[3,18],graph:[0,1,11,3],failur:[22,30,26],unpos:3,difficulti:[3,1],longitudinaltireforc:3,pxvehicledrivedyndata:3,px_new:13,crt:30,lookup:[3,10],getposit:9,recipwheelradiu:3,timestep:[3,1,22,9,10,13],acquirerefer:[11,14],newton:3,nearest:31,cudacontextmanag:20,schedul:[3,5,10,26],under:[16,5,1,9,20,12,13,30,14,32],fetchresult:[5,4,1,22,10,17,12,31,32],length:[3,18,15,9,10,11,13,31],egraph_type_wheel:13,meantim:13,setupfilt:29,kind:[3,17,15,29,1,9,10,13,32],friendli:22,parentpos:28,setchildpos:28,gettiredrivablesurfacetyp:13,srcmetadata:25,pxdeletionlisten:13,eanalog_input_brake_right:13,pxplatform:14,perhap:[3,5,14],createconstraint:1,isvehicleinair:13,syntax:10,demonst:3,etank_wheel_3rd_from_front_right:13,eenable_stabil:5,etank_wheel_5th_from_front_right:13,recurs:[0,9],longer:[3,29,1,24,22,9,10,13,25,14,32],filetoobject:2,tessel:4,name:[6,16,17,2,18,5,8,9,10,11,29,14],pxvehiclesetmaxhitactoracceler:3,sweepresultss:3,setrunonspu:13,nxu32:10,pxhitbuff:[10,31],thecook:18,clock:3,geomsweptagainst:15,settessflag:5,repxcollect:13,constrain:[3,1,24,22,9,25,28,32],gtirefrictionmultipli:3,eenable_gpu_dynam:[5,20],pxvehicledrive4wcontrol:13,mimic:3,control:[4,32,11,28],reveal:3,physxgpu:24,further:[0,29,18,3,19,26,15,22,25,20,13,14,31,32],pxplaneequationfromtransform:18,enotify_touch_lost:26,metric:32,getvisualdebugg:13,hovercraft:3,present:[3,5,1,22,25,27],isotrop:1,setmaxangularveloc:5,enorm_tire_aligning_mo:13,hadinitialoverlap:[15,13],order:[28,0,5,2,18,15,29,1,24,8,9,10,11,26,22,13,25,14,31,32],notori:9,createmateri:[22,25],tempt:[9,17],pxfilter:29,pxrigidbodydata:22,pxtrianglemeshdesc:18,header:[4,11],pxvisualdebuggerext:[0,13],pxmeshpreprocessingflag:[5,14,18],size:[0,5,2,18,3,1,24,7,23,9,10,11,15,20,13,25,31,17,32],ecommit_enabled_build_en:31,reserv:[6,10,11,25,31,32],successfulli:[0,13,25,23,3],driven:[3,9,1,28],pretti:[3,19],pxsetphysxdelayloadhook:24,ehas_drive_force_limit:1,getnbcontactblocksus:5,output:[15,29,2,18,19,1,8,23,24,25,11,27,28,30],nxusercontactreport:10,myrenderobject:22,everythingcollect:25,readili:3,asynchron:[1,4,5,12],sum:[28,3,32,19],ackermann_steering_geometri:3,struct:[29,2,1,22,23,24,10,20,13,31],internalfaceindex0:32,senderrormessag:13,zoneend:23,eignore_initial_overlap:15,motor:[28,1],commun:9,driver:3,know:[3,18,15,29,9,10,28],situat:[0,5,3,1,22,9,10,26,25,32],sprung:3,compris:[27,28,16,26],snippetvehicletank:12,pxintegratesolverbodi:22,slopelimit:9,braketorqu:3,occur:[3,5,1,22,26,28,31,32],done:[17,2,18,5,21,22,9,25,26,28,29,31],einternal_contacts_are_flip:32,obj:2,worldvertex:5,member:[15,29,2,5,21,22,11,31,32],dereferenc:29,host:20,deviat:3,obb:18,inrigiddata:22,movabl:1,nxjointlimitsoftdesc:10,tireforceshaderfn:3,setconstraintflag:1,tricki:0,deltaheight:5,minehead:29,setarticulationflag:28,snippetnodr:3,opt:3,setdiffdata:3,runtim:4,enotify_touch_ccd:32,typedef:[3,1],"int":[0,13,11],lock:[28,4,12],unbreak:1,action:[3,9,29],snippetcustomjoint:1,pipelin:[26,5,17,20],thumb:[3,32],wheeltorqu:3,surround:[3,9],displai:[0,25,20],sqhitbuff:3,pxarticulationbas:8,hopefulli:3,uniqu:[3,9,25,2,14],inf:[15,31],settorestst:3,snippetsplitfetchresult:0,etire_lat_slip:13,deltaangularveloc:[22,32],navig:[3,9],pxqueryhittyp:[3,13,31],commerci:9,pxvehicewheelssimdata:3,jointposit:28,pxmeshoverlaputil:[13,14],label:3,technolog:[3,16,10],caveat:[3,20,22,25,11,28],arm:1,invis:4,pxconstraint:[22,13,1],e5th_from_front_left:13,namespac:[23,13,2],upon:[0,29,1,23,3],oncomshift:1,client:[8,17],pxheightfielddesc:[5,14,18],pxinputstream:25,unsign:[28,13,10,25],mbia:3,expend:3,center:[3,5,18,15,1,22,9,32],raycastsingl:13,neglect:22,mysimulationcallback:32,halfforwardext:9,nbcolumn:[5,18],icon:27,expens:[0,5,18,15,1,11,3,28,32,31,19],pxvisualdebuggerflag:13,whenev:[29,25,17,31,32],pxvehicledrivetankcontrol:13,edisable_simul:[22,29],pxvehicleautoboxdata:12,minor:[13,9,11],comfort:22,startindex:15,overlaphitbuffers:13,jth:18,setmot:[28,1],vice:[29,5],glean:29,euv:[15,31],pxcontrollerbehaviorflag:9,evelocity_chang:[22,3],meant:21,mtype:3,correlationdist:22,sizeof:[5,2,18,29,10,28,31],quantizedcount:18,slot:26,enabl:[3,16,5,18,15,29,1,24,7,22,23,9,10,11,20,27,28,13,25,14,32],vast:7,slow:32,peak:3,delai:[4,12],autobox:3,stepoffset:9,mphysic:[22,13,24,26],onsleep:[22,0,26],accuraci:[22,3,9,5,28],convinc:[9,32],finalizequeri:31,domin:[4,13,1,12],convexshap:29,pxdefaultmemoryoutputstream:18,stateless:1,troublesom:9,targetveloc:1,pxraycastcallback:[13,31],px_new_repx_seri:2,bias:[3,1],chosen:[3,1,31,32],scroll:3,pxarticualtionlink:17,throttl:3,deepli:[22,5],pxdefaultfileinputdata:[13,25],wiki:3,consequ:[0,3,22,9,25,26,13,14],hood:9,pxvehicledrive4w:13,setdrivetarget:28,quit:[3,5,22,9,13,32],denomin:3,gphysic:[3,20,31],hook:[24,10],enorm_tire_lat_forc:13,popul:[4,15,1,12],meshpreprocessparam:18,setdrivetorqu:3,myccdcontactmodif:32,instanti:[3,13,25,18],binari:[4,30,11],pitfal:5,self:[0,29],px_def_bin_metadata_base_class:2,pxspatialindex:10,"\u215e":8,mfronteftrightsplit:3,pxsetphysxcookingdelayloadhook:24,book:3,footprint:[23,30,31],triindic:18,exportnam:25,establish:25,eremoved_shape_oth:29,file:[4,5,11],popular:[5,11],normalisedtireload:3,fill:[15,18,22,9,25,31],numshap:29,interact:[4,5,32,28],mnbmateri:25,cach:[4,28],orthogon:[1,18],susplinelength:13,solverprep:1,vanish:23,emax_nb_drive4w_analog_input:13,eactor_ax:7,quantiz:4,viewer:7,corpor:6,regress:5,trick:3,former:[3,13,10],align:[0,5,3,1,15,9,10,11,29,25],pxraycastbuffern:13,steep:[9,12],pxcapsuleobstacl:9,pxcreatebatchqueri:13,drivetorqu:3,querycli:13,scientif:3,simplist:[0,29,3],queryflag:3,gravitydirect:3,pxspatiallocationcallback:10,indirect:[6,3],shoulder:1,emax_nb_title_char:[3,13],writedata:2,edg:[3,5,18,1,9,13,32],"2nd":[3,9],mcamberatmaxdroop:3,filenam:[0,25,2,11,23],snowbal:[22,9],latest:26,pxvehicledrivetankcontrolmodel:13,conflict:[3,9,1,30],wheelomega:3,nx_skin_width:10,hold:[15,1,22,9,10,26,13,25,32],mgearuppress:3,submit:[0,13,10,26],getscenepvdcli:23,contactbuffercapac:20,reli:[0,24,10,2,3],halv:18,abbot:3,sprungmasscoordin:3,intermedi:11,anyhit:14,upper:[3,13,1,28],pressur:31,tiresurfacetyp:13,dimension:[22,16],"3x3":[22,10],distanc:[15,18,4,5,9,20,12,28,32],explicit:[16,8,10,26,28,13,14],record:[0,16,3,1,7,22,23,25,28,13,31],pxvisualdebuggerconnect:23,without:[3,16,5,2,18,28,29,1,24,6,8,9,25,26,27,22,13,14,31,32],getobject:25,common:[22,5,2,18,4,1,8,9,11,12,28,13],placement:[3,5],gentli:3,inarg:2,idea:[3,5],graviti:[4,9,20,11,12,28,13,32],singular:1,analogv:3,cudacontextmanagerdesc:[20,26],connector:1,power:[3,28],assort:10,sharp:18,espr:1,maccumul:17,sync:[5,9,20,13,31,32],tireid:3,decrement:[22,3,26,11,14],rim:3,cosf:9,phxsx:25,mactor:2,budget:3,chassisdata:3,isparticlebas:14,pxconvexmeshgeometri:[3,29,11,18],pxdeletioneventflag:13,"char":[0,2,3,23,24,11,26,13],mmaxbraketorqu:3,pxobstacl:9,particl:[4,13,12],preparedata:1,mspringstrength:3,basic:[2,4,5,7,9,11],sort:[3,9,32],rework:[3,13],idl:[9,17],pxcontrollerbehaviorcallback:[9,10],physxvehicl:[13,30,2],etwist:[28,1],jacobian:28,pxvehiclekeysmoothingdata:3,jointacceler:28,pxshapeflag:[9,29,32,13,7],dyn:[22,13],pxfeatherstonearticulationdata:22,idx:2,pxgaussmaplimit:14,hadhit:13,pxvehiclecomputesprungmass:3,constraintbuffercapac:20,come:[3,16,29,5,22,26,30,32],pxvehiclewheelqueryresult:[3,13],vital:[3,16],zero:[3,18,15,1,22,9,10,11,26,28,13,32,31,19],vanilla:3,wait:[0,13,26],unknown:[9,10],kilogram:3,edeleted_shape_0:14,solid:[22,15],pushback:13,nxsphereshap:10,dictat:9,px_assert:[2,18],imposs:3,inaccur:3,sciencedirect:3,d6joint:1,sooner:32,pxcloseextens:24,etransmit_constraint:[23,13],statu:[15,31,18,26],problem:[0,5,19,1,9,26,3,32],pxbatchquerymemori:[13,31],"27m":5,crack:32,list:[0,3,29,6,15,22,23,10,13,25],hyperthread:29,egraph_type_engin:13,pxvehicledifferentialnwdata:3,gain:[3,31],modern:16,view:[3,16,7,23,9,26,27],ccdfiltertest:13,precis:[9,5,18,30],deletionev:13,malloc:[0,10,25,11],execut:[0,5,3,1,29,10,26,27,13,31],targetwheelid:3,tolerancelength:22,pxconstraintconnector:[1,10],updatevehicl:13,rubberi:1,pxsweephit:[15,13,31],overlai:7,contributor:6,eanalog_input__handbrak:3,complic:3,wobbl:22,room:13,wheelmoi:3,sweepdirect:31,swaptolowlodvers:3,anoth:[0,5,2,18,3,29,1,15,22,9,10,11,26,13,25],issu:[4,11,32],maxnbcontactdatablock:[0,5],pxsimulationstatist:21,displac:[3,9],geometri:[4,5,32,11,30],chassiscmoffset:3,edrive_model_standard:13,getsusplinestart:13,edeleted_shape_oth:14,pxvehiclewheelsdyndata:[3,13],eprofil:[23,5],sensibl:3,select:[3,15,5,8,9,31,32],eanalog_input_steer_right:[3,13],treasur:29,subgraph:1,msprungmass:3,altogeth:10,pxrigidstat:[1,22,5,17,31],attributes0:[29,3,13,10,32],attributes1:[29,3,13,10,32],limb:[9,32],ecapsul:18,edisable_grav:22,heighfield:[4,20,12],pxvehicle4wenable3wdeltamod:[3,13],climb:4,pyramid:[9,18],unus:[0,24,5,2],determin:4,input:[0,5,18,3,1,15,9,11,27,28,31,19],queu:[31,26],heapcapac:20,eenable_ccd:[13,32],computegraphchannel:3,initi:[18,5,9,20,11,28,32],omit:[15,24,30],pxjointlinearlimit:[13,1],mypvdclient:23,integ:[28,5,11,18],inward:3,refitbvh:18,thrust:3,maneuv:3,slice:18,tirecontactpoint:13,intel:11,ccdmaxpass:32,print:11,etire_frict:13,inter:[32,26],invers:[4,32],jointdesc:22,height:[9,5],tirelongitudinaldir:13,faster:[3,5,18,15,29,1,23,9,25,13,31],simulationeventcallback:0,suppos:22,statist:[4,12],memorybuff:2,eccd_linear:13,trystandup:9,ediff_type_open_4wd:3,symbol:10,trackoutstandingalloc:[0,24],tireforceshaderdata:3,hello:27,pxextendedvec3:9,undesir:9,msubmarineactor:[29,32],reporterror:[23,11],getstepoffset:9,solut:[0,32,3,5,15,8,9,25,27,30,31,19],getnb:2,softwar:[6,10],cours:[3,16],createident:13,vertic:[3,18,15,5,9,20],isinair:[3,13],teleport:[22,9,29,19],dimensionless:3,pxdelayloadhook:[8,12],nbactor:29,repxutil:13,maxedgelength:9,pxcontactstreamiter:[13,14,32],heurist:2,src:[3,2],setgrav:22,centr:3,xml:[13,10,2,25,30],setrigiddynamicflag:29,pxvehicledrivetanksmoothanalograwinputsandsetanaloginput:3,registerbinarymetadatacallback:2,obviou:3,worst:31,princip:22,settypepairfrict:3,triplet:18,ejounc:[3,13],pxcudacontextmanag:8,pxconstraintsolverprep:1,getdistancelimit:8,gvehicle4w:3,rowscal:[5,18],pxmutablelinkdata:22,sweepdist:31,uniformli:[22,31,32],machin:26,onpvddisconnect:23,heavili:3,algorithm:[4,32],unregistercustomclassrepxseri:2,tradit:32,refactor:13,modular:3,getnbcolumn:18,thousand:20,minimum:[0,16,5,3,1,15,8,10,22,31],cell:[31,18],mplane:18,util:[0,18,3,24,10,11,28,25],sample_fre:29,angvel:22,ekinemat:[22,29],user:4,referenc:[10,25,11,17,26],tort:6,snippetprunerseri:31,wheelcentrecmoffset:3,msvc:11,predict:[22,3,9],addloopjoint:28,settodefault:18,nbpolygon:18,somewher:[3,9],specifi:[0,5,2,18,3,29,1,15,22,24,10,11,28,13,30,25,31,32],troubleshoot:4,planetoid:9,accept:[3,18,5,8,22,30,32],great:[29,9,5,18,32],oscil:[3,1],incred:3,polygon:9,getbinarymetadata:2,pass:[0,5,18,3,29,1,24,22,9,10,11,26,28,13,25,14,31,32],muscl:1,posetosweep:15,accumul:[22,3,17,31],defer:[3,11,31],createpruningstructur:31,nbheader:22,stage:[3,5,30,26],player:[3,9,5,32],subsequ:[0,5,3,1,22,9,10,26,13,31,32],compart:12,preserv:[3,18,19,1,9,25],preclud:3,oper:[3,29,18,19,5,23,25,11,26,28,13,31,32],addcollisionspher:13,eowns_memori:2,setanaloghandbrak:3,liabil:6,pxvehiclegraph:[3,13],relax:3,open:[3,25],afterthought:10,raycast:4,get:[0,2,18,19,29,24,8,23,9,10,26,22,13,25,14,31,32],setlimitcon:1,myobserv:13,stepper:17,nxuserraycastreport:10,pxccdcontactmodifycallback:[10,32],initialpos:31,mlatstiffx:3,ecct_slid:9,myconvexmeshshap:18,left:[3,2,9,25,11,27],advantag:[0,16,17,3,5,22,9,20,26,28,13,32],custompath:24,getnbcontactdatablocksus:0,program:[22,27,16,24,11],silent:5,later:[3,18,29,22,9,20,28,13,31],discover:26,setlimit:[1,0,5,28],rough:[22,3],quitissignal:13,materialindic:18,paper:32,pxvehicledrivetank:13,simd:[22,16,18],note:[3,2,1,7,9,10,11,13,16,18,24,26,32,0,29,5,15,19,22,25,28,31],mswitchtim:3,littl:[22,3,9,5,26],core:[16,2,4,5,9,12,30],eanalog_input__accel:3,addit:[2,18,4,5,9,20,11,28,30,32],pxarticulationlink:[28,1,17,31,32],linecolorhigh:3,debug:[4,11],noth:[22,14],spheric:[28,4,9,15,12],processhit:13,likewis:13,few:[3,5,9,27,31,32],ackermann:12,einflation_incremental_hul:[8,14],evehicle_type_drivetank:13,pxsetasserthandl:11,magnitud:[3,1,22,9,13,32],dedic:[15,9,13],biggest:23,damag:[6,3,5,32],helloworld:4,cleanup:13,invdt:22,snippetvehiclemultithread:12,getrigidactorshapelocalboundslist:31,pxtriggerpairflag:[29,14,26],"1500kg":3,getnumwheelgraph:13,distribut:[6,4,30,11,12],"long":[3,9,25,11,26,13,31],faceindex:[15,31],artifici:[29,9,5],erigid_stat:[29,25],take:[0,16,5,18,3,29,1,26,8,9,10,11,20,22,13,31,25,14,17,32],pxconvexmesh:[3,5,25,11,18],setgeardown:3,ongo:0,updateobstacl:9,kei:[28,0,10,3],brief:[4,20,12],pxbvh34midphasedesc:[8,5,18],theme:3,convers:[3,13,10,25,18],rectangular:[5,18],toward:[3,18,19,1,9,28],removeloopjoint:28,cookclothfabr:13,batchqueri:3,aim:[3,5],investig:21,converg:[22,28,1],contract:6,stand:[3,16,29,18,5,9,25],instantan:[22,26],numbound:31,modifysampl:18,pxu8:[2,18],initialst:28,author:[3,24,25],decreas:[22,3,5,32],ragdol:[1,28,29,5,32],physx_64:8,inlin:10,lighten:5,shrunk:5,eanalog_input_handbrak:[3,13],e7th_from_front_right:13,nxuserentityreport:10,level:[15,5,18,1,22,9,10,11,12,27,28,13,30,32],mention:[22,3,5,14,20],pxjointlimitcon:1,filtershaderdatas:10,transit:[22,3,13,14],totalmass:3,origin:[15,18,4,1,9,10,11,12,28,32],emax_nb_vehicle_typ:13,nearer:3,see:[3,2,1,7,9,10,11,13,14,16,17,18,24,26,32,0,29,5,15,22,25,28,31],insuffici:[5,32,20],mixtur:[1,32],solvehint:1,processor:29,vehactor:3,getcontrol:9,pxvehicleackermanngeometrydata:12,tree:28,esap:[8,29],echannel_wheel_omega:[3,13],becom:[3,29,5,22,10,26,13,25,32],snippetimmediatearticul:22,pxvehicleupdatemod:3,getphysicsinsertioncallback:[24,5,14,18,31],neutral:3,echannel_tire_frict:[3,13],translat:[15,5,19,1,22,10,28,25],fetchqueri:31,lastli:3,down:[4,9,11,12,14,32],opengl:11,post:[0,1,11,17,31],combo:13,markdirti:1,pxpvdsdk:8,pxcreatefeatherstonearticul:22,setdistancejointflag:1,"\u215c":8,eenable_ccd_frict:32,chassisqryfilterdata:3,esteer_right_control:13,processcallback:0,registerrefer:2,linearimpuls:32,einequ:1,permiss:6,ceas:22,lambda:28,reloc:9,constructor:[3,2,10,11,13,31],externaldriveiter:28,servic:6,meshactor:29,mdownratio:3,fresh:3,pxlightcputask:[13,26],subject:3,pxbroadphasetyp:[8,29,5,20],gaug:3,vehdrive4w:3,degrad:[29,31],myphys:3,wide:[22,3,1,10,28],mostli:3,epost_solver_veloc:32,nextpatch:32,affair:0,physxgpu_x64_renam:24,getlinearveloc:[22,1],user_releas:14,pxheightfieldsampl:[5,18],echannel_normalized_tireload:13,"case":[4,5,30,32,28],pxvehicleupdatecmasslocalpos:3,ebend:13,isspher:10,autowak:[22,13],press:3,doubl:[15,9,20,12,27,32],outsolverbodydata:22,ruler:3,getwheelgraph:3,flexibl:[22,29,13,25],fetch:[10,21],top:[3,18,5,9,24,11,27],logic:[0,5,29,10,11,31],mcamberstiff:13,nbpair:[22,32],woken:[22,13],part:[4,5,11,28,30,32],pars:[14,32],too:[17,18,29,7,9,25,11,12,30,31,32],pxrigidbodi:[22,17,5,8,13,31,32],activeactor:22,elsewher:10,regist:[0,2,18,22,23,24,28,13,14],local:[3,5,18,15,1,7,8,29,10,22,13,14,31,32],toe:3,mcamberatmaxcompress:3,quak:9,getid:25,mpeaktorqu:3,cylind:1,figur:[3,25,26],solverbodydata:22,illustr:[0,18,3,15,22,23,9,25,27,13],vehicleupdatemod:3,evalu:18,setmass:[22,3,5],desc10row:18,pxconstraintbatchhead:22,sse:11,pxtrianglemeshgeometri:[29,18],inertia:[3,5,18,1,22,17,28,32],iscloth:14,sweephit:15,trianglecount:15,equal:[1,3,5,22,26],pxlinkdata:22,getnbshap:29,eweld_vertic:18,geometricerror:1,tiresurfacemateri:13,emax_nb_drive_channel:13,samplebas:[29,26],full:[3,16,18,20,31,32],perfect:[3,9,32],triangleindexbuff:15,snippetvehicle4w:12,getsteer:[3,13],actorstream:25,flat:3,elast:22,alon:[0,16,5],reliabl:[3,14],echannel_norm_tire_long_forc:[3,13],massless:22,encod:[1,3,29,5],accomplish:3,load:[18,4,5,22,10,12,13,25],seidel:[4,16,12],abov:[3,5,2,18,15,1,26,6,22,9,10,20,29,14,31,32],cooktrianglemesh:[10,18],pxcapsulegeometri:[10,18],quarter:[18,32],setsuspensiondata:3,onpvdconnect:23,physxfoundation_x64_renam:24,setoverlaprecoverymodul:9,hasimpuls:32,setkinematicsurfaceveloc:22,getscen:[13,29],entireti:25,revisit:[29,18],studio:[8,27,30,11],drivesimdata4w:3,createconnect:[0,13],partner:0,pxvehicledrivesimdatatank:3,typenam:[0,11],persistentcach:31,twice:[3,25,31],creat:[4,11,32],getwheelshapemap:13,prior:[3,5,6,9,10,11,28,13],vehwheelqueryresult:13,never:[5,29,9,26,12,28,30,31],mwheelssimdata:[3,13],euser_releas:13,getsuspraycast:13,gdefaulterrorcallback:24,iter:[15,5,18,4,1,29,12,28,14,32],setlat:3,sample_alloc:29,folder:[27,10,2,30],visual:[4,11,32],createcollectionfromxml:[13,25],report:4,roli:22,tankdrivesimdata:3,pxbroadphaseext:29,roll:[9,12],elimin:3,artist:3,impress:32,pxvisualdebuggerconnectionflag:0,role:[3,29,1],createobject:2,eanalog_input__brak:3,snippetvehiclecontactmod:3,danger:3,setshapepairflag:10,mfinalratio:3,pxboxobstacl:9,pxarticulationaxi:28,elimit:[28,1],alpha:3,setanalogaccel:3,mwheel0:3,nxgetcookinglib:10,stamp:3,getphysxcommondllnam:[8,24],shape:[4,11],mainli:[5,21],pxscenequeryfilterdata:[13,14],pxsolverconstraintdesc:22,give:[15,29,1,21,22,10,25,32],"25f":[3,18],removeaggreg:29,"50m":5,linecolorlow:3,partial:[3,1,21,22,20,26],pxheightfieldformat:[5,18],make:[3,2,1,7,9,10,11,13,14,16,17,18,24,26,32,0,29,5,25,15,22,23,20,28,31],maxnbdynamicshap:31,"catch":5,pose2:15,still:[0,32,18,3,5,24,8,9,20,26,22,13,30,14,19],othershap:29,why:9,filtershad:[13,10,32,20],onadv:14,autogener:2,graphsizei:3,computecoefficientmatrix:28,parameter:3,wheelsimfilterdata:3,khz:3,debri:[29,5,18],createfrictionpair:3,prefix:[13,10,11],clearforc:[0,13],pxclientbehaviorbit:13,pxactortypeselectionflag:[13,14],"80kg":3,carrawinput:3,overlapobbshap:10,inaccuraci:1,erear_left:[3,13],fifth:3,fifti:17,push:[22,3,9,1,32],latslip:3,tirelatforcemag:3,humanoid:28,remark:[3,13],intim:22,increas:[3,5,1,22,23,9,26,32],wheelcenteractoroffset:3,swingdriv:1,trigger:[4,11],triangleindex:18,ccd:4,userdata:[3,22,9,25,11,13,31,32],pxgeometryqueri:[4,18],adopt:3,filterdata1:[29,3,13,10,32],manag:4,inferior:29,longslip:3,doblock:13,createbvhstructur:31,pxcapsulecontrollerdesc:9,collectforexport:13,snowmen:22,analog:[3,1],appendix:3,createserializationregistri:[3,13,25],cloud:18,"1st":9,ggpuloadhook:24,nbsprungmass:3,blue:[3,9,26],px_serial_object_id_invalid:25,setgeometri:18,settireforceapppointoffset:3,individu:[3,5,15,1,21,7,22,28,13,32],fight:1,getangularveloc:[22,1],ident:[3,29,18,15,1,22,25,11,13],createregionsfromworldbound:29,econtact_default:[3,29,10],eengine_rev:13,columnscal:[5,18],diff4w:3,setlinearveloc:[22,0,13],lag:1,touchdist:31,suspjounc:13,univers:1,cuboid:3,analyz:[22,0],request:[0,5,1,22,20,11,26,32],getlatslip:3,suspens:3,classifi:25,px_define_typeinfo:2,dstbinfil:25,diff:3,"byte":[0,25,5,10,11],deadlock:26,getvertic:18,getconjug:28,vertex:[4,5,20],angularmotionveloc:22,emax_nb_sampl:3,pxserializationregistri:[3,13,25,2],veh4wactor:3,conform:[3,26],mean:[0,29,18,3,5,26,22,9,25,20,28,13,31,32],hash:[22,10],manufactur:3,mindist:9,"16m":5,egear_ratio:13,pxraycasthitbuff:13,wrapper:[22,18],mediat:3,lower:[3,18,1,8,28,32],context:[0,2,3,20,26,27,13],setmetadata:25,launch:[27,23,13],sanitybound:5,px_def_bin_metadata_vclass:2,artefact:[5,32],galloc:31,pxcontactpairpoint:32,pxmodifiablecontact:32,candid:[29,31],nxrai:10,expir:9,custom:[4,11,32],vanishingli:3,getnbbroadphaseregion:29,north:22,nx_adaptive_forc:10,http:[3,23],scenequeriesupd:31,"20kg":3,removerefer:[0,26],sampleallocat:26,stiffer:3,mminfilterednormalisedload:3,devis:3,contactpatch:[14,32],shall:[6,0,26,3],eswept_integration_linear:13,emax_num_drivetank_analog_input:13,contactrecord:22,setsceneparamint:13,law:[22,3,16,1],pxqueryfilt:13,pxactortypeflag:[13,14],esubmarin:29,distinguish:[22,13,31,26],getfootposit:9,"18m":5,typic:[0,29,18,3,1,22,9,25,11,26,28,31,32],mechan:[0,16,5,2,3,29,1,22,9,10,11,26,28,13,25,31,32],judici:3,threadbatch:13,prioriti:[1,10,26],etank_wheel_9th_from_front_left:13,kinet:22,materialindex:10,"__file__":[0,11],show:[3,5,2,18,15,1,22,29,25,17,26,13],seek_end:25,fetchresultsfinish:0,gettimestamp:18,nvcloth:8,pxsweepcallback:[13,31],represent:[3,16,18,1,25,11,28],got:[8,21,26],usersweephitbuff:13,param:18,remaind:3,bare:5,snippethelloworld:4,dir:3,gen:14,"01f":[3,1,15],cheaper:[3,1,32],setanaloginput:3,getnbtriangl:18,did:[29,22,9,10,31,32],spot:3,store:[28,0,5,18,3,1,26,15,8,23,29,10,11,20,22,13,30,25,31],millikenresearch:3,portion:[3,5,10,32],log:[28,11,31,26],convexmesh:18,guserphysxtyp:2,pxbroadphaseregion:29,stutter:32,pxtask:[8,13],numvehicl:13,messag:[0,29,23,20,11,27,13],render:[18,4,5,7,9,11,12,27],wheel:[13,1,12],sweep:[4,9,5,18,32],fix:[18,4,5,9,20,12,28],ricochet:32,shareabl:[13,25,14],eshap:25,textur:3,between:[3,1,9,10,11,13,14,16,17,18,24,26,32,0,29,5,8,15,22,25,28,31],enotify_threshold_force_persist:32,pxvehicleclutchdata:12,plastic:10,pin:20,backfac:15,toggl:[3,30,23],echannel_engine_drive_torqu:[3,13],pxquat:[3,18,5,10,11,28,13],gtreasureactor:29,elimits_are_forc:1,issubordin:2,behav:[22,3,1,32,28],nx_default_sleep_lin_vel_squar:10,pxspatialoverlapcallback:10,scope:[9,16],wildli:3,pxupdatearticulationbodi:22,egpu_compat:[5,20],pxcollectforexportsdk:13,benefit:[0,16,1,26,20],environment:10,gettaskmanag:0,schema:25,pxvehicledrive4wsmoothdigitalrawinputsandsetanaloginput:3,gettirelatslip:13,balloon:10,exist:[3,16,5,15,29,1,22,23,9,10,11,13,31,32],usercallback:31,setcmasslocalpos:[3,13,1],autom:3,eenable_activetransform:8,transport:[23,24],animateleav:31,size_t:[0,25,2,11],mtorquecurv:3,impli:[6,25],pxvehicletiredata:[13,12],getsuspjounc:13,postsolverveloc:32,pxtrianglemeshcookingresult:18,deactiv:1,enough:[3,9,29],straight:[3,9],regim:3,frequent:[5,31,32],pxprofilercallback:23,mfrontrearsplit:3,prohibit:31,px_c_export:[22,3],submittask:26,reason:[0,5,3,1,24,22,9,10,11,26,28,25,32],readbuff:18,seamin:32,"\u215d":8,afterward:5,setinvmassscal:[13,5],identifi:11,infrastructur:1,equickhul:14,chassisconvexmesh:3,endian:25,nxscene:10,etrigger_shap:[29,32],getenginerotationspe:3,eanalog_input_thrust_right:13,twenti:17,boilerpl:1,pxu16:[3,1,18],setenginedata:3,serializationregistri:3,button:3,assist:[1,5],mytelemetrydata:3,posit:[4,11,32],jointconnectionhandl:23,vcurrent:1,pxgeneratecontact:22,esimulation_shap:29,pxfilterflag:[29,3,13,10,32],pxcookingparam:[18,5,8,24,20,14],"3333f":3,orphan:25,nxcontactpairflag:10,wider:[22,3],erigid_dynam:[29,25],share:[28,11],ought:3,imbu:22,getdensejacobian:28,consist:[3,5,18,15,1,24,10,11,26,28,13,25],scanforobstacl:26,facilit:[28,25,31],incompat:[15,25],factori:2,createaggreg:29,etrigger_default:[29,13,10,32],channel:3,independ:[3,29,5,26,22,9,25,20,13],badli:[3,21],concaten:18,sethalfheight:9,pxvehiclesetupdatemod:3,processtouchinghit:13,getpvddatastream:13,pxd6joint:[8,28,13,1],createvehicleactor6w:3,setlocalpos:[3,13,5,18],pxcach:22,group1:[22,10,31],group3:31,group2:[22,10,31],lack:[3,9,28],trigeom:29,semant:[13,32,12],traffic:32,word0:[29,3,13,10,31],rout:23,constantblock:[3,1,29,10,13,31,32],gpudynamicsconfig:20,gsteervsforwardspeedt:3,settiredata:3,echannel_gear_ratio:[3,13],srcassets:25,px_delet:13,except:[3,15,1,9,25,26,30],meshgeom:15,"3rd":9,addaggreg:29,getverticesformodif:18,etank_wheel_6th_from_front_right:13,convent:12,mcamberatrest:3,pxcontactpairhead:[0,32],gettiredrivablesurfacemateri:13,readextradata:2,echannel_suspforc:[3,13],"28tank":3,forcelimit:[28,1],convexgeom:29,drivetargetangl:28,centric:31,space:[3,16,5,18,15,29,1,22,9,10,11,28,13,31],zonestart:23,rememb:[3,9,25],staticstructur:31,emax_num_wheel_channel:[3,13],node:1,convexbox:29,setupnondrivablesurfac:3,nbcontact:32,camberangleatmaxdroop:3,subtract:[5,19],eprevent_climb:9,conjunct:[3,20,5,32,15],plane:[4,20,11,32],kept:[22,15,9,1],createscen:[10,32,26,20],keyboard:3,likelihood:[3,32],flippedcontact:32,ebvh33:18,mtoeangl:3,window:[0,15,20,8,10,11,30,25,31],compens:3,cloth:[4,10,12],contribut:[9,1],eface_index:[15,14],eanalog_input_accel:[3,13],deliv:3,nbbatchhead:22,setseparationtoler:28,audio:[3,16],convexedgethreshold:18,pxsetprofilercallback:23,gear:12,base:[3,16,29,2,18,15,1,26,8,9,10,11,20,22,13,14,31,32],replac:[3,20,8,9,10,13,14,31],sweepresult:3,pend:[22,13],synchron:[4,5,25,12],begun:26,setphasesolverconfig:13,srcbinfil:25,resweep:32,reduct:1,aboxactor:18,skip:[15,9,25,14,31],across:[3,25,31],readallproperti:2,disconnect:[3,23],setdrivetyp:28,pxinitvehiclesdk:[3,13],anim:[0,9,17],edisable_ccd_resweep:32,estat:[13,12],those:[0,29,2,18,3,1,24,22,9,20,11,26,28,32,19],mysimulationeventcallback:1,eccd_respons:13,pattern:[3,2,19,1,11,26],observ:[0,13,11,18,3],copyright:6,commit:[11,31],pxvehiclesetsweephitrejectionangl:3,jounc:3,four:[3,26,30,15],setclutchdata:3,pxscenequeryfiltercallback:[13,14],dcc:25,writer:26,grip:3,live:25,cookingparam:18,pxmetadata:2,fast:[3,18,8,9,10,30,31,32],setprismaticjointflag:1,energi:[3,16,1,22,10,28,32],perceiv:[5,17],simplifi:[17,5,25,28,13,31],pxvehiclewheelssimdta:3,grid:[29,5,31,18],can:[3,2,1,7,9,10,11,13,14,16,18,24,20,26,27,32,0,29,5,8,15,19,21,22,23,25,28,30,31],fulli:[16,5,1,9,31,32],induc:3,wheelgraphposx:3,pxcontactrecord:22,fdani:[13,31],polyhedron:18,getsimulationstatist:21,gtreasurefound:29,treat:[3,15,1,22,31,32],esend_sleep_notifi:[22,0],similarli:[3,29,15,1,23,9,10,26,28,13,31,32],wheelgraphposi:3,chapter:[15,5,1,21,22,24,17,11,26],physxmetadatagener:2,lockwrit:26,pxvehicleupdatesinglevehicleandstoretelemetrydata:3,etransmit_scenequeri:23,pxvehiclenw:3,mspringdamperr:3,exact:[3,15,5,22,9,10,20,28,25,31,32],nonetheless:[9,16],convex:32,pxvehicleisinair:13,exemplari:6,pxjointlinearlimitpair:13,ptype:2,"break":[0,18,3,1,22,25,11,28,13,31,32],extradatastream:32,"transient":[3,20],crab:[29,26],"enum":[3,18,29,8,9,11,22,13,14,31],nxcollisiongroup:10,famili:3,readabl:25,goal:[3,5,32,26],drift:[28,1],hole:[18,32],child:[28,1],chanc:[26,32,31,19],meshcontactmargin:22,sometim:[15,5,18,1,7,22,9,31],rag:[28,1,25,26],isrigidbodi:14,gsteervsforwardspeeddata:3,intersect:[3,18,15,29,10,31],clear:[3,13,14],registercustomclassbinaryseri:2,init:10,wheelmateri:3,lie:[1,18],disabledpropertyentri:2,raw:3,pxvehiclecopydynamicsmap:3,tag:[9,10],repeatedli:15,clean:[24,14,18],provid:[2,5,7,9,20,11,28,32],discov:3,serializecollectiontoxml:[13,25],pxjointconcretetyp:1,pxcontactpoint:[13,32],centimetr:3,cone:[28,1],tensor:[22,5,10,18],longitudin:3,symmetr:10,concis:27,cosin:9,pxobserv:13,enorm_tire_long_forc:13,slip:3,unnecessarili:[9,32],collect:[16,2,18,29,22,9,12,27,13,14,31],eprevent_climbing_and_force_slid:9,heightfield:4,setmassandpreservenaturalfrequ:3,had:[8,3,9,10,14],ani:[15,16,5,18,28,29,1,6,22,9,10,17,12,27,20,13,32],fricpair:13,raycastmultipl:13,estandard:[3,13],pxrevolutejointcr:1,isarticulationlink:14,pxfiltershad:1,gettriangl:[15,18],tunabl:3,exce:[0,5,3,1,22,20,32],startgearchang:3,setrigidbodyflag:[22,13,32],meshweldtoler:18,setmaxdepenetrationveloc:5,durat:3,pxjoint:[1,22,13,5,28],pxregisterarticul:24,unintuit:1,doanyhit:13,getwakecount:22,computejointacceler:28,pxrigiddynam:[22,5,2,18,29,1,8,9,10,11,12,13,25,31,17,32],highli:[16,1],materi:[18,4,5,6,12,28,32],pxbaseflag:2,pxvehicledrive4wwheelord:[3,13],forth:[22,3,9,25],pxsimulationfiltershad:29,e7th_from_front_left:13,pxclient:8,underneath:3,emine_head:29,ebest_poss:3,updatea:0,awai:[18,19,1,22,9,32],shadow:15,primit:[18,7],deepest:29,getinboundjoint:28,grant:26,trepxid:13,linearvelocityactor1:32,linearvelocityactor0:32,wheelqryfilterdata:3,pxmin:5,necessari:[0,5,2,3,29,1,26,22,9,25,11,20,28,13,32,19],dominancegroup:22,swing2:28,promot:[6,3],resist:[22,3,1,28],reportassertviol:10,serial:[4,11],explos:31,ediff_type_open_rearwd:3,affect:[3,28,5,8,20,26,22,13,14,32],debugg:[4,5,11,7],mupratio:3,upgradecollect:13,isol:25,frictionpair:3,isrigidstat:14,numchassismesh:3,race:[3,1,30,26],arriv:26,pxactorclientbehaviorflag:13,setwheelrotationspe:3,item:0,relationship:[3,17,1,22,25,28],summari:[3,21],pxmemzero:28,pxarticulationjoint:[8,28],esolve_contact:32,uncoupl:3,gpu:4,nbtriangl:15,gettirelateraldir:[3,13],"_aligned_malloc":[0,10,11],ebrake_control:13,preset:4,euse_swept_bound:13,"export":[3,25,2],mcrabbodi:29,pxvehiclepadsmoothingdata:3,trgwheel:3,sudden:1,instantiate4wvers:3,tabl:[18,12],fold:13,mindexbas:18,unvalid:18,broadli:31,gettireloadfilterdata:3,pxdominancegrouppair:[22,13],tirealignmo:3,proport:[3,16,1,20,28,32],middlewar:26,xmlmemoryalloc:2,pound:3,pxvehiclemodifywheelcontact:3,pxvehicledrive4wrawinputdata:3,sole:[22,3,13],edit:3,hover:3,movement:[15,29,5,22,9,28],pxvehicleconcurrentupdatedata:3,nthread:13,lowlimit:28,known:[3,15,9,10,11,28,32],directx:11,distro:16,solv:[3,1,8,9,20,28,22,13],"\u03c0":1,camberangleatmaxcompress:3,cycl:[3,1],normalrejectangl:3,maxconstraint:1,shaperenderactor:18,depenetr:[15,5],setsolveriterationcount:22,getcurrentgear:3,straightforward:[3,16,19],exampl:[3,2,1,7,9,10,11,13,16,18,24,20,26,32,0,29,5,8,15,21,22,23,25,28,30,31],invalidatecach:9,createserialobjectid:25,target:[0,17,2,18,3,1,22,24,25,28,13,30,32],pxconstructsolverbodi:22,settim:10,convexstream:25,track:[0,16,18,3,5,24,22,9,26,28,19],event:[6,5,29,1,8,9,10,12,13,14,32],allocateobject:2,pxvehicledrivetanksmoothdigitalrawinputsandsetanaloginput:3,eengine_drive_torqu:13,prototyp:[3,29,25],ereport:14,groups2:10,groups1:10,code:[2,4,1,9,10,11,12,13,16,17,18,6,27,32,29,5,8,15,22,20,28,30,31],cpp:[27,2,18],pxregisterarticulationsreducedcoordin:22,updatez:0,aaaabbbbccccdddd:5,discuss:[5,18,4,1,9,12,29,32],pxpvdtransport:[23,24],pxclothfabrictyp:13,pxclosevehiclesdk:[3,13],posesweptagainst:15,cambertireforc:3,neighbor:18,web:3,pxps3config:13,convert:[2,18,5,9,10,11,28,13,31],inher:[3,28],mfrontleftrightsplit:3,alter:[3,28],camber:3,startaft:26,updateb:0,onobstaclehit:9,settwistlimit:28,govern:[0,18,3],getcontactoffset:9,pxfoundat:[0,3,8,24,11,14],pxraycastbuff:[13,31],believ:[3,16],skid:3,regular:[22,29,18,5,8,13],twist:[28,1,10],licens:[4,12],parallel:[0,5,3,1,22,29,10,17,26,13],heavi:[22,3,1,20],transfer:23,compar:[3,18,15,5,8,9,10,20,14,32],getslopelimit:9,plug:25,shell:[22,15],subtyp:11,pheightfield:18,lean:3,fourth:22,"50th":5,physxapi:[0,16],pxvehiclecomputetireforcedefault:13,efront_right_wheel:13,actual:[3,5,24,22,9,25],hitbuff:[13,31],maya:25,workaround:[5,10,32],pxquerycach:[13,14,31],nbcontactpair:0},objnames:{},titles:["Simulation","Joints","Extending Serialization","Vehicles","NVIDIA PhysX SDK 4.1 Documentation","Best Practices Guide","PhysX License","Debug Visualization","Migrating From PhysX SDK 3.4 to 4.0","Character Controllers","Migrating From PhysX SDK 2.x to 3.x","The PhysX API","User's Guide","Migrating From PhysX SDK 3.2 to 3.3","Migrating From PhysX SDK 3.3 to 3.4","Geometry Queries","Welcome to PhysX","Rigid Body Overview","Geometry","Scene Origin","GPU Rigid Bodies","Simulation Statistics","Rigid Body Dynamics","PhysX Visual Debugger (PVD)","Startup and Shutdown","Serialization","Threading","Snippets","Articulations","Rigid Body Collision","Building with PhysX","Scene Queries","Advanced Collision Detection"],envversion:43,filenames:["Manual/Simulation","Manual/Joints","Manual/ExtendingSerialization","Manual/Vehicles","Index","Manual/BestPractices","Manual/License","Manual/DebugVisualization","Manual/MigrationTo40","Manual/CharacterControllers","Manual/MigrationFrom28","Manual/API","Manual/Index","Manual/MigrationTo33","Manual/MigrationTo34","Manual/GeometryQueries","Manual/Introduction","Manual/RigidBodyOverview","Manual/Geometry","Manual/OriginShift","Manual/GPURigidBodies","Manual/Statistics","Manual/RigidBodyDynamics","Manual/VisualDebugger","Manual/Startup","Manual/Serialization","Manual/Threading","Manual/HelloWorld","Manual/Articulations","Manual/RigidBodyCollision","Manual/BuildingWithPhysX","Manual/SceneQueries","Manual/AdvancedCollisionDetection"],objtypes:{},objects:{},titleterms:{aggreg:29,about:16,lock:[22,1,26],shape:[29,5,10,32],physxcommon:24,realist:5,multi:[3,5],spin:[3,5],clutch:3,file:[23,30],ground:5,triangl:[15,29,18],specif:25,manifold:32,interact:[9,29],sampl:5,cach:[9,25,31],test:[5,10],determin:[22,5,11],vehicl:[3,13],quantiz:5,result:31,object:[16,17,5,9,25,11,26,31],overlap:[15,9,5,10,31],paramet:[5,10],bodi:[22,29,5,17,20],restitut:22,preprocess:1,pxqueryflag:31,steer:3,walkabl:9,math:[13,11],unit:[3,11],pxrigidactor:14,serializ:25,pxgeometryqueri:15,torqu:[22,3],initi:[3,15],pose:[3,10],manag:[9,1,10,11,25],data:[0,5,18,1,23,25,26,32],gener:[3,30,14,18,31],pvd:[0,25,23],practic:[5,25,26],tank:3,reconnect:25,region:29,mesh:[15,29,5,18],cast:[10,11],version:[3,25],distribut:8,requir:25,field:[15,18],thread:[0,5,26,3],simul:[0,5,29,21,10,17,26],drive:[28,1],veri:5,pitfal:15,distanc:1,reduc:[28,5],bewar:5,cct:9,engin:3,pvdclient:23,move:[3,9],share:5,common:25,tool:25,heightfield:[15,5,10,18],overview:[16,17,2],pxbvhstructur:31,environ:5,ccd:[13,32],dynam:[22,28,9,5],telemetri:3,remov:[10,26],vertex:18,seidel:22,sluggish:3,concept:3,box:[15,18],visual:[16,5,1,7,23,27,13,14],migrat:[8,13,10,14],persist:32,project:[28,1,30],contact:[3,14,18,32],setupvehicleactor:3,pxscene:5,implic:[5,32],document:4,redistribut:[10,30],pxmeshqueri:15,earli:5,extend:[23,2],releas:[29,5],what:[27,20],collis:[29,10,32],higher:9,extens:[8,13,10,24],comput:5,pxvehicletiredata:3,shut:24,point:18,explod:5,place:0,rebuild:5,physxfound:24,spu:13,origin:19,alloc:5,pxvehicledrivenw:3,user:[16,11,31,12],assert:11,disabl:[3,5],quickli:3,physic:[24,5],bottleneck:5,car:3,step:[9,10],sdk:[3,4,8,23,24,10,13,14],obstacl:9,estat:31,narrow:5,well:5,scratch:[0,5],refus:3,extra:32,pxgeometryhold:18,under:3,fetchresult:0,access:26,best:[1,5,25,26],notif:32,shutdown:[24,10],eany_hit:31,capsul:[15,9,18],tune:[3,20,32],ani:31,design:10,singl:31,polygon:18,snippet:[27,3,25],shader:[3,1],fix:[1,31],enhanc:22,pruner:5,against:15,prealloc:5,report:[1,10,11,32],mode:[22,3,9,31],pxextens:14,pxvehiclesuspensiondata:3,physx:[6,16,2,4,8,23,10,11,27,13,30,25,14],nvidia:4,retarget:25,perform:[9,5,32,20],surfac:[22,3],edynamic_aabb_tre:31,foundat:24,error:[23,5,10,11],actuat:1,heighfield:29,limit:[1,0,5,18,32],climb:[3,9],sleep:[22,28,5],coordin:[28,5],axi:22,load:24,depth:[15,5,25],compon:24,than:9,despair:5,snippetseri:25,hit:[9,31],buffer:[0,5,26],pxpruningstructur:31,pxvehicleautoboxdata:3,callback:[0,5,29,9,10,31],height:[15,18],subordin:25,task:[0,26],jitteri:3,actor:[22,9,10],time:[9,10],vector:9,statist:21,correct:3,revolut:1,identifi:5,mid:5,solver:[22,1],invalid:9,wall:9,valu:9,pair:5,multithread:[10,26],behavior:[1,9,5,32],volum:9,extern:23,pxdelayloadhook:24,sweep:[15,10,31],kill:5,"function":[15,1,31],indic:18,network:23,pxvehicledrivetank:3,metadata:2,forward:3,split:0,flush:5,jitter:5,unlock:1,from:[8,13,10,14,26],when:[3,5],brief:16,basic:[27,23,1,10,31],charact:[9,5,13],pxsceneflag:14,modul:9,state:[22,3],tight:5,complet:[0,25],serial:[0,13,10,2,25],anisotrop:10,binari:[13,25,2],semant:26,dll:24,breakag:1,gpu:[5,20],snippetvehiclemultithread:3,rare:9,prismat:1,multipl:[3,31,26],lightcputask:26,continu:[10,32],sphere:[15,18],convent:10,cpudispatch:26,insert:[29,5],acceler:[3,20],flag:[23,5],pcm:32,soft:1,activ:22,"16k":0,intern:9,troubleshoot:[3,9,25],scale:[1,18],epostfilt:31,pxpruningstructuretyp:31,secur:24,domin:22,queri:[3,29,15,5,10,13,14,31],bar:3,mass:[22,1],plane:[15,29,18],side:23,pxshare:8,bound:5,kinemat:[22,29,9,5],unnatur:3,merg:31,cloth:[8,13],inform:32,differenti:3,pxvehicleclutchdata:3,differ:11,model:[3,17],how:31,detail:3,first:[3,25],extract:32,gear:3,proper:5,synchron:0,stream:[23,5],provid:18,rotat:3,touch:31,interest:29,edeprecated_trigger_trigger_report:14,sequenc:0,tweak:5,introduct:[3,17,2,18,15,5,24,7,9,25,11,20,26,29,31],precis:15,quickhul:18,core:[8,13,14],scenequeri:23,addit:15,forc:[22,1],turn:3,debug:[5,10,7],platform:25,"case":[9,25],profil:[23,5],spheric:1,pxscenequeryupdatemod:31,ackermann:3,rate:5,repx:[13,25,2],collect:25,hidden:9,defin:[1,31],thi:16,interfac:21,helloworld:27,guidelin:26,configur:[1,30],involv:26,prepar:1,edynam:31,eprefilt:31,slow:[3,5],veloc:[22,28],constraint:1,createshap:14,deseri:25,compart:10,code:[3,25],taskmanag:[13,26],convert:25,pxarticulationcach:28,scene:[0,29,19,5,10,26,13,14,31],licens:6,connect:[23,11],index:10,process:31,estatic_aabb_tre:31,offset:9,count:[25,11,14],loop:17,setupdrivesimdata:3,amort:29,startup:[24,10],deprec:[8,14],tessel:9,name:25,pxvehiclewheelssimdata:3,"class":[13,10,2,11],pxvehicletireloadfilterdata:3,hierarchi:10,upgrad:25,particl:[8,14],custom:[23,1,2,30],everyth:25,eno_block:31,face:18,issu:[9,5],refer:[3,25,11,14],specul:32,substep:0,modif:[18,32],trigger:[29,32],control:[3,9,5,13],discuss:25,detect:[10,32],creation:[3,10],pxvehicleackermanngeometrydata:3,skin:10,tree:5,invers:28,snippetvehiclescal:3,hard:1,usag:[5,21,7],order:3,option:24,snippetloadcollect:25,pxvehiclenodr:3,header:[10,30],through:9,algorithm:[3,29,5,18],down:[3,24],setupwheelssimulationdata:3,slope:3,friction:[22,3,10],width:10,featur:10,asynchron:26,snippetvehiclenodr:3,materi:10,advanc:[3,32,23],pxvehicledifferential4wdata:3,wheel:3,over:[3,9],snippetvehicletank:3,shift:19,batch:[13,31],drivabl:3,raycast:[3,10,32,31,15],beyond:3,rigid:[22,29,5,17,20],nxutillib:10,sim:0,consid:5,closest:31,geometri:[15,9,25,18],registr:18,"final":5,debugg:[27,23,13,14],doubl:26,type:[3,10,11,18],deform:[10,18],onli:18,joint:[1,28,5,10],unbound:31,appli:22,iter:22,anti:3,descript:10,part:9,too:3,setup:23,phase:[29,5],immedi:22,pxvehicleantirollbar:3,consider:[20,26],tire:3,preset:30,chang:[22,10],tempor:22,cmake:[8,30],getactor:5,pile:5,swap:3,tabl:1,guid:[3,16,5,12],auto:9,implement:26,api:[2,8,10,11,13,25,14],invis:9,system:[5,2],articul:28,build:[8,5,30],pxfilterdata:31,corner:3,snippethelloworld:27,pxvehiclewheeldata:3,feel:3,enon:31,snippetvehicle4w:3,extrapol:3,goe:[3,9],curv:3,slowli:3,more:3,posit:28,gauss:22,graphic:9,filter:[3,29,10,31],level:[3,25],doe:3,cook:[18,5,24,10,25,14],event:[22,26],stack:5,block:[0,31],world:16,unstabl:5,pxgpuloadhook:24,convex:[15,5,18],integr:0,recoveri:9,estim:3,much:3,basetask:26,incomplet:25,creat:[28,9,29,31],graviti:22,broad:[29,5],render:[16,10],never:3,steep:3,pxvehicleenginedata:3,updat:[3,9],pxrigiddynam:3,maxim:28,other:[0,25],memori:[0,5,25,11,26,10],check:5,runtim:[9,5],snippetconvert:25,roll:3,properti:22,pxvehicledrive4w:3,penetr:[15,5],delai:24,applic:[25,11],welcom:16,pxvehiclegearsdata:3,popul:29}}) \ No newline at end of file diff --git a/physx/documentation/platformreadme/android/readme_android.html b/physx/documentation/platformreadme/android/readme_android.html index 5a49eb036..5042cde51 100644 --- a/physx/documentation/platformreadme/android/readme_android.html +++ b/physx/documentation/platformreadme/android/readme_android.html @@ -57,7 +57,7 @@

      Snippets deploy and run.

      • Deploy
        • -
        • push the executable to the device e.g.: adb push bin/android.arm.fp-soft/release/SnippetHelloWorld data/tmp
        • +
        • push the executable to the device e.g.: adb push "bin/android.armeabi-v7a with NEON.fp-soft/release/SnippetHelloWorld" data/tmp
        • change the rights for the executable e.g.: adb shell su -c chmod 777 data/tmp/SnippetHelloWorld
      • Run
      • diff --git a/physx/documentation/platformreadme/linux/readme_linux.html b/physx/documentation/platformreadme/linux/readme_linux.html index ce5b258ab..ef6ccd7f9 100644 --- a/physx/documentation/platformreadme/linux/readme_linux.html +++ b/physx/documentation/platformreadme/linux/readme_linux.html @@ -14,7 +14,7 @@

        NVIDIA® PhysX® SDK

        Location of Binaries:

        • SDK libraries: bin/linux.clang
        • -
        +

      Required packages to generate projects:

        @@ -31,21 +31,21 @@

        Generating Makefiles:

      • Supported presets for linux platform are: linux, linux-aarch64.
      • Generated solutions are in folder compiler/linux-debug, compiler/linux-checked, compiler/linux-profile, compiler/linux-release.
      - +

      Building SDK:

      • Makefiles are in compiler/linux-debug etc
      • Clean solution: make clean
      • -
      • Build solution: make
      • +
      • Build solution: make
      - +

      PhysX GPU Acceleration:

        -
      • Requires CUDA 10.0 compatible display driver and CUDA ARCH 3.0 compatible GPU
      • +
      • Requires CUDA 10.0 compatible display driver and CUDA ARCH 3.0 compatible GPU
      - -

      Required Packages for Building and Running PhysX Snippets and Samples:

      -
        + +

        Required Packages for Building and Running PhysX Snippets:

        +
        • libxxf86vm-dev
        • libgl1-mesa-dev
        • libglu1-mesa-dev
        • @@ -55,17 +55,17 @@

          Required Packages for Building and Running PhysX Snippets and Samples:

        • ia32-libs
        • freeglut3-dev
        - +

        How to select the PhysX GPU Device:

        • Set the environment variable PHYSX_GPU_DEVICE to the device ordinal on which GPU PhysX should run. Default is 0.
          Example: export PHYSX_GPU_DEVICE="1"
        - +


        Copyright (c) 2008-2019 NVIDIA Corporation, 2701 San Thomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com

        - + diff --git a/physx/documentation/platformreadme/windows/readme_windows.html b/physx/documentation/platformreadme/windows/readme_windows.html index 3a74da4bd..252331f71 100644 --- a/physx/documentation/platformreadme/windows/readme_windows.html +++ b/physx/documentation/platformreadme/windows/readme_windows.html @@ -19,7 +19,7 @@

        Location of win32 and win64 Binaries:

        Required packages to generate projects:

          -
        • CMake, minimum version 3.12 (3.13.4 for uwp arm64)
        • +
        • CMake, minimum version 3.12 (3.13.4 for uwp arm64, 3.14 for vc16win*)
        • Python, minimum version 2.7.6
        @@ -37,7 +37,7 @@

        Generating solutions for Visual Studio:

        • Solutions are generated through a script in physx root directory: generate_projects.bat
        • Script generate_projects.bat expects a preset name as a parameter, if a parameter is not provided it does list the available presets.
        • -
        • Supported presets for windows platform are: vc12win32, vc12win64, vc14win32, vc14win64, vc15win32, vc15win64.
        • +
        • Supported presets for windows platform are: vc12win32, vc12win64, vc14win32, vc14win64, vc15win32, vc15win64, vc16win32, vc16win64, vc15uwp*.
        • Generated solutions are in folder compiler/"preset name".
        diff --git a/physx/generate_projects.sh b/physx/generate_projects.sh index 58304bc83..245f681d5 100755 --- a/physx/generate_projects.sh +++ b/physx/generate_projects.sh @@ -4,7 +4,11 @@ export PHYSX_ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" export PM_PxShared_PATH="$PHYSX_ROOT_DIR/../pxshared" export PM_CMakeModules_PATH="$PHYSX_ROOT_DIR/../externals/cmakemodules" export PM_opengllinux_PATH="$PHYSX_ROOT_DIR/../externals/opengl-linux" -export PM_PATHS=$PM_opengllinux_PATH +export PM_TARGA_PATH="$PHYSX_ROOT_DIR/../externals/targa" +export PM_CGLINUX_PATH="$PHYSX_ROOT_DIR/../externals/cg-linux" +export PM_GLEWLINUX_PATH="$PHYSX_ROOT_DIR/../externals/glew-linux" +export PM_PATHS="$PM_opengllinux_PATH;$PM_TARGA_PATH;$PM_CGLINUX_PATH;$PM_GLEWLINUX_PATH" + cd "$( dirname "${BASH_SOURCE[0]}" )" python ./buildtools/cmake_generate_projects.py $1 diff --git a/physx/include/PxArticulationReducedCoordinate.h b/physx/include/PxArticulationReducedCoordinate.h index 3da331623..a3acd8e5c 100644 --- a/physx/include/PxArticulationReducedCoordinate.h +++ b/physx/include/PxArticulationReducedCoordinate.h @@ -53,6 +53,16 @@ namespace physx } PX_ALIGN_SUFFIX(16); + PX_ALIGN_PREFIX(16) + struct PxSpatialVelocity + { + PxVec3 linear; + PxReal pad0; + PxVec3 angular; + PxReal pad1; + } + PX_ALIGN_SUFFIX(16); + class PxJoint; struct PxArticulationRootLinkData @@ -69,12 +79,14 @@ namespace physx public: enum Enum { - eVELOCITY = (1 << 0), //!< The joint velocities this frame. Note, this is the accumulated joint velocities, not change in joint velocity. - eACCELERATION = (1 << 1), //!< The joint accelerations this frame. Delta velocity can be computed from acceleration * dt. - ePOSITION = (1 << 2), //!< The joint positions this frame. Note, this is the accumulated joint positions over frames, not change in joint position. - eFORCE = (1 << 3), //!< The joint forces this frame. Note, the application should provide these values for the forward dynamic. If the application is using inverse dynamic, this is the joint force returned. - eROOT = (1 << 4), //!< Root link transform, velocity and acceleration. Note, when the application call applyCache with eROOT flag, it won't apply root link's acceleration to the simulation - eALL = (eVELOCITY | eACCELERATION | ePOSITION| eROOT) + eVELOCITY = (1 << 0), //!< The joint velocities this frame. Note, this is the accumulated joint velocities, not change in joint velocity. + eACCELERATION = (1 << 1), //!< The joint accelerations this frame. Delta velocity can be computed from acceleration * dt. + ePOSITION = (1 << 2), //!< The joint positions this frame. Note, this is the accumulated joint positions over frames, not change in joint position. + eFORCE = (1 << 3), //!< The joint forces this frame. Note, the application should provide these values for the forward dynamic. If the application is using inverse dynamic, this is the joint force returned. + eLINKVELOCITY = (1 << 4), //!< The link velocities this frame. + eLINKACCELERATION = (1 << 5), //!< The link accelerations this frame. + eROOT = (1 << 6), //!< Root link transform, velocity and acceleration. Note, when the application call applyCache with eROOT flag, it won't apply root link's acceleration to the simulation + eALL = (eVELOCITY | eACCELERATION | ePOSITION| eLINKVELOCITY | eLINKACCELERATION | eROOT ) }; PxArticulationCache() : externalForces (NULL), @@ -92,14 +104,16 @@ namespace physx version (0) {} - PxSpatialForce* externalForces; // N = getNbLinks() - PxReal* denseJacobian; // N = 6*getDofs()*NumJoints, NumJoints = getNbLinks() - 1 - PxReal* massMatrix; // N = getDofs()*getDofs() - PxReal* jointVelocity; // N = getDofs() - PxReal* jointAcceleration; // N = getDofs() - PxReal* jointPosition; // N = getDofs() - PxReal* jointForce; // N = getDofs() - PxArticulationRootLinkData* rootLinkData; // root link Data + PxSpatialForce* externalForces; // N = getNbLinks() + PxReal* denseJacobian; // N = 6*getDofs()*NumJoints, NumJoints = getNbLinks() - 1 + PxReal* massMatrix; // N = getDofs()*getDofs() + PxReal* jointVelocity; // N = getDofs() + PxReal* jointAcceleration; // N = getDofs() + PxReal* jointPosition; // N = getDofs() + PxReal* jointForce; // N = getDofs() + PxSpatialVelocity* linkVelocity; // N = getNbLinks() + PxSpatialVelocity* linkAcceleration; // N = getNbLinks() + PxArticulationRootLinkData* rootLinkData; // root link Data //application need to allocate those memory and assign them to the cache PxReal* coefficientMatrix; @@ -372,6 +386,24 @@ namespace physx */ virtual void teleportRootLink(const PxTransform& pose, bool autowake) = 0; + + /** + \brief return the link velocity in world space with the associated low-level link index(getLinkIndex()). + \param[in] linkId low-level link index + + @see getLinkIndex() in PxArticulationLink + */ + virtual PxSpatialVelocity getLinkVelocity(const PxU32 linkId) = 0; + + + /** + \brief return the link acceleration in world space with the associated low-level link index(getLinkIndex()) + \param[in] linkId low-level link index + + @see getLinkIndex() in PxArticulationLink + */ + virtual PxSpatialVelocity getLinkAcceleration(const PxU32 linkId) = 0; + protected: PX_INLINE PxArticulationReducedCoordinate(PxType concreteType, PxBaseFlags baseFlags) : PxArticulationBase(concreteType, baseFlags) {} PX_INLINE PxArticulationReducedCoordinate(PxBaseFlags baseFlags) : PxArticulationBase(baseFlags) {} diff --git a/physx/include/PxBatchQuery.h b/physx/include/PxBatchQuery.h index 8618590b5..6dc4eaa26 100644 --- a/physx/include/PxBatchQuery.h +++ b/physx/include/PxBatchQuery.h @@ -135,7 +135,7 @@ class PX_DEPRECATED PxBatchQuery \param[in] distance Length of the ray. Needs to be larger than 0. \param[in] maxTouchHits Maximum number of hits to record in the touch buffer for this query. Default=0 reports a single blocking hit. If maxTouchHits is set to 0 all hits are treated as blocking by default. \param[in] hitFlags Specifies which properties per hit should be computed and returned in hit array and blocking hit. - \param[in] filterData Filtering data passed to the filer shader. See #PxQueryFilterData #PxBatchQueryPreFilterShader, #PxBatchQueryPostFilterShader + \param[in] filterData Filtering data passed to the filter shader. See #PxQueryFilterData #PxBatchQueryPreFilterShader, #PxBatchQueryPostFilterShader \param[in] userData User can pass any value in this argument, usually to identify this particular query \param[in] cache Cached hit shape (optional). Query is tested against cached shape first. If no hit is found the ray gets queried against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit. diff --git a/physx/include/PxImmediateMode.h b/physx/include/PxImmediateMode.h index 3c1cad5fa..f58872308 100644 --- a/physx/include/PxImmediateMode.h +++ b/physx/include/PxImmediateMode.h @@ -35,6 +35,7 @@ #include "PxPhysXConfig.h" #include "solver/PxSolverDefs.h" #include "collision/PxCollisionDefs.h" +#include "PxArticulationReducedCoordinate.h" #if !PX_DOXYGEN namespace physx @@ -350,6 +351,45 @@ namespace immediate */ PX_C_EXPORT PX_PHYSX_CORE_API void PxReleaseArticulation(Dy::ArticulationV* articulation); + /** + \brief Creates an articulation cache. + \param [in] articulation Articulation handle + \return Articulation cache + + @see PxReleaseArticulationCache + */ + PX_C_EXPORT PX_PHYSX_CORE_API PxArticulationCache* PxCreateArticulationCache(Dy::ArticulationV* articulation); + + + /** + \brief Copy the internal data of the articulation to the cache + \param[in] articulation articulation handle. + \param[in] cache Articulation data + \param[in] flag Indicates which values of the articulation system are copied to the cache + + @see createCache PxApplyArticulationCache + */ + PX_C_EXPORT PX_PHYSX_CORE_API void PxCopyInternalStateToArticulationCache(Dy::ArticulationV* articulation, PxArticulationCache& cache, PxArticulationCacheFlags flag); + + /** + \brief Apply the user defined data in the cache to the articulation system + \param[in] articulation articulation handle. + \param[in] cache Articulation data. + \param[in] flag Defines which values in the cache will be applied to the articulation + + @see createCache PxCopyInternalStateToArticulationCache + */ + PX_C_EXPORT PX_PHYSX_CORE_API void PxApplyArticulationCache(Dy::ArticulationV* articulation, PxArticulationCache& cache, PxArticulationCacheFlags flag); + + /** + \brief Release an articulation cache + + \param[in] cache The cache to release + + @see PxCreateArticulationCache PxCopyInternalStateToArticulationCache PxCopyInternalStateToArticulationCache + */ + PX_C_EXPORT PX_PHYSX_CORE_API void PxReleaseArticulationCache(PxArticulationCache& cache); + /** \brief Adds a link to an immediate-mode reduced-coordinate articulation. The articulation becomes the link's owner/parent. \param [in] articulation Articulation handle diff --git a/physx/include/PxPhysicsVersion.h b/physx/include/PxPhysicsVersion.h index 3e9475f09..4f8c67c07 100644 --- a/physx/include/PxPhysicsVersion.h +++ b/physx/include/PxPhysicsVersion.h @@ -51,7 +51,7 @@ sometimes they are stored in a byte. #define PX_PHYSICS_VERSION_MAJOR 4 #define PX_PHYSICS_VERSION_MINOR 1 -#define PX_PHYSICS_VERSION_BUGFIX 0 +#define PX_PHYSICS_VERSION_BUGFIX 1 /** The constant PX_PHYSICS_VERSION is used when creating certain PhysX module objects. diff --git a/physx/include/PxRigidDynamic.h b/physx/include/PxRigidDynamic.h index d1683994e..84cb66060 100644 --- a/physx/include/PxRigidDynamic.h +++ b/physx/include/PxRigidDynamic.h @@ -60,8 +60,8 @@ struct PxRigidDynamicLockFlag }; }; -typedef PxFlags PxRigidDynamicLockFlags; -PX_FLAGS_OPERATORS(PxRigidDynamicLockFlag::Enum, PxU16) +typedef PxFlags PxRigidDynamicLockFlags; +PX_FLAGS_OPERATORS(PxRigidDynamicLockFlag::Enum, PxU8) /** \brief PxRigidDynamic represents a dynamic rigid simulation object in the physics SDK. diff --git a/physx/include/PxScene.h b/physx/include/PxScene.h index 9fb4622a5..ebe579f06 100644 --- a/physx/include/PxScene.h +++ b/physx/include/PxScene.h @@ -1322,7 +1322,7 @@ class PxScene \param[in] distance Length of the ray. Has to be in the [0, inf) range. \param[out] hitCall Raycast hit buffer or callback object used to report raycast hits. \param[in] hitFlags Specifies which properties per hit should be computed and returned via the hit callback. - \param[in] filterData Filtering data passed to the filer shader. See #PxQueryFilterData #PxBatchQueryPreFilterShader, #PxBatchQueryPostFilterShader + \param[in] filterData Filtering data passed to the filter shader. See #PxQueryFilterData #PxBatchQueryPreFilterShader, #PxBatchQueryPostFilterShader \param[in] filterCall Custom filtering logic (optional). Only used if the corresponding #PxQueryFlag flags are set. If NULL, all hits are assumed to be blocking. \param[in] cache Cached hit shape (optional). Ray is tested against cached shape first. If no hit is found the ray gets queried against the scene. Note: Filtering is not executed for a cached shape if supplied; instead, if a hit is found, it is assumed to be a blocking hit. diff --git a/physx/include/collision/PxCollisionDefs.h b/physx/include/collision/PxCollisionDefs.h index 27d61ef05..5923d0953 100644 --- a/physx/include/collision/PxCollisionDefs.h +++ b/physx/include/collision/PxCollisionDefs.h @@ -56,6 +56,8 @@ namespace physx PX_FORCE_INLINE PxCache() : mCachedData(NULL), mCachedSize(0), mPairData(0), mManifoldFlags(0) { } + + PX_FORCE_INLINE void reset() { mCachedData = NULL; mCachedSize = 0; mPairData = 0; mManifoldFlags = 0;} }; diff --git a/physx/include/common/PxPhysXCommonConfig.h b/physx/include/common/PxPhysXCommonConfig.h index 481d7fc20..d2f83a0d7 100644 --- a/physx/include/common/PxPhysXCommonConfig.h +++ b/physx/include/common/PxPhysXCommonConfig.h @@ -47,7 +47,7 @@ #if defined PX_PHYSX_STATIC_LIB #define PX_PHYSX_CORE_API #else - #if PX_WINDOWS_FAMILY + #if (PX_WINDOWS_FAMILY || PX_XBOXONE || PX_PS4) #if defined PX_PHYSX_CORE_EXPORTS #define PX_PHYSX_CORE_API __declspec(dllexport) #else @@ -85,7 +85,7 @@ #if defined PX_PHYSX_STATIC_LIB #define PX_PHYSX_COMMON_API #else - #if PX_WINDOWS_FAMILY && !defined(__CUDACC__) + #if (PX_WINDOWS_FAMILY || PX_XBOXONE || PX_PS4) && !defined(__CUDACC__) #if defined PX_PHYSX_COMMON_EXPORTS #define PX_PHYSX_COMMON_API __declspec(dllexport) #else diff --git a/physx/include/cooking/Pxc.h b/physx/include/cooking/Pxc.h index df074509a..ab28adf00 100644 --- a/physx/include/cooking/Pxc.h +++ b/physx/include/cooking/Pxc.h @@ -35,7 +35,7 @@ // define API function declaration #if !defined PX_PHYSX_STATIC_LIB - #if PX_WINDOWS_FAMILY + #if (PX_WINDOWS_FAMILY || PX_XBOXONE || PX_PS4) #if defined PX_PHYSX_COOKING_EXPORTS #define PX_PHYSX_COOKING_API __declspec(dllexport) #else diff --git a/physx/include/extensions/PxSerialization.h b/physx/include/extensions/PxSerialization.h index 5b0354d13..54e5cdd08 100644 --- a/physx/include/extensions/PxSerialization.h +++ b/physx/include/extensions/PxSerialization.h @@ -46,7 +46,7 @@ PX_BINARY_SERIAL_VERSION is used to version the PhysX binary data and meta data. The global unique identifier of the PhysX SDK needs to match the one in the data and meta data, otherwise they are considered incompatible. A 32 character wide GUID can be generated with https://www.guidgenerator.com/ for example. */ -#define PX_BINARY_SERIAL_VERSION "9CC88140D6474C72BA8410E38FE6CAB1" +#define PX_BINARY_SERIAL_VERSION "F193874828914B3A8AC4EFE75AED0247" #if !PX_DOXYGEN diff --git a/physx/include/foundation/PxFoundationConfig.h b/physx/include/foundation/PxFoundationConfig.h index 1733453ca..a2e74ecea 100644 --- a/physx/include/foundation/PxFoundationConfig.h +++ b/physx/include/foundation/PxFoundationConfig.h @@ -39,7 +39,7 @@ #if defined PX_PHYSX_STATIC_LIB #define PX_FOUNDATION_API #else - #if PX_WINDOWS_FAMILY && !defined(__CUDACC__) + #if (PX_WINDOWS_FAMILY || PX_XBOXONE || PX_PS4) && !defined(__CUDACC__) #if defined PX_PHYSX_FOUNDATION_EXPORTS #define PX_FOUNDATION_API __declspec(dllexport) #else diff --git a/physx/include/solver/PxSolverDefs.h b/physx/include/solver/PxSolverDefs.h index d627eba73..f93b6835a 100644 --- a/physx/include/solver/PxSolverDefs.h +++ b/physx/include/solver/PxSolverDefs.h @@ -279,7 +279,8 @@ struct PxArticulationFlag { enum Enum { - eFIX_BASE = (1 << 0) + eFIX_BASE = (1 << 0), + eDRIVE_LIMITS_ARE_FORCES = (1<<1) }; }; @@ -291,7 +292,10 @@ struct PxArticulationDriveType enum Enum { eFORCE = 0, - eACCELERATION = 1 + eACCELERATION = 1, + eTARGET = 2, + eVELOCITY = 3, + eNONE = 4 }; }; diff --git a/physx/include/vehicle/PxVehicleUpdate.h b/physx/include/vehicle/PxVehicleUpdate.h index 12010875f..40306fdcd 100644 --- a/physx/include/vehicle/PxVehicleUpdate.h +++ b/physx/include/vehicle/PxVehicleUpdate.h @@ -90,6 +90,8 @@ namespace physx /** \brief If suspension travel limits forbid the wheel from touching the drivable surface then isInAir is true. \note If the wheel can be placed on the contact plane of the most recent suspension line raycast/sweep then isInAir is false. + \note If #PxVehicleWheelsSimFlag::eLIMIT_SUSPENSION_EXPANSION_VELOCITY is set, then isInAir will also be true if the suspension + force is not large enough to expand to the target length in the given simulation time step. \note If no raycast/sweep for the corresponding suspension was performed immediately prior to PxVehicleUpdates then isInAir is computed using the contact plane that was hit by the most recent suspension line raycast/sweep. */ diff --git a/physx/include/vehicle/PxVehicleWheels.h b/physx/include/vehicle/PxVehicleWheels.h index 1fd6eabc7..322701c43 100644 --- a/physx/include/vehicle/PxVehicleWheels.h +++ b/physx/include/vehicle/PxVehicleWheels.h @@ -52,6 +52,38 @@ class PxShape; class PxPhysics; class PxMaterial; +/** +\brief Flags to configure the vehicle wheel simulation. + +@see PxVehicleWheelsSimData::setFlags(), PxVehicleWheelsSimData::getFlags() +*/ +struct PxVehicleWheelsSimFlag +{ + enum Enum + { + /** + \brief Limit the suspension expansion velocity. + + For extreme damping ratios, large damping forces might result in the vehicle sticking to the ground where + one would rather expect to see the vehicle lift off. While it is highly recommended to use somewhat realistic + damping ratios, this flag can be used to limit the velocity of the suspension. In more detail, the simulation + will check whether the suspension can extend to the target length in the given simulation time step. If that + is the case, the suspension force will be computed as usual, else the force will be set to zero. Enabling + this feature gives a slightly more realisitic behavior at the potential cost of more easily losing control + when steering the vehicle. + */ + eLIMIT_SUSPENSION_EXPANSION_VELOCITY = (1 << 0) + }; +}; + +/** +\brief Collection of set bits defined in #PxVehicleWheelsSimFlag. + +@see PxVehicleWheelsSimFlag +*/ +typedef PxFlags PxVehicleWheelsSimFlags; +PX_FLAGS_OPERATORS(PxVehicleWheelsSimFlag::Enum, PxU32) + /** \brief Data structure describing configuration data of a vehicle with up to 20 wheels. */ @@ -408,6 +440,26 @@ class PxVehicleWheelsSimData */ void setMinLongSlipDenominator(const PxReal minLongSlipDenominator); + /** + \brief Set the vehicle wheel simulation flags. + + \param[in] flags The flags to set (see #PxVehicleWheelsSimFlags). + + Default: no flag set + + @see PxVehicleWheelsSimFlag + */ + void setFlags(PxVehicleWheelsSimFlags flags); + + /** + \brief Return the vehicle wheel simulation flags. + + \return The values of the flags. + + @see PxVehicleWheelsSimFlag + */ + PxVehicleWheelsSimFlags getFlags() const; + private: /** @@ -476,9 +528,14 @@ class PxVehicleWheelsSimData */ PxF32 mMinLongSlipDenominator; + /** + \brief The vehicle wheel simulation flags. + + @see PxVehicleWheelsSimFlags + */ + PxU32 mFlags; + #if PX_P64_FAMILY - PxU32 mPad[2]; -#else PxU32 mPad[1]; #endif @@ -749,6 +806,11 @@ class PxVehicleWheels : public PxBase */ void free(); + /* + \brief Deferred deletion. + */ + void onConstraintRelease(); + /** @see PxVehicleDrive4W::setup, PxVehicleDriveTank::setup */ diff --git a/physx/release_notes.html b/physx/release_notes.html index 506105992..cc40e1868 100644 --- a/physx/release_notes.html +++ b/physx/release_notes.html @@ -26,6 +26,67 @@ + + +

        Release Notes - NVIDIA® PhysX® SDK 4.1.1

        +

        August 2019

        + +

        General

        +
          +
        • Added:
        • +
            +
          • Support for Visual Studio 2019 has been added, cmake 3.14 is required.
          • +
          +
        • Changed:
        • +
            +
          • Android binary output directory name contains Android ABI string.
          • +
          +
        + +

        Vehicles

        +
          +
        • Added:
        • +
            +
          • PxVehicleWheelsSimFlags and corresponding set/get methods have been added to PxVehicleWheelsSimData. The flag eLIMIT_SUSPENSION_EXPANSION_VELOCITY can be used to avoid suspension forces being applied if the suspension can not expand fast enough to push the wheel onto the ground in a simulation step. This helps to reduce artifacts like the vehicle sticking to the ground if extreme damping ratios are chosen.
          • +
          +
        • Fixed:
        • +
            +
          • The PxVehicleDrive::setToRestState() was not clearing all cached data, which could sometimes make vehicles misbehave after calls to this function.
          • +
          +
        + +

        Cooking

        +
          +
        • Added:
        • +
            +
          • Added error message when not at least four valid vertices exist after vertices cleanup.
          • +
          +
        + +

        Serialization

        +
          +
        • Fixed:
        • +
            +
          • Binary serialization of kinematic rigid dynamic actors was failing unless they were part of a scene.
          • +
          +
        + +

        Rigid body

        +
          +
        • Fixed
        • +
            +
          • Out of shared memory failure with GPU articulations.
          • +
          • Inconsistent results when setting joint drive targets with GPU articulations compared to CPU articulations.
          • +
          • Assert when simulating a scene with > 64k rigid bodies and joints.
          • +
          • Error in PxActor::getConnectors() method when there are multiple connector types.
          • +
          • Setting joint positions on articulations did not update world-space link poses and velocities.
          • +
          • Improved TGS articulation joint drive solver.
          • +
          • Improved robustness of articulation spherical joints.
          • +
          • Joint forces/positions/velocities set through the PxArticulationCache are correctly applied when using GPU articulations.
          • +
          • Fixed rare crash in MBP when the system contains out-of-bounds objects.
          • +
          +
        +

        Release Notes - NVIDIA® PhysX® SDK 4.1.0

        @@ -36,7 +97,7 @@

        Overview

      • Immediate mode support for reduced-coordinates articulations and the temporal Gauss Seidel solver.
      • GPU acceleration for reduced-coordinates articulations.
      - +

      General

      • Added:
      • @@ -56,7 +117,7 @@

        General

      • Removed PxArticulationBase::getType(), PxArticulationBase::eReducedCoordinate, PxArticulationBase::eMaximumCoordinate and added PxConcreteType::eARTICULATION_REDUCED_COORDINATE, PxConcreteType::eARTICULATION_JOINT_REDUCED_COORDINATE.
    - +

    Rigid Bodies

    • Added:
    • @@ -80,7 +141,7 @@

      Rigid Bodies

    • Fixed an issue with articulation when removing and adding links to the articulation.
- +

Serialization

  • Added:
  • diff --git a/physx/samples/compiler/cmake/linux/CMakeLists.txt b/physx/samples/compiler/cmake/linux/CMakeLists.txt index f0164a0cc..27202c6af 100644 --- a/physx/samples/compiler/cmake/linux/CMakeLists.txt +++ b/physx/samples/compiler/cmake/linux/CMakeLists.txt @@ -33,7 +33,7 @@ IF (NOT DEFINED PHYSX_CXX_FLAGS) MESSAGE(FATAL ERROR "Samples uses the PhysX CXX flags, and they're not defined when they need to be.") ENDIF() -SET(SAMPLES_ADDITIONAL_WARNINGS "-Wno-missing-field-initializers -Wno-unused-parameter -Wno-header-hygiene -Wno-double-promotion -Wno-format-pedantic -Wno-switch-enum -Wno-unused-variable -Wno-sign-compare -Wno-shadow -Wno-sometimes-uninitialized -Wno-conditional-uninitialized -Wno-vla -Wno-vla-extension -Wno-reorder -Wno-duplicate-enum -Wno-unknown-pragmas -Wno-shadow-field -Wno-comma -Wno-cast-qual -Wno-null-pointer-arithmetic") +SET(SAMPLES_ADDITIONAL_WARNINGS "-Wno-missing-field-initializers -Wno-macro-redefined -Wno-unused-parameter -Wno-header-hygiene -Wno-double-promotion -Wno-format-pedantic -Wno-switch-enum -Wno-unused-variable -Wno-sign-compare -Wno-shadow -Wno-sometimes-uninitialized -Wno-conditional-uninitialized -Wno-vla -Wno-vla-extension -Wno-reorder -Wno-duplicate-enum -Wno-unknown-pragmas -Wno-shadow-field -Wno-comma -Wno-cast-qual -Wno-null-pointer-arithmetic") # Get the CXX Flags from the Cached variables set by the PhysX CMakeLists SET(CMAKE_CXX_FLAGS "${PHYSX_CXX_FLAGS} ${SAMPLES_ADDITIONAL_WARNINGS}") diff --git a/physx/samples/sampleframework/framework/src/linux/LinuxSampleAssetManager.cpp b/physx/samples/sampleframework/framework/src/linux/LinuxSampleAssetManager.cpp new file mode 100644 index 000000000..62abd69e5 --- /dev/null +++ b/physx/samples/sampleframework/framework/src/linux/LinuxSampleAssetManager.cpp @@ -0,0 +1,50 @@ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of NVIDIA CORPORATION nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved. +#include + +#include +#include +#include + + +bool SampleFramework::searchForPath(const char* path, char* buffer, int bufferSize, bool isReadOnly, int maxRecursion) +{ + struct stat sb; + char* tmpBuffer = (char*)alloca(bufferSize); + sprintf(buffer, "%s", path); + for(int i = 0; i < maxRecursion; i++) + { + if(stat(buffer, &sb)) + { + sprintf(tmpBuffer, "../%s", buffer); + strcpy(buffer, tmpBuffer); + } + else + return true; + } + return false; +} diff --git a/physx/samples/sampleframework/platform/include/linux/LinuxSamplePlatform.h b/physx/samples/sampleframework/platform/include/linux/LinuxSamplePlatform.h new file mode 100644 index 000000000..e8de80d81 --- /dev/null +++ b/physx/samples/sampleframework/platform/include/linux/LinuxSamplePlatform.h @@ -0,0 +1,131 @@ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of NVIDIA CORPORATION nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved. + +#ifndef LINUX_SAMPLE_PLATFORM_H +#define LINUX_SAMPLE_PLATFORM_H + +#include +#include + +#include +#include + +#if defined(RENDERER_ENABLE_OPENGL) + #define GLEW_STATIC + #include +#endif + +#include +#include +#include + +namespace SampleFramework +{ + class LinuxPlatform : public SamplePlatform + { + public: + explicit LinuxPlatform(SampleRenderer::RendererWindow* _app); + // System + virtual void showCursor(bool); + virtual void setCWDToEXE(void); + const char* getPathSeparator(); + bool makeSureDirectoryPathExists(const char* dirPath); + void showMessage(const char* title, const char* message); + // Rendering + virtual void initializeOGLDisplay(const SampleRenderer::RendererDesc& desc, + physx::PxU32& width, + physx::PxU32& height); + virtual void postInitializeOGLDisplay(); + virtual void postRendererSetup(SampleRenderer::Renderer* renderer); + virtual void setupRendererDescription(SampleRenderer::RendererDesc& renDesc); + virtual bool hasFocus() const; + virtual void setFocus(bool b); + virtual void getTitle(char *title, physx::PxU32 maxLength) const; + virtual void setTitle(const char *title); + virtual bool updateWindow(); + virtual bool openWindow(physx::PxU32& width, + physx::PxU32& height, + const char* title, + bool fullscreen); + virtual void getWindowSize(physx::PxU32& width, physx::PxU32& height); + virtual void update(); + virtual bool closeWindow(); + virtual void freeDisplay(); + virtual void swapBuffers(); + + virtual void* compileProgram(void * context, + const char* assetDir, + const char *programPath, + physx::PxU64 profile, + const char* passString, + const char *entry, + const char **args); + + // Input + virtual void doInput(); + + virtual const SampleUserInput* getSampleUserInput() const { return &m_linuxSampleUserInput; } + virtual SampleUserInput* getSampleUserInput() { return &m_linuxSampleUserInput; } + + virtual const char* getPlatformName() const { return "linux"; } + + virtual void setMouseCursorRecentering(bool val); + virtual bool getMouseCursorRecentering() const; + + physx::PxVec2 getMouseCursorPos() const { return m_mouseCursorPos; } + void setMouseCursorPos(const physx::PxVec2& pos) { m_mouseCursorPos = pos; } + void recenterMouseCursor(bool generateEvent); + + LinuxSampleUserInput& getLinuxSampleUserInput() { return m_linuxSampleUserInput; } + const LinuxSampleUserInput& getLinuxSampleUserInput() const { return m_linuxSampleUserInput; } + + protected: + bool filterKeyRepeat(const XEvent& keyReleaseEvent); + void handleMouseEvent(const XEvent& event); + void showCursorInternal(bool show); + + protected: + Display* m_display; + XVisualInfo* m_visualInfo; + Window m_window; + Atom m_wmDelete; + GLXContext m_glxContext; + XF86VidModeModeInfo m_desktopMode; + int m_screen; + bool m_isFullScreen; + bool m_hasFocus; + bool m_hasContentFocus; + physx::PxU32 m_windowWidth; + physx::PxU32 m_windowHeight; + LinuxSampleUserInput m_linuxSampleUserInput; + physx::PxVec2 m_mouseCursorPos; + bool m_recenterMouseCursor; + bool m_showCursor; + }; +} + +#endif diff --git a/physx/samples/sampleframework/platform/include/linux/LinuxSampleUserInput.h b/physx/samples/sampleframework/platform/include/linux/LinuxSampleUserInput.h new file mode 100644 index 000000000..311523a74 --- /dev/null +++ b/physx/samples/sampleframework/platform/include/linux/LinuxSampleUserInput.h @@ -0,0 +1,76 @@ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of NVIDIA CORPORATION nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved. + +#ifndef LINUX_SAMPLE_USER_INPUT_H +#define LINUX_SAMPLE_USER_INPUT_H + +#include +#include +#include +#include + + +namespace SampleFramework +{ + class LinuxSampleUserInput: public SampleUserInput + { + public: + + LinuxSampleUserInput(); + ~LinuxSampleUserInput(); + + void doOnMouseMove( physx::PxU32 x, physx::PxU32 y, physx::PxReal dx, physx::PxReal dy, physx::PxU16 button); + void doOnMouseDown( physx::PxU32 x, physx::PxU32 y, physx::PxU16 button); + void doOnMouseUp( physx::PxU32 x, physx::PxU32 y, physx::PxU16 button); + void doOnKeyDown( KeySym keySym, physx::PxU16 keyCode, physx::PxU8 ascii); + void doOnKeyUp( KeySym keySym, physx::PxU16 keyCode, physx::PxU8 ascii); + + virtual void updateInput(); + + virtual void shutdown(); + + virtual bool keyboardSupported() const { return true; } + virtual bool gamepadSupported() const { return false; } + virtual bool mouseSupported() const { return true; } + + virtual bool getDigitalInputEventState(physx::PxU16 inputEventId) const; + virtual float getAnalogInputEventState(physx::PxU16 inputEventId) const; + + protected: + + void registerScanCode(LinuxSampleUserInputIds scanCodeId, physx::PxU16 scanCode, LinuxSampleUserInputIds nameId, const char* name); + LinuxSampleUserInputIds getInputIdFromKeySym(const KeySym keySym) const; + LinuxSampleUserInputIds getInputIdFromMouseButton(const physx::PxU16 button) const; + const UserInput* getUserInputFromId(LinuxSampleUserInputIds id) const; + + std::map m_ScanCodesMap; + std::map m_AnalogStates; + std::map m_DigitalStates; + }; +} + +#endif diff --git a/physx/samples/sampleframework/platform/include/linux/LinuxSampleUserInputIds.h b/physx/samples/sampleframework/platform/include/linux/LinuxSampleUserInputIds.h new file mode 100644 index 000000000..4612cc37f --- /dev/null +++ b/physx/samples/sampleframework/platform/include/linux/LinuxSampleUserInputIds.h @@ -0,0 +1,141 @@ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of NVIDIA CORPORATION nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved. + +#ifndef LINUX_SAMPLE_USER_INPUT_IDS_H +#define LINUX_SAMPLE_USER_INPUT_IDS_H + +namespace SampleFramework +{ + enum LinuxSampleUserInputIds + { + LINUXKEY_UNKNOWN = 0, + + // the following keys are keyboard layout dependent + // its not a complete list + LINUXKEY_A, + LINUXKEY_B, + LINUXKEY_C, + LINUXKEY_D, + LINUXKEY_E, + LINUXKEY_F, + LINUXKEY_G, + LINUXKEY_H, + LINUXKEY_I, + LINUXKEY_J, + LINUXKEY_K, + LINUXKEY_L, + LINUXKEY_M, + LINUXKEY_N, + LINUXKEY_O, + LINUXKEY_P, + LINUXKEY_Q, + LINUXKEY_R, + LINUXKEY_S, + LINUXKEY_T, + LINUXKEY_U, + LINUXKEY_V, + LINUXKEY_W, + LINUXKEY_X, + LINUXKEY_Y, + LINUXKEY_Z, + + LINUXKEY_0, + LINUXKEY_1, + LINUXKEY_2, + LINUXKEY_3, + LINUXKEY_4, + LINUXKEY_5, + LINUXKEY_6, + LINUXKEY_7, + LINUXKEY_8, + LINUXKEY_9, + + LINUXKEY_NUMPAD0, + LINUXKEY_NUMPAD1, + LINUXKEY_NUMPAD2, + LINUXKEY_NUMPAD3, + LINUXKEY_NUMPAD4, + LINUXKEY_NUMPAD5, + LINUXKEY_NUMPAD6, + LINUXKEY_NUMPAD7, + LINUXKEY_NUMPAD8, + LINUXKEY_NUMPAD9, + + LINUXKEY_SHIFT, + LINUXKEY_CONTROL, + LINUXKEY_SPACE, + LINUXKEY_RETURN, + LINUXKEY_ESCAPE, + LINUXKEY_COMMA, + LINUXKEY_DIVIDE, + LINUXKEY_SUBTRACT, + LINUXKEY_ADD, + + LINUXKEY_F1, + LINUXKEY_F2, + LINUXKEY_F3, + LINUXKEY_F4, + LINUXKEY_F5, + LINUXKEY_F6, + LINUXKEY_F7, + LINUXKEY_F8, + LINUXKEY_F9, + LINUXKEY_F10, + LINUXKEY_F11, + LINUXKEY_F12, + + LINUXKEY_TAB, + LINUXKEY_BACKSPACE, + LINUXKEY_PRIOR, + LINUXKEY_NEXT, + LINUXKEY_UP, + LINUXKEY_DOWN, + LINUXKEY_LEFT, + LINUXKEY_RIGHT, + + MOUSE_BUTTON_LEFT, + MOUSE_BUTTON_RIGHT, + MOUSE_BUTTON_CENTER, + + MOUSE_MOVE, + + SCAN_CODE_UP , + SCAN_CODE_DOWN , + SCAN_CODE_LEFT, + SCAN_CODE_RIGHT, + SCAN_CODE_FORWARD, + SCAN_CODE_BACKWARD, + SCAN_CODE_L, + SCAN_CODE_9, + SCAN_CODE_0, + + NUM_KEY_CODES, + }; + +} + +#endif diff --git a/physx/samples/sampleframework/platform/src/linux/LinuxSamplePlatform.cpp b/physx/samples/sampleframework/platform/src/linux/LinuxSamplePlatform.cpp new file mode 100644 index 000000000..ee044c916 --- /dev/null +++ b/physx/samples/sampleframework/platform/src/linux/LinuxSamplePlatform.cpp @@ -0,0 +1,577 @@ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of NVIDIA CORPORATION nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved. +#include +#include +#include +#include +#include + +#include +#include +//#include +#include + +#include +#include +#include +#include + + +using namespace SampleFramework; +using SampleRenderer::RendererWindow; + +namespace Ps = physx::shdfnd; + +// filters OS key auto repeat, otherwise you get repeatedly key released and pressed events +// returns true if the supplied event was a auto repeat one. +// XAutoRepeatOff(m_display); does change the behaviour for the entire display. +// So you see the effect also in other apps while the samples are running, which is bad. +bool LinuxPlatform::filterKeyRepeat(const XEvent& keyReleaseEvent) +{ + if(keyReleaseEvent.type == KeyRelease && XEventsQueued(m_display, QueuedAfterReading)) + { + XEvent nev; + XPeekEvent(m_display, &nev); + if (nev.type == KeyPress && + nev.xkey.time == keyReleaseEvent.xkey.time && + nev.xkey.keycode == keyReleaseEvent.xkey.keycode) + { + // Key wasn't actually released, eat event + XNextEvent(m_display, &nev); + return true; + } + } + return false; +} + +SamplePlatform* SampleFramework::createPlatform(SampleRenderer::RendererWindow* _app) +{ + printf("Creating linux platform abstraction.\n"); + SamplePlatform::setPlatform(new LinuxPlatform(_app)); + return SamplePlatform::platform(); +} + +void* LinuxPlatform::compileProgram(void * context, + const char* assetDir, + const char *programPath, + physx::PxU64 profile, + const char* passString, + const char *entry, + const char **args) + +{ + char fullpath[1024]; + Ps::strlcpy(fullpath, 1024, assetDir); + Ps::strlcat(fullpath, 1024, "shaders/"); + Ps::strlcat(fullpath, 1024, programPath); + CGprogram program = cgCreateProgramFromFile(static_cast(context), CG_SOURCE, fullpath, static_cast(profile), entry, args); + + return program; +} + +static PxI32 errorHandler(Display* d, XErrorEvent* e) +{ + printf("Xerror!\n"); + return 0; +} + +static PxI32 errorHandlerIO(Display* d) +{ + printf("X IO error!\n"); + return 0; +} + + +LinuxPlatform::LinuxPlatform(SampleRenderer::RendererWindow* _app) +: SamplePlatform(_app) +, m_display(NULL) +, m_visualInfo(NULL) +, m_hasFocus(false) +, m_hasContentFocus(false) +, m_isFullScreen(false) +, m_screen(0) +, m_mouseCursorPos(0) +, m_recenterMouseCursor(false) +, m_showCursor(true) +{ + XInitThreads(); + XSetIOErrorHandler(errorHandlerIO); + XSetErrorHandler(errorHandler); +} + +void LinuxPlatform::setCWDToEXE(void) +{ + char exepath[1024] = {0}; + if(getcwd(exepath, 1024)) + { + if(chdir(exepath) != 0) + { + printf("LinuxPlatform::setCWDToEXE chdir failed!\n"); + } + } +} + +void LinuxPlatform::setupRendererDescription(SampleRenderer::RendererDesc& renDesc) +{ + renDesc.driver = SampleRenderer::Renderer::DRIVER_OPENGL; + renDesc.windowHandle = 0; +} + +void LinuxPlatform::postRendererSetup(SampleRenderer::Renderer* renderer) +{ + if(!renderer) + { + // quit if no renderer was created. Nothing else to do. + // error was output in createRenderer. + exit(1); + } + char windowTitle[1024] = {0}; + m_app->getTitle(windowTitle, 1024); + strcat(windowTitle, " : "); + strcat(windowTitle, SampleRenderer::Renderer::getDriverTypeName(renderer->getDriverType())); + m_app->setTitle(windowTitle); +} + +void LinuxPlatform::setMouseCursorRecentering(bool val) +{ + if (m_recenterMouseCursor != val) + { + m_recenterMouseCursor = val; + if (m_recenterMouseCursor) + recenterMouseCursor(false); + } +} + +bool LinuxPlatform::getMouseCursorRecentering() const +{ + return m_recenterMouseCursor; +} + +void LinuxPlatform::recenterMouseCursor(bool generateEvent) +{ + if (m_recenterMouseCursor && m_hasContentFocus) + { + // returns relative window coordinates, opposed to absolute ones! + // different than on other platforms. + PxI32 x, y, xtmp, ytmp; + PxU32 mtmp; + Window root, child; + XQueryPointer(m_display, m_window, &root, &child, &xtmp, &ytmp, &x, &y, &mtmp); + + PxVec2 current(static_cast(x), static_cast(m_windowHeight - y)); + + PxI32 linuxCenterX = m_windowWidth >> 1; + PxI32 linuxCenterY = m_windowHeight >> 1; + + XWarpPointer(m_display, 0, m_window, 0, 0, 0, 0, linuxCenterX, linuxCenterY); + // sync here needed, otherwise the deltas will be (almost) zero + XSync(m_display, false); + + if (generateEvent) + { + PxVec2 diff = current - PxVec2(static_cast(linuxCenterX), static_cast(m_windowHeight - linuxCenterY)); + getLinuxSampleUserInput().doOnMouseMove(linuxCenterX, m_windowHeight - linuxCenterY, diff.x, diff.y, MOUSE_MOVE); + } + + m_mouseCursorPos = current; + } +} + +void LinuxPlatform::showCursorInternal(bool show) +{ + if(show) + { + XUndefineCursor(m_display, m_window); + } + else + { + Pixmap bm_no; + Colormap cmap; + Cursor no_ptr; + XColor black, dummy; + static char bm_no_data[] = {0, 0, 0, 0, 0, 0, 0, 0}; + + cmap = DefaultColormap(m_display, DefaultScreen(m_display)); + XAllocNamedColor(m_display, cmap, "black", &black, &dummy); + bm_no = XCreateBitmapFromData(m_display, m_window, bm_no_data, 8, 8); + no_ptr = XCreatePixmapCursor(m_display, bm_no, bm_no, &black, &black, 0, 0); + + XDefineCursor(m_display, m_window, no_ptr); + XFreeCursor(m_display, no_ptr); + if(bm_no != None) + XFreePixmap(m_display, bm_no); + XFreeColors(m_display, cmap, &black.pixel, 1, 0); + } +} + +void LinuxPlatform::showCursor(bool show) +{ + if(m_showCursor == show) + return; + + m_showCursor = show; + showCursorInternal(show); +} + +void LinuxPlatform::doInput() +{ + /* do nothing */ +} + +bool LinuxPlatform::openWindow(physx::PxU32& width, physx::PxU32& height,const char* title, bool fullscreen) +{ + Window rootWindow; + GLint attributes[] = { GLX_RGBA, GLX_DEPTH_SIZE, 24, GLX_DOUBLEBUFFER, None }; + Colormap colorMap; + XSetWindowAttributes setWindowAttributes; + XWindowAttributes xWindowAttributes; + XEvent xEvent; + + int glxMajor, glxMinor, vmMajor, vmMinor; + XF86VidModeModeInfo** modes; + int modeNum; + int bestMode = 0; // set best mode to current + + m_display = XOpenDisplay(NULL); + m_screen = DefaultScreen(m_display); + + if(!m_display) + { + printf("Cannot connect to X server!\n"); + closeWindow(); + return false; + } + + XF86VidModeQueryVersion(m_display, &vmMajor, &vmMinor); + printf("XF86 VideoMode extension version %d.%d\n", vmMajor, vmMinor); + + glXQueryVersion(m_display, &glxMajor, &glxMinor); + printf("GLX-Version %d.%d\n", glxMajor, glxMinor); + + rootWindow = RootWindow(m_display, m_screen); + + m_visualInfo = glXChooseVisual(m_display, m_screen, attributes); + if(!m_visualInfo) + { + printf("no appropriate visual found!\n"); + closeWindow(); + return false; + } + + colorMap = XCreateColormap(m_display, rootWindow, m_visualInfo->visual, AllocNone); + setWindowAttributes.colormap = colorMap; + setWindowAttributes.event_mask = ExposureMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask | PointerMotionMask | FocusChangeMask; + + m_windowWidth = width; + m_windowHeight = height; + //fullscreen = true; + m_isFullScreen = fullscreen; + int windowFlags = CWColormap | CWEventMask; + + if(fullscreen) + { + XF86VidModeGetAllModeLines(m_display, m_screen, &modeNum, &modes); + // save desktop-resolution before switching modes + m_desktopMode = *modes[0]; + + // look for mode with requested resolution + for (PxU32 i = 0; i < modeNum; i++) + { + if ((modes[i]->hdisplay == width) && (modes[i]->vdisplay == height)) + bestMode = i; + } + // switch to fullscreen + XF86VidModeSwitchToMode(m_display, m_screen, modes[bestMode]); + XF86VidModeSetViewPort(m_display, m_screen, 0, 0); + m_windowWidth = modes[bestMode]->hdisplay; + m_windowHeight = modes[bestMode]->vdisplay; + printf("switched to fullscreen resolution %dx%d\n", m_windowWidth, m_windowHeight); + XFree(modes); + setWindowAttributes.override_redirect = True; + windowFlags |= CWBorderPixel | CWOverrideRedirect; + } + + m_window = XCreateWindow(m_display, rootWindow, 0, 0, m_windowWidth, m_windowHeight, 0, m_visualInfo->depth, InputOutput, m_visualInfo->visual, windowFlags, &setWindowAttributes); + + XMapRaised(m_display, m_window); + XStoreName(m_display, m_window, title); + + if(fullscreen) + { + XWarpPointer(m_display, None, m_window, 0, 0, 0, 0, 0, 0); + XGrabKeyboard(m_display, m_window, True, GrabModeAsync, GrabModeAsync, CurrentTime); + XGrabPointer(m_display, m_window, True, ButtonPressMask, GrabModeAsync, GrabModeAsync, m_window, None, CurrentTime); + } + else + { + m_wmDelete = XInternAtom(m_display, "WM_DELETE_WINDOW", True); + XSetWMProtocols(m_display, m_window, &m_wmDelete, 1); + XMapWindow(m_display, m_window); + } + + m_hasContentFocus = true; + m_showCursor = true; + recenterMouseCursor(false); + + return true; +} + +void LinuxPlatform::initializeOGLDisplay(const SampleRenderer::RendererDesc& desc, + physx::PxU32& width, + physx::PxU32& height) +{ + m_glxContext = glXCreateContext(m_display, m_visualInfo, NULL, GL_TRUE); + glXMakeCurrent(m_display, m_window, m_glxContext); + getWindowSize(width, height); +} + +void LinuxPlatform::postInitializeOGLDisplay() +{ + glewInit(); +} + +bool LinuxPlatform::closeWindow() +{ + if(m_glxContext) + { + glXMakeCurrent(m_display, None, NULL); + glXDestroyContext(m_display, m_glxContext); + m_glxContext = 0; + XDestroyWindow(m_display, m_window); + if(m_isFullScreen) + { + XF86VidModeSwitchToMode(m_display, m_screen, &m_desktopMode); + XF86VidModeSetViewPort(m_display, m_screen, 0, 0); + } + + if(m_visualInfo) + XFree(m_visualInfo); + m_visualInfo = NULL; + + if(m_display) + XCloseDisplay(m_display); + m_display = NULL; + } + return true; +} + +void LinuxPlatform::freeDisplay() +{ +} + +void LinuxPlatform::getWindowSize(PxU32& width, PxU32& height) +{ + if(!m_display) + return; + XWindowAttributes attr; + XGetWindowAttributes(m_display, m_window, &attr); + width = attr.width; + height = attr.height; +} + +void LinuxPlatform::setFocus(bool b) +{ + m_hasFocus = b; +} + +bool LinuxPlatform::hasFocus() const +{ + return m_hasContentFocus; +} + +void LinuxPlatform::getTitle(char *title, physx::PxU32 maxLength) const +{ + if(!m_display) + return; + + char* t; + XFetchName(m_display, m_window, &t); + strncpy(title, t, maxLength); + XFree(t); +} + +void LinuxPlatform::setTitle(const char *title) +{ + // unsafe! + if(m_display && title) + XStoreName(m_display, m_window, title); +} + +bool LinuxPlatform::updateWindow() +{ + return true; +} + +void LinuxPlatform::handleMouseEvent(const XEvent& event) +{ + PxU32 x = event.xbutton.x; + PxU32 y = m_windowHeight - event.xbutton.y; + PxVec2 current(static_cast(x), static_cast(y)); + setMouseCursorPos(current); + + switch (event.type) + { + case ButtonPress: + { + m_linuxSampleUserInput.doOnMouseDown(x, y, event.xbutton.button); + } + break; + case ButtonRelease: + { + m_linuxSampleUserInput.doOnMouseUp(x, y, event.xbutton.button); + } + break; + case MotionNotify: + { + if (!getMouseCursorRecentering()) + { + PxVec2 diff = current - getMouseCursorPos(); + m_linuxSampleUserInput.doOnMouseMove(x, y, diff.x, diff.y, MOUSE_MOVE); + } + } + break; + } +} + +void LinuxPlatform::update() +{ + XEvent event; + bool close = false; + + if(!m_display || !m_app || !m_app->isOpen()) + return; + + // handle the events in the queue + while (m_display && !close && m_app->isOpen() && (XPending(m_display) > 0)) + { + XNextEvent(m_display, &event); + switch (event.type) + { + case Expose: + if (event.xexpose.count == 0) + { + PxU32 width, height; + getWindowSize(width, height); + m_app->onResize(width, height); + m_windowWidth = width; + m_windowHeight = height; + } + break; + case FocusIn: + m_app->setFocus(true); + break; + case FocusOut: + m_app->setFocus(false); + m_hasContentFocus = false; + break; + case ButtonPress: + // fixes recentering issue: jumping window with first context switch. + if(!m_hasContentFocus) + { + m_hasContentFocus = true; + recenterMouseCursor(false); + } + else + handleMouseEvent(event); + break; + case ButtonRelease: + handleMouseEvent(event); + break; + case MotionNotify: + handleMouseEvent(event); + break; + case KeyPress: + case KeyRelease: + { + // and now some code to filter out the key releases + // which are generated by auto repeat + if(filterKeyRepeat(event)) + break; + + char keyName; + KeySym keySym; + XLookupString(&event.xkey, &keyName, 1, &keySym, NULL); + bool keyDown = (event.type == KeyPress); + if(keyDown) + m_linuxSampleUserInput.doOnKeyDown(keySym, event.xkey.keycode, keyName); + else + m_linuxSampleUserInput.doOnKeyUp(keySym, event.xkey.keycode, keyName); + } + break; + case ClientMessage: + if((Atom)event.xclient.data.l[0] == m_wmDelete) + close = true; + break; + default: + printf("unhandled event type: %d\n", event.type); + break; + } + } + + recenterMouseCursor(true); + + if(close) + m_app->close(); +} + +void LinuxPlatform::swapBuffers() +{ + if(m_display) + glXSwapBuffers(m_display, m_window); +} + +const char* LinuxPlatform::getPathSeparator() +{ + return "/"; +} + +static bool doesDirectoryExist(const char* path) +{ + bool exists = false; + DIR* dir = NULL; + dir = opendir(path); + if(dir) + { + closedir(dir); + exists = true; + } + return exists; +} + +bool LinuxPlatform::makeSureDirectoryPathExists(const char* dirPath) +{ + bool ok = doesDirectoryExist(dirPath); + if (!ok) + ok = mkdir(dirPath, S_IRWXU|S_IRWXG|S_IRWXO) == 0; + return ok; +} + +void LinuxPlatform::showMessage(const char* title, const char* message) +{ + printf("%s: %s\n", title, message); +} + diff --git a/physx/samples/sampleframework/platform/src/linux/LinuxSampleUserInput.cpp b/physx/samples/sampleframework/platform/src/linux/LinuxSampleUserInput.cpp new file mode 100644 index 000000000..b8397f3cf --- /dev/null +++ b/physx/samples/sampleframework/platform/src/linux/LinuxSampleUserInput.cpp @@ -0,0 +1,398 @@ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of NVIDIA CORPORATION nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved. + +#include +#include +#include + +static bool gTimeInit=false; + +using namespace SampleFramework; +using namespace physx; + +LinuxSampleUserInput::LinuxSampleUserInput() +{ + // register all user inputs for linux platform + registerUserInput(LINUXKEY_1,"KEY_1", "1"); + registerUserInput(LINUXKEY_2,"KEY_2", "2"); + registerUserInput(LINUXKEY_3,"KEY_3", "3"); + registerUserInput(LINUXKEY_4,"KEY_4", "4"); + registerUserInput(LINUXKEY_5,"KEY_5", "5"); + registerUserInput(LINUXKEY_6,"KEY_6", "6"); + registerUserInput(LINUXKEY_7,"KEY_7", "7"); + registerUserInput(LINUXKEY_8,"KEY_8", "8"); + registerUserInput(LINUXKEY_9,"KEY_9", "9"); + registerUserInput(LINUXKEY_0,"KEY_0", "0"); + + registerUserInput(LINUXKEY_A,"KEY_A", "A"); + registerUserInput(LINUXKEY_B,"KEY_B", "B"); + registerUserInput(LINUXKEY_C,"KEY_C", "C"); + registerUserInput(LINUXKEY_D,"KEY_D", "D"); + registerUserInput(LINUXKEY_E,"KEY_E", "E"); + registerUserInput(LINUXKEY_F,"KEY_F", "F"); + registerUserInput(LINUXKEY_G,"KEY_G", "G"); + registerUserInput(LINUXKEY_H,"KEY_H", "H"); + registerUserInput(LINUXKEY_I,"KEY_I", "I"); + registerUserInput(LINUXKEY_J,"KEY_J", "J"); + registerUserInput(LINUXKEY_K,"KEY_K", "K"); + registerUserInput(LINUXKEY_L,"KEY_L", "L"); + registerUserInput(LINUXKEY_M,"KEY_M", "M"); + registerUserInput(LINUXKEY_N,"KEY_N", "N"); + registerUserInput(LINUXKEY_O,"KEY_O", "O"); + registerUserInput(LINUXKEY_P,"KEY_P", "P"); + registerUserInput(LINUXKEY_Q,"KEY_Q", "Q"); + registerUserInput(LINUXKEY_R,"KEY_R", "R"); + registerUserInput(LINUXKEY_S,"KEY_S", "S"); + registerUserInput(LINUXKEY_T,"KEY_T", "T"); + registerUserInput(LINUXKEY_U,"KEY_U", "U"); + registerUserInput(LINUXKEY_V,"KEY_V", "V"); + registerUserInput(LINUXKEY_W,"KEY_W", "W"); + registerUserInput(LINUXKEY_X,"KEY_X", "X"); + registerUserInput(LINUXKEY_Y,"KEY_Y", "Y"); + registerUserInput(LINUXKEY_Z,"KEY_Z", "Z"); + + registerUserInput(LINUXKEY_SPACE ,"KEY_SPACE","Space"); + registerUserInput(LINUXKEY_RETURN ,"KEY_RETURN","Enter"); + registerUserInput(LINUXKEY_SHIFT ,"KEY_SHIFT","Shift"); + registerUserInput(LINUXKEY_CONTROL ,"KEY_CONTROL","Control"); + registerUserInput(LINUXKEY_ESCAPE ,"KEY_ESCAPE","Escape"); + registerUserInput(LINUXKEY_COMMA ,"KEY_COMMA",","); + registerUserInput(LINUXKEY_NUMPAD0 ,"KEY_NUMPAD0","Numpad0"); + registerUserInput(LINUXKEY_NUMPAD1 ,"KEY_NUMPAD1","Numpad1"); + registerUserInput(LINUXKEY_NUMPAD2 ,"KEY_NUMPAD2","Numpad2"); + registerUserInput(LINUXKEY_NUMPAD3 ,"KEY_NUMPAD3","Numpad3"); + registerUserInput(LINUXKEY_NUMPAD4 ,"KEY_NUMPAD4","Numpad4"); + registerUserInput(LINUXKEY_NUMPAD5 ,"KEY_NUMPAD5","Numpad5"); + registerUserInput(LINUXKEY_NUMPAD6 ,"KEY_NUMPAD6","Numpad6"); + registerUserInput(LINUXKEY_NUMPAD7 ,"KEY_NUMPAD7","Numpad7"); + registerUserInput(LINUXKEY_NUMPAD8 ,"KEY_NUMPAD8","Numpad8"); + registerUserInput(LINUXKEY_NUMPAD9 ,"KEY_NUMPAD9","Numpad9"); + registerUserInput(LINUXKEY_ADD ,"KEY_ADD","+"); + registerUserInput(LINUXKEY_SUBTRACT ,"KEY_SUBTRACT","-"); + registerUserInput(LINUXKEY_COMMA ,"KEY_COMMM",", on keypad"); + registerUserInput(LINUXKEY_DIVIDE ,"KEY_DIVIDE","/"); + + registerUserInput(LINUXKEY_F1 ,"KEY_F1","F1"); + registerUserInput(LINUXKEY_F2 ,"KEY_F2","F2"); + registerUserInput(LINUXKEY_F3 ,"KEY_F3","F3"); + registerUserInput(LINUXKEY_F4 ,"KEY_F4","F4"); + registerUserInput(LINUXKEY_F5 ,"KEY_F5","F5"); + registerUserInput(LINUXKEY_F6 ,"KEY_F6","F6"); + registerUserInput(LINUXKEY_F7 ,"KEY_F7","F7"); + registerUserInput(LINUXKEY_F8 ,"KEY_F8","F8"); + registerUserInput(LINUXKEY_F9 ,"KEY_F9","F9"); + registerUserInput(LINUXKEY_F10 ,"KEY_F10","F10"); + registerUserInput(LINUXKEY_F11 ,"KEY_F11","F11"); + registerUserInput(LINUXKEY_F12 ,"KEY_F12","F12"); + + registerUserInput(LINUXKEY_TAB ,"KEY_TAB","Tab"); + registerUserInput(LINUXKEY_BACKSPACE ,"KEY_BACKSPACE","Backspace"); + registerUserInput(LINUXKEY_PRIOR ,"KEY_PRIOR","PgUp"); + registerUserInput(LINUXKEY_NEXT ,"KEY_NEXT","PgDn"); + registerUserInput(LINUXKEY_UP ,"KEY_UP","Up Arrow"); + registerUserInput(LINUXKEY_DOWN ,"KEY_DOWN","Down Arrow"); + registerUserInput(LINUXKEY_LEFT ,"KEY_LEFT","Left Arrow"); + registerUserInput(LINUXKEY_RIGHT ,"KEY_RIGHT","Right Arrow"); + + // mouse + registerUserInput(MOUSE_BUTTON_LEFT ,"MOUSE_BUTTON_LEFT","Left Mouse Button"); + registerUserInput(MOUSE_BUTTON_RIGHT ,"MOUSE_BUTTON_RIGHT","Right Mouse Button"); + registerUserInput(MOUSE_BUTTON_CENTER ,"MOUSE_BUTTON_CENTER","Middle Mouse Button"); + registerUserInput(MOUSE_MOVE,"MOUSE_MOVE", "Mouse Move"); + + // scan codes + registerScanCode(SCAN_CODE_UP, 26, LINUXKEY_E, "SCAN_CODE_E"); + registerScanCode(SCAN_CODE_DOWN, 54, LINUXKEY_C, "SCAN_CODE_C"); + registerScanCode(SCAN_CODE_LEFT, 38, LINUXKEY_A, "SCAN_CODE_A"); + registerScanCode(SCAN_CODE_RIGHT, 40, LINUXKEY_D, "SCAN_CODE_D"); + registerScanCode(SCAN_CODE_FORWARD, 25, LINUXKEY_W, "SCAN_CODE_W"); + registerScanCode(SCAN_CODE_BACKWARD, 39, LINUXKEY_S, "SCAN_CODE_S"); + registerScanCode(SCAN_CODE_L, 46, LINUXKEY_L, "SCAN_CODE_L"); + registerScanCode(SCAN_CODE_9, 18, LINUXKEY_9, "SCAN_CODE_9"); + registerScanCode(SCAN_CODE_0, 19, LINUXKEY_0, "SCAN_CODE_0"); +} + +void LinuxSampleUserInput::registerScanCode(LinuxSampleUserInputIds scanCodeId, physx::PxU16 scanCode, LinuxSampleUserInputIds nameId, const char* name) +{ + const UserInput* ui = getUserInputFromId(nameId); + if(ui) + { + registerUserInput(scanCodeId, name, ui->m_Name); + m_ScanCodesMap[scanCode] = scanCodeId; + } +} + +const UserInput* LinuxSampleUserInput::getUserInputFromId(LinuxSampleUserInputIds id) const +{ + for (size_t i = mUserInputs.size(); i--;) + { + if(mUserInputs[i].m_Id == id) + { + return &mUserInputs[i]; + } + } + + return NULL; +} + +LinuxSampleUserInput::~LinuxSampleUserInput() +{ + m_ScanCodesMap.clear(); + m_AnalogStates.clear(); + m_DigitalStates.clear(); +} + +LinuxSampleUserInputIds LinuxSampleUserInput::getInputIdFromMouseButton(const physx::PxU16 b) const +{ + if (b == Button1) return MOUSE_BUTTON_LEFT; + else if (b == Button2) return MOUSE_BUTTON_CENTER; + else if (b == Button3) return MOUSE_BUTTON_RIGHT; + else return LINUXKEY_UNKNOWN; +} + +LinuxSampleUserInputIds LinuxSampleUserInput::getInputIdFromKeySym(const KeySym keySym) const +{ + LinuxSampleUserInputIds id = LINUXKEY_UNKNOWN; + + if(keySym >= XK_A && keySym <= XK_Z) id = (LinuxSampleUserInputIds)((keySym - XK_A)+LINUXKEY_A); + else if(keySym >= XK_a && keySym <= XK_z) id = (LinuxSampleUserInputIds)((keySym - XK_a)+LINUXKEY_A); + else if(keySym >= XK_0 && keySym <= XK_9) id = (LinuxSampleUserInputIds)((keySym - XK_0)+LINUXKEY_0); + else if(keySym >= XK_KP_0 && keySym <= XK_KP_9) id = (LinuxSampleUserInputIds)((keySym - XK_KP_0)+LINUXKEY_NUMPAD0); + else if(keySym == XK_Shift_L || keySym == XK_Shift_R) id = LINUXKEY_SHIFT; + else if(keySym == XK_Control_L || keySym == XK_Control_R) id = LINUXKEY_CONTROL; + else if(keySym == XK_space) id = LINUXKEY_SPACE; + else if(keySym == XK_Return) id = LINUXKEY_RETURN; + else if(keySym == XK_Escape) id = LINUXKEY_ESCAPE; + else if(keySym == XK_KP_Separator) id = LINUXKEY_COMMA; + else if(keySym == XK_KP_Divide) id = LINUXKEY_DIVIDE; + else if(keySym == XK_KP_Subtract) id = LINUXKEY_SUBTRACT; + else if(keySym == XK_KP_Add) id = LINUXKEY_ADD; + // + else if(keySym == XK_F1) id = LINUXKEY_F1; + else if(keySym == XK_F2) id = LINUXKEY_F2; + else if(keySym == XK_F3) id = LINUXKEY_F3; + else if(keySym == XK_F4) id = LINUXKEY_F4; + else if(keySym == XK_F5) id = LINUXKEY_F5; + else if(keySym == XK_F6) id = LINUXKEY_F6; + else if(keySym == XK_F7) id = LINUXKEY_F7; + else if(keySym == XK_F8) id = LINUXKEY_F8; + else if(keySym == XK_F9) id = LINUXKEY_F9; + else if(keySym == XK_F10) id = LINUXKEY_F10; + else if(keySym == XK_F11) id = LINUXKEY_F11; + else if(keySym == XK_F12) id = LINUXKEY_F12; + // + else if(keySym == XK_Tab) id = LINUXKEY_TAB; + // + else if(keySym == XK_BackSpace) id = LINUXKEY_BACKSPACE; + else if(keySym == XK_Prior) id = LINUXKEY_PRIOR; + else if(keySym == XK_Next) id = LINUXKEY_NEXT; + // + else if(keySym == XK_Up) id = LINUXKEY_UP; + else if(keySym == XK_Down) id = LINUXKEY_DOWN; + else if(keySym == XK_Left) id = LINUXKEY_LEFT; + else if(keySym == XK_Right) id = LINUXKEY_RIGHT; + + return id; +} + +void LinuxSampleUserInput::doOnMouseMove(physx::PxU32 x, physx::PxU32 y, physx::PxReal dx, physx::PxReal dy, physx::PxU16 button) +{ + const std::vector* events = getInputEvents(button); + + if(events) + { + for (size_t i = events->size(); i--;) + { + const InputEvent& ie = mInputEvents[(*events)[i]]; + if(getInputEventListener()) + { + getInputEventListener()->onPointerInputEvent(ie, x, y, dx, dy, false); + } + } + } + +} + + +void LinuxSampleUserInput::doOnMouseDown(physx::PxU32 x, physx::PxU32 y, physx::PxU16 button) +{ + const std::vector* events = getInputEvents(getInputIdFromMouseButton(button)); + + if(events) + { + for (size_t i = events->size(); i--;) + { + const InputEvent& ie = mInputEvents[(*events)[i]]; + m_DigitalStates[ie.m_Id] = true; + + if(getInputEventListener()) + { + getInputEventListener()->onPointerInputEvent(ie, x, y, 0, 0, true); + } + } + } + +} + +void LinuxSampleUserInput::doOnMouseUp(physx::PxU32 x, physx::PxU32 y, physx::PxU16 button) +{ + const std::vector* events = getInputEvents(getInputIdFromMouseButton(button)); + if(events) + { + for (size_t i = events->size(); i--;) + { + const InputEvent& ie = mInputEvents[(*events)[i]]; + m_DigitalStates[ie.m_Id] = false; + + if(getInputEventListener()) + { + getInputEventListener()->onPointerInputEvent(ie, x, y, 0, 0, false); + } + } + } + +} + +void LinuxSampleUserInput::doOnKeyDown(KeySym keySym, physx::PxU16 keyCode, physx::PxU8 ascii) +{ + const std::vector* events = NULL; + + if(getInputEventListener()) + { + //raw ASCII printable characters get sent to the console + if (ascii >= 'a' && ascii <= 'z') + { + getInputEventListener()->onKeyDownEx(static_cast(ascii - 'a' + KEY_A), ascii); + } + else if (ascii >= 'A' && ascii <= 'Z') + { + getInputEventListener()->onKeyDownEx(static_cast(ascii - 'A' + KEY_A), ascii); + } + else if (ascii >= '0' && ascii <= '9') + { + getInputEventListener()->onKeyDownEx(static_cast(ascii - 'A' + KEY_A), ascii); + } + else if (ascii == ' ') + { + getInputEventListener()->onKeyDownEx(static_cast(ascii - ' ' + KEY_SPACE), ascii); + } + else if (ascii == '.') + { + getInputEventListener()->onKeyDownEx(static_cast(ascii - '.' + KEY_DECIMAL), ascii); + } + + + std::map::iterator fit = m_ScanCodesMap.find(keyCode); + if(fit != m_ScanCodesMap.end()) + { + events = getInputEvents(fit->second); + } + + if(!events) + { + LinuxSampleUserInputIds id = getInputIdFromKeySym(keySym); + events = getInputEvents(id); + } + + if(!events || !getInputEventListener()) + return; + + for (size_t i = events->size(); i--;) + { + const InputEvent& ie = mInputEvents[(*events)[i]]; + m_DigitalStates[ie.m_Id] = true; + getInputEventListener()->onDigitalInputEvent(ie, true); + } + } +} + +void LinuxSampleUserInput::doOnKeyUp( KeySym keySym, physx::PxU16 keyCode, physx::PxU8 ascii) +{ + const std::vector* events = NULL; + std::map::iterator fit = m_ScanCodesMap.find(keyCode); + if(fit != m_ScanCodesMap.end()) + { + events = getInputEvents(fit->second); + } + if(!events) + { + LinuxSampleUserInputIds id = getInputIdFromKeySym(keySym); + events = getInputEvents(id); + } + + if(!events || !getInputEventListener()) + return; + + for (size_t i = events->size(); i--;) + { + const InputEvent& ie = mInputEvents[(*events)[i]]; + m_DigitalStates[ie.m_Id] = false; + getInputEventListener()->onDigitalInputEvent(ie, false); + } +} + +bool LinuxSampleUserInput::getDigitalInputEventState(physx::PxU16 inputEventId ) const +{ + std::map::const_iterator fit = m_DigitalStates.find(inputEventId); + if(fit != m_DigitalStates.end()) + { + return fit->second; + } + else + { + return false; + } +} +float LinuxSampleUserInput::getAnalogInputEventState(physx::PxU16 inputEventId ) const +{ + std::map::const_iterator fit = m_AnalogStates.find(inputEventId); + if(fit != m_AnalogStates.end()) + { + return fit->second; + } + else + { + return 0.0f; + } +} + +void LinuxSampleUserInput::shutdown() +{ + m_AnalogStates.clear(); + m_DigitalStates.clear(); + + SampleUserInput::shutdown(); +} + +void LinuxSampleUserInput::updateInput() +{ + SampleUserInput::updateInput(); + + processGamepads(); +} + + diff --git a/physx/samples/sampleframework/renderer/include/linux/LinuxGLIncludes.h b/physx/samples/sampleframework/renderer/include/linux/LinuxGLIncludes.h new file mode 100644 index 000000000..266606344 --- /dev/null +++ b/physx/samples/sampleframework/renderer/include/linux/LinuxGLIncludes.h @@ -0,0 +1,34 @@ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of NVIDIA CORPORATION nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved. + +#ifndef LINUX_GL_INCLUDES_H +#define LINUX_GL_INCLUDES_H + +#define GLEW_STATIC +#include + +#endif diff --git a/physx/samples/sampleframework/renderer/src/d3d11/D3D11RendererResourceManager.h b/physx/samples/sampleframework/renderer/src/d3d11/D3D11RendererResourceManager.h index 3483b1771..f97bc17bd 100644 --- a/physx/samples/sampleframework/renderer/src/d3d11/D3D11RendererResourceManager.h +++ b/physx/samples/sampleframework/renderer/src/d3d11/D3D11RendererResourceManager.h @@ -32,6 +32,7 @@ #if defined(RENDERER_ENABLE_DIRECT3D11) #include +#include #include "D3D11RendererTraits.h" #include "D3D11RendererMemoryMacros.h" diff --git a/physx/snippets/compiler/cmake/SnippetTemplate.cmake b/physx/snippets/compiler/cmake/SnippetTemplate.cmake index cf7ebfcee..a3372cc52 100644 --- a/physx/snippets/compiler/cmake/SnippetTemplate.cmake +++ b/physx/snippets/compiler/cmake/SnippetTemplate.cmake @@ -75,7 +75,7 @@ ELSE() ENDIF() TARGET_LINK_LIBRARIES(Snippet${SNIPPET_NAME} - PUBLIC PhysX PhysXPvdSDK PhysXVehicle PhysXCharacterKinematic PhysXExtensions PhysXCooking PhysXCommon PhysXFoundation SnippetUtils + PUBLIC PhysXExtensions PhysX PhysXPvdSDK PhysXVehicle PhysXCharacterKinematic PhysXCooking PhysXCommon PhysXFoundation SnippetUtils PUBLIC ${SNIPPET_PLATFORM_LINKED_LIBS}) IF(CUSTOM_SNIPPET_TARGET_PROPERTIES) diff --git a/physx/snippets/compiler/cmake/SnippetVehicleTemplate.cmake b/physx/snippets/compiler/cmake/SnippetVehicleTemplate.cmake index d87a04e17..e5a1be3d1 100644 --- a/physx/snippets/compiler/cmake/SnippetVehicleTemplate.cmake +++ b/physx/snippets/compiler/cmake/SnippetVehicleTemplate.cmake @@ -78,7 +78,7 @@ ELSE() ENDIF() TARGET_LINK_LIBRARIES(Snippet${SNIPPET_NAME} - PUBLIC PhysX PhysXPvdSDK PhysXVehicle PhysXCharacterKinematic PhysXExtensions PhysXCooking PhysXCommon PhysXFoundation SnippetUtils + PUBLIC PhysXExtensions PhysX PhysXPvdSDK PhysXVehicle PhysXCharacterKinematic PhysXCooking PhysXCommon PhysXFoundation SnippetUtils PUBLIC ${SNIPPET_PLATFORM_LINKED_LIBS}) IF(CUSTOM_SNIPPET_TARGET_PROPERTIES) diff --git a/physx/source/common/src/CmSpatialVector.h b/physx/source/common/src/CmSpatialVector.h index 2d639a991..ded87aba1 100644 --- a/physx/source/common/src/CmSpatialVector.h +++ b/physx/source/common/src/CmSpatialVector.h @@ -412,6 +412,11 @@ struct UnAlignedSpatialVector return top.dot(v.top) + bottom.dot(v.bottom); } + PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal dot(const SpatialVectorF& v) const + { + return top.dot(v.top) + bottom.dot(v.bottom); + } + PX_CUDA_CALLABLE PX_FORCE_INLINE UnAlignedSpatialVector cross(const UnAlignedSpatialVector& v) const { UnAlignedSpatialVector a; @@ -459,6 +464,18 @@ struct UnAlignedSpatialVector val[3] = bottom.x; val[4] = bottom.y; val[5] = bottom.z; } + PX_CUDA_CALLABLE PX_FORCE_INLINE PxReal& operator [] (const PxU32 index) + { + PX_ASSERT(index < 6); + return (&top.x)[index]; + } + + PX_CUDA_CALLABLE PX_FORCE_INLINE const PxReal& operator [] (const PxU32 index) const + { + PX_ASSERT(index < 6); + return (&top.x)[index]; + } + PxVec3 top; //12 12 PxVec3 bottom; //12 24 }; diff --git a/physx/source/common/src/CmUtils.h b/physx/source/common/src/CmUtils.h index e5b583c73..e51ade5c2 100644 --- a/physx/source/common/src/CmUtils.h +++ b/physx/source/common/src/CmUtils.h @@ -57,7 +57,7 @@ PX_FORCE_INLINE PxU32 getArrayOfPointers(DstType** PX_RESTRICT userBuffer, PxU32 return writeCount; } -PX_INLINE void transformInertiaTensor(const PxVec3& invD, const PxMat33& M, PxMat33& mIInv) +PX_CUDA_CALLABLE PX_INLINE void transformInertiaTensor(const PxVec3& invD, const PxMat33& M, PxMat33& mIInv) { const float axx = invD.x*M(0,0), axy = invD.x*M(1,0), axz = invD.x*M(2,0); const float byx = invD.y*M(0,1), byy = invD.y*M(1,1), byz = invD.y*M(2,1); diff --git a/physx/source/compiler/cmake/CMakeLists.txt b/physx/source/compiler/cmake/CMakeLists.txt index dc40fd495..4c70f65e8 100644 --- a/physx/source/compiler/cmake/CMakeLists.txt +++ b/physx/source/compiler/cmake/CMakeLists.txt @@ -31,9 +31,6 @@ project(PhysX C CXX) CMAKE_POLICY(SET CMP0057 NEW) # Enable IN_LIST -OPTION(PX_GENERATE_GPU_PROJECTS "Generate the GPU projects, if possible." OFF) -OPTION(PX_GENERATE_GPU_PROJECTS_ONLY "Generate ONLY the GPU projects, if possible." OFF) -OPTION(PX_GENERATE_GPU_STATIC_LIBRARIES "Generate PhysXGPU static libraries" OFF) OPTION(PX_SCALAR_MATH "Disable SIMD math" OFF) OPTION(PX_GENERATE_STATIC_LIBRARIES "Generate static libraries" OFF) OPTION(PX_EXPORT_LOWLEVEL_PDB "Export low level pdb's" OFF) diff --git a/physx/source/compiler/cmake/PhysXCommon.cmake b/physx/source/compiler/cmake/PhysXCommon.cmake index 935790d0f..ca36ec0c6 100644 --- a/physx/source/compiler/cmake/PhysXCommon.cmake +++ b/physx/source/compiler/cmake/PhysXCommon.cmake @@ -555,6 +555,7 @@ SET_TARGET_PROPERTIES(PhysXCommon PROPERTIES TARGET_LINK_LIBRARIES(PhysXCommon PUBLIC ${PXCOMMON_PLATFORM_LINKED_LIBS} PUBLIC PhysXFoundation + PRIVATE ${PHYSXCOMMON_PLATFORM_LINKED_LIBS} ) IF(PX_GENERATE_SOURCE_DISTRO) diff --git a/physx/source/compiler/cmake/PhysXCooking.cmake b/physx/source/compiler/cmake/PhysXCooking.cmake index 13922c0f7..765122b3b 100644 --- a/physx/source/compiler/cmake/PhysXCooking.cmake +++ b/physx/source/compiler/cmake/PhysXCooking.cmake @@ -150,7 +150,11 @@ TARGET_INCLUDE_DIRECTORIES(PhysXCooking ) -TARGET_LINK_LIBRARIES(PhysXCooking PUBLIC PhysXCommon PhysXFoundation) +TARGET_LINK_LIBRARIES(PhysXCooking + PUBLIC PhysXCommon + PUBLIC PhysXFoundation + PRIVATE ${PHYSXCOOKING_PLATFORM_LINKED_LIBS} +) # Use generator expressions to set config specific preprocessor definitions TARGET_COMPILE_DEFINITIONS(PhysXCooking diff --git a/physx/source/compiler/cmake/android/CMakeLists.txt b/physx/source/compiler/cmake/android/CMakeLists.txt index 27d44acb3..d0874b3cb 100644 --- a/physx/source/compiler/cmake/android/CMakeLists.txt +++ b/physx/source/compiler/cmake/android/CMakeLists.txt @@ -30,7 +30,7 @@ STRING(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWERCASE) -SET(PHYSX_WARNING_DISABLES "-Wno-invalid-offsetof -Wno-maybe-uninitialized -Wno-unused-variable -Wno-variadic-macros -Wno-array-bounds") +SET(PHYSX_WARNING_DISABLES "-Wno-invalid-offsetof -Wno-maybe-uninitialized -Wno-unused-variable -Wno-variadic-macros -Wno-array-bounds -Wno-strict-aliasing") IF(${ANDROID_ABI} STREQUAL "armeabi-v7a") SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -funwind-tables -fomit-frame-pointer -funswitch-loops -finline-limit=300 -fno-strict-aliasing -fstack-protector ${PHYSX_WARNING_DISABLES}" CACHE INTERAL "PhysX CXX") diff --git a/physx/source/compiler/cmake/android/PhysX.cmake b/physx/source/compiler/cmake/android/PhysX.cmake index 152e709a8..90f344296 100644 --- a/physx/source/compiler/cmake/android/PhysX.cmake +++ b/physx/source/compiler/cmake/android/PhysX.cmake @@ -52,7 +52,7 @@ SET(PHYSX_PLATFORM_SRC_FILES SET(PHYSX_COMPILE_DEFS # Common to all configurations - ${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_STATIC_LIB; + ${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_CORE_EXPORTS $<$:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};> $<$:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};> @@ -60,5 +60,9 @@ SET(PHYSX_COMPILE_DEFS $<$:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};> ) -SET(PHYSX_LIBTYPE STATIC) +IF(PX_GENERATE_STATIC_LIBRARIES) + SET(PHYSX_LIBTYPE STATIC) +ELSE() + SET(PHYSX_LIBTYPE SHARED) +ENDIF() diff --git a/physx/source/compiler/cmake/android/PhysXCommon.cmake b/physx/source/compiler/cmake/android/PhysXCommon.cmake index ebd381cce..ed4ed5948 100644 --- a/physx/source/compiler/cmake/android/PhysXCommon.cmake +++ b/physx/source/compiler/cmake/android/PhysXCommon.cmake @@ -29,7 +29,6 @@ # Build PhysXCommon # -SET(PHYSXCOMMON_LIBTYPE STATIC) SET(PXCOMMON_PLATFORM_SRC_FILES ) @@ -38,6 +37,7 @@ SET(PXCOMMON_PLATFORM_INCLUDES ${PHYSX_SOURCE_DIR}/common/src/linux ) +IF(PX_GENERATE_STATIC_LIBRARIES) SET(PXCOMMON_COMPILE_DEFS # Common to all configurations ${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_STATIC_LIB; @@ -45,7 +45,26 @@ SET(PXCOMMON_COMPILE_DEFS $<$:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};> $<$:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};> $<$:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS};> - $<$:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};> + $<$:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS}> ) +ELSE() + SET(PXCOMMON_COMPILE_DEFS + # Common to all configurations + ${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_COMMON_EXPORTS; -SET(PXCOMMON_PLATFORM_LINK_FLAGS "/MAP") \ No newline at end of file + $<$:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS}> + $<$:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS}> + $<$:${PHYSX_ANDROID_PROFILE_COMPILE_DEFS}> + $<$:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS}> + ) +ENDIF() + + + +IF(PX_GENERATE_STATIC_LIBRARIES) + SET(PHYSXCOMMON_LIBTYPE STATIC) +ELSE() + SET(PHYSXCOMMON_LIBTYPE SHARED) +ENDIF() + +SET(PXCOMMON_PLATFORM_LINK_FLAGS " ") diff --git a/physx/source/compiler/cmake/android/PhysXCooking.cmake b/physx/source/compiler/cmake/android/PhysXCooking.cmake index 255cbf77f..9b1f14dbd 100644 --- a/physx/source/compiler/cmake/android/PhysXCooking.cmake +++ b/physx/source/compiler/cmake/android/PhysXCooking.cmake @@ -29,9 +29,19 @@ # Build PhysXCooking # +IF(NOT PX_GENERATE_STATIC_LIBRARIES) + SET(PXCOOKING_LIBTYPE_DEFS + PX_PHYSX_FOUNDATION_EXPORTS;PX_PHYSX_COMMON_EXPORTS;PX_PHYSX_COOKING_EXPORTS;PX_PHYSX_LOADER_EXPORTS;PX_PHYSX_CORE_EXPORTS + ) +ELSE() + SET(PXCOOKING_LIBTYPE_DEFS + PX_PHYSX_STATIC_LIB + ) +ENDIF() + SET(PHYSXCOOKING_COMPILE_DEFS # Common to all configurations - ${PHYSX_ANDROID_COMPILE_DEFS};PX_PHYSX_STATIC_LIB;PX_COOKING; + ${PHYSX_ANDROID_COMPILE_DEFS};${PXCOOKING_LIBTYPE_DEFS};PX_COOKING; $<$:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};> $<$:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};> @@ -42,6 +52,10 @@ SET(PHYSXCOOKING_COMPILE_DEFS SET(PHYSXCOOKING_PLATFORM_SRC_FILES ) -SET(PHYSXCOOKING_LIBTYPE STATIC) +IF(PX_GENERATE_STATIC_LIBRARIES) + SET(PHYSXCOOKING_LIBTYPE STATIC) +ELSE() + SET(PHYSXCOOKING_LIBTYPE SHARED) +ENDIF() -SET(PHYSXCOOKING_LINK_FLAGS "/MAP") \ No newline at end of file +SET(PHYSXCOOKING_LINK_FLAGS " ") diff --git a/physx/source/compiler/cmake/android/PhysXExtensions.cmake b/physx/source/compiler/cmake/android/PhysXExtensions.cmake index 9f0fee3ee..cb67bac3d 100644 --- a/physx/source/compiler/cmake/android/PhysXExtensions.cmake +++ b/physx/source/compiler/cmake/android/PhysXExtensions.cmake @@ -51,4 +51,4 @@ SET(PHYSXEXTENSIONS_COMPILE_DEFS $<$:${PHYSX_ANDROID_RELEASE_COMPILE_DEFS};> ) - +SET(PHYSXEXTENSIONS_LIBTYPE STATIC) diff --git a/physx/source/compiler/cmake/android/PhysXFoundation.cmake b/physx/source/compiler/cmake/android/PhysXFoundation.cmake index 952e8489c..0d23ba916 100644 --- a/physx/source/compiler/cmake/android/PhysXFoundation.cmake +++ b/physx/source/compiler/cmake/android/PhysXFoundation.cmake @@ -29,7 +29,12 @@ # Build PhysXFoundation # -SET(PHYSXFOUNDATION_LIBTYPE STATIC) +IF(PX_GENERATE_STATIC_LIBRARIES) + SET(PHYSXFOUNDATION_LIBTYPE STATIC) +ELSE() + SET(PHYSXFOUNDATION_LIBTYPE SHARED) + SET(PXFOUNDATION_LIBTYPE_DEFS PX_PHYSX_FOUNDATION_EXPORTS) +ENDIF() SET(PXSHARED_PLATFORM_HEADERS ${PXSHARED_PATH}/include/foundation/unix/PxUnixIntrinsics.h @@ -58,7 +63,7 @@ SET(PHYSXFOUNDATION_PLATFORM_INCLUDES SET(PHYSXFOUNDATION_COMPILE_DEFS # Common to all configurations - ${PHYSX_ANDROID_COMPILE_DEFS}; + ${PHYSX_ANDROID_COMPILE_DEFS};${PXFOUNDATION_LIBTYPE_DEFS}; $<$:${PHYSX_ANDROID_DEBUG_COMPILE_DEFS};> $<$:${PHYSX_ANDROID_CHECKED_COMPILE_DEFS};> diff --git a/physx/source/compiler/cmake/ios/PhysX.cmake b/physx/source/compiler/cmake/ios/PhysX.cmake index a242d9445..90ae8eb25 100644 --- a/physx/source/compiler/cmake/ios/PhysX.cmake +++ b/physx/source/compiler/cmake/ios/PhysX.cmake @@ -59,7 +59,11 @@ SET(PHYSX_COMPILE_DEFS $<$:${PHYSX_IOS_RELEASE_COMPILE_DEFS};> ) -SET(PHYSX_LIBTYPE STATIC) +IF(PX_GENERATE_STATIC_LIBRARIES) + SET(PHYSX_LIBTYPE STATIC) +ELSE() + SET(PHYSX_LIBTYPE SHARED) +ENDIF() SET(PHYSX_PLATFORM_LINK_FLAGS " ") SET(PHYSX_PLATFORM_LINK_FLAGS_DEBUG " ") diff --git a/physx/source/compiler/cmake/ios/PhysXCharacterKinematic.cmake b/physx/source/compiler/cmake/ios/PhysXCharacterKinematic.cmake index e84eae8bc..97167ea6d 100644 --- a/physx/source/compiler/cmake/ios/PhysXCharacterKinematic.cmake +++ b/physx/source/compiler/cmake/ios/PhysXCharacterKinematic.cmake @@ -41,3 +41,5 @@ SET(PHYSXCHARACTERKINEMATICS_COMPILE_DEFS $<$:${PHYSX_IOS_PROFILE_COMPILE_DEFS};> $<$:${PHYSX_IOS_RELEASE_COMPILE_DEFS};> ) + +SET(PHYSXCHARACTERKINEMATIC_LIBTYPE STATIC) diff --git a/physx/source/compiler/cmake/ios/PhysXCommon.cmake b/physx/source/compiler/cmake/ios/PhysXCommon.cmake index 92602c22c..1946d261a 100644 --- a/physx/source/compiler/cmake/ios/PhysXCommon.cmake +++ b/physx/source/compiler/cmake/ios/PhysXCommon.cmake @@ -29,7 +29,6 @@ # Build PhysXCommon # -SET(PHYSXCOMMON_LIBTYPE STATIC) SET(PXCOMMON_PLATFORM_SRC_FILES ) @@ -38,15 +37,34 @@ SET(PXCOMMON_PLATFORM_INCLUDES ${PHYSX_SOURCE_DIR}/common/src/ios ) +IF(PX_GENERATE_STATIC_LIBRARIES) SET(PXCOMMON_COMPILE_DEFS # Common to all configurations - ${PHYSX_IOS_COMPILE_DEFS}; + ${PHYSX_IOS_COMPILE_DEFS};PX_PHYSX_STATIC_LIB; + + $<$:${PHYSX_IOS_DEBUG_COMPILE_DEFS};> + $<$:${PHYSX_IOS_CHECKED_COMPILE_DEFS};> + $<$:${PHYSX_IOS_PROFILE_COMPILE_DEFS};> + $<$:${PHYSX_IOS_RELEASE_COMPILE_DEFS}> + ) +ELSE() + SET(PXCOMMON_COMPILE_DEFS + # Common to all configurations + ${PHYSX_IOS_COMPILE_DEFS};PX_PHYSX_COMMON_EXPORTS; - # Switch platforms here? $<$:${PHYSX_IOS_DEBUG_COMPILE_DEFS}> $<$:${PHYSX_IOS_CHECKED_COMPILE_DEFS}> $<$:${PHYSX_IOS_PROFILE_COMPILE_DEFS}> $<$:${PHYSX_IOS_RELEASE_COMPILE_DEFS}> ) +ENDIF() + + + +IF(PX_GENERATE_STATIC_LIBRARIES) + SET(PHYSXCOMMON_LIBTYPE STATIC) +ELSE() + SET(PHYSXCOMMON_LIBTYPE SHARED) +ENDIF() SET(PXCOMMON_PLATFORM_LINK_FLAGS " ") \ No newline at end of file diff --git a/physx/source/compiler/cmake/ios/PhysXCooking.cmake b/physx/source/compiler/cmake/ios/PhysXCooking.cmake index d5f297840..48583c491 100644 --- a/physx/source/compiler/cmake/ios/PhysXCooking.cmake +++ b/physx/source/compiler/cmake/ios/PhysXCooking.cmake @@ -43,7 +43,11 @@ SET(PHYSXCOOKING_COMPILE_DEFS SET(PHYSXCOOKING_PLATFORM_SRC_FILES ) -SET(PHYSXCOOKING_LIBTYPE STATIC) +IF(PX_GENERATE_STATIC_LIBRARIES) + SET(PHYSXCOOKING_LIBTYPE STATIC) +ELSE() + SET(PHYSXCOOKING_LIBTYPE SHARED) +ENDIF() SET(PHYSXCOOKING_LINK_FLAGS " ") SET(PHYSXCOOKING_LINK_FLAGS_DEBUG " ") diff --git a/physx/source/compiler/cmake/ios/PhysXExtensions.cmake b/physx/source/compiler/cmake/ios/PhysXExtensions.cmake index 3a6843a0a..67716f2e4 100644 --- a/physx/source/compiler/cmake/ios/PhysXExtensions.cmake +++ b/physx/source/compiler/cmake/ios/PhysXExtensions.cmake @@ -53,3 +53,5 @@ SET(PHYSXEXTENSIONS_COMPILE_DEFS $<$:${PHYSX_IOS_PROFILE_COMPILE_DEFS};> $<$:${PHYSX_IOS_RELEASE_COMPILE_DEFS};> ) + +SET(PHYSXEXTENSIONS_LIBTYPE STATIC) diff --git a/physx/source/compiler/cmake/ios/PhysXFoundation.cmake b/physx/source/compiler/cmake/ios/PhysXFoundation.cmake index 1f99ce95a..a79662e7e 100644 --- a/physx/source/compiler/cmake/ios/PhysXFoundation.cmake +++ b/physx/source/compiler/cmake/ios/PhysXFoundation.cmake @@ -29,7 +29,12 @@ # Build PhysXFoundation # -SET(PHYSXFOUNDATION_LIBTYPE STATIC) +IF(PX_GENERATE_STATIC_LIBRARIES) + SET(PHYSXFOUNDATION_LIBTYPE STATIC) +ELSE() + SET(PHYSXFOUNDATION_LIBTYPE SHARED) + SET(PXFOUNDATION_LIBTYPE_DEFS PX_PHYSX_FOUNDATION_EXPORTS) +ENDIF() SET(PXSHARED_PLATFORM_HEADERS ${PXSHARED_PATH}/include/foundation/unix/PxUnixIntrinsics.h @@ -82,7 +87,7 @@ SET(PHYSXFOUNDATION_PLATFORM_FILES SET(PHYSXFOUNDATION_COMPILE_DEFS # Common to all configurations - ${PHYSX_IOS_COMPILE_DEFS} + ${PHYSX_IOS_COMPILE_DEFS};${PXFOUNDATION_LIBTYPE_DEFS}; $<$:${PHYSX_IOS_DEBUG_COMPILE_DEFS}> $<$:${PHYSX_IOS_CHECKED_COMPILE_DEFS}> diff --git a/physx/source/compiler/cmake/ios/PhysXVehicle.cmake b/physx/source/compiler/cmake/ios/PhysXVehicle.cmake index dcda90371..f60625fc3 100644 --- a/physx/source/compiler/cmake/ios/PhysXVehicle.cmake +++ b/physx/source/compiler/cmake/ios/PhysXVehicle.cmake @@ -40,3 +40,6 @@ SET(PHYSXVEHICLE_COMPILE_DEFS $<$:${PHYSX_IOS_PROFILE_COMPILE_DEFS};> $<$:${PHYSX_IOS_RELEASE_COMPILE_DEFS};> ) + + +SET(PHYSXVEHICLE_LIBTYPE STATIC) diff --git a/physx/source/compiler/cmake/mac/PhysXCharacterKinematic.cmake b/physx/source/compiler/cmake/mac/PhysXCharacterKinematic.cmake index 4726bb051..bf25b0cb9 100644 --- a/physx/source/compiler/cmake/mac/PhysXCharacterKinematic.cmake +++ b/physx/source/compiler/cmake/mac/PhysXCharacterKinematic.cmake @@ -39,3 +39,5 @@ SET(PHYSXCHARACTERKINEMATICS_COMPILE_DEFS $<$:${PHYSX_MAC_PROFILE_COMPILE_DEFS};> $<$:${PHYSX_MAC_RELEASE_COMPILE_DEFS};> ) + +SET(PHYSXCHARACTERKINEMATIC_LIBTYPE STATIC) diff --git a/physx/source/compiler/cmake/mac/PhysXExtensions.cmake b/physx/source/compiler/cmake/mac/PhysXExtensions.cmake index 22df7e425..bbf7e5159 100644 --- a/physx/source/compiler/cmake/mac/PhysXExtensions.cmake +++ b/physx/source/compiler/cmake/mac/PhysXExtensions.cmake @@ -53,3 +53,5 @@ SET(PHYSXEXTENSIONS_COMPILE_DEFS $<$:${PHYSX_MAC_PROFILE_COMPILE_DEFS};> $<$:${PHYSX_MAC_RELEASE_COMPILE_DEFS};> ) + +SET(PHYSXEXTENSIONS_LIBTYPE STATIC) diff --git a/physx/source/compiler/resource_x64/PhysX.rc b/physx/source/compiler/resource_x64/PhysX.rc index f769c2713..12bd2b6f0 100644 --- a/physx/source/compiler/resource_x64/PhysX.rc +++ b/physx/source/compiler/resource_x64/PhysX.rc @@ -1,88 +1,90 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "windows.h" -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""windows.h""\r\r\r\0" -END - -3 TEXTINCLUDE -BEGIN - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 4,0,0,0 - PRODUCTVERSION 4,0,0,0 - FILEFLAGSMASK 0x17L -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "NVIDIA Corporation" - VALUE "FileDescription", "PhysX 64bit Dynamic Link Library" - VALUE "FileVersion", "4.1.0.0" - VALUE "InternalName", "PhysX_64" - VALUE "LegalCopyright", "Copyright (C) 2019 NVIDIA Corporation" - VALUE "OriginalFilename", "PhysX_64.dll" - VALUE "ProductName", "PhysX" - VALUE "ProductVersion", "4.1.0.0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "windows.h" + + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""windows.h""\r\r\r\0" +END + +3 TEXTINCLUDE +BEGIN + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 4,1,1,0 + PRODUCTVERSION 4,1,1,0 + FILEFLAGSMASK 0x17L +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "NVIDIA Corporation" + VALUE "FileDescription", "PhysX 64bit Dynamic Link Library" + VALUE "FileVersion", "4.1.1.0" + VALUE "InternalName", "PhysX_64" + VALUE "LegalCopyright", "Copyright (C) 2019 NVIDIA Corporation" + VALUE "OriginalFilename", "PhysX_64.dll" + VALUE "ProductName", "PhysX" + VALUE "ProductVersion", "4.1.1.0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + diff --git a/physx/source/compiler/resource_x64/PhysXCommon.rc b/physx/source/compiler/resource_x64/PhysXCommon.rc index 8a40776b7..ac5d2c287 100644 --- a/physx/source/compiler/resource_x64/PhysXCommon.rc +++ b/physx/source/compiler/resource_x64/PhysXCommon.rc @@ -1,88 +1,90 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "windows.h" -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""windows.h""\r\r\r\0" -END - -3 TEXTINCLUDE -BEGIN - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 4,0,0,0 - PRODUCTVERSION 4,0,0,0 - FILEFLAGSMASK 0x17L -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "NVIDIA Corporation" - VALUE "FileDescription", "PhysXCommon 64bit Dynamic Link Library" - VALUE "FileVersion", "4.1.0.0" - VALUE "InternalName", "PhysXCommon_64" - VALUE "LegalCopyright", "Copyright (C) 2019 NVIDIA Corporation" - VALUE "OriginalFilename", "PhysXCommon_64.dll" - VALUE "ProductName", "PhysX" - VALUE "ProductVersion", "4.1.0.0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "windows.h" + + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""windows.h""\r\r\r\0" +END + +3 TEXTINCLUDE +BEGIN + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 4,1,1,0 + PRODUCTVERSION 4,1,1,0 + FILEFLAGSMASK 0x17L +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "NVIDIA Corporation" + VALUE "FileDescription", "PhysXCommon 64bit Dynamic Link Library" + VALUE "FileVersion", "4.1.1.0" + VALUE "InternalName", "PhysXCommon_64" + VALUE "LegalCopyright", "Copyright (C) 2019 NVIDIA Corporation" + VALUE "OriginalFilename", "PhysXCommon_64.dll" + VALUE "ProductName", "PhysX" + VALUE "ProductVersion", "4.1.1.0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + diff --git a/physx/source/compiler/resource_x64/PhysXCooking.rc b/physx/source/compiler/resource_x64/PhysXCooking.rc index d8b4db7e8..1bf5e30a3 100644 --- a/physx/source/compiler/resource_x64/PhysXCooking.rc +++ b/physx/source/compiler/resource_x64/PhysXCooking.rc @@ -53,8 +53,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 4,0,0,0 - PRODUCTVERSION 4,0,0,0 + FILEVERSION 4,1,1,0 + PRODUCTVERSION 4,1,1,0 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -71,12 +71,12 @@ BEGIN BEGIN VALUE "CompanyName", "NVIDIA Corporation" VALUE "FileDescription", "PhysXCooking 64bit Dynamic Link Library" - VALUE "FileVersion", "4.1.0.0" + VALUE "FileVersion", "4.1.1.0" VALUE "InternalName", "PhysXCooking_64" VALUE "LegalCopyright", "Copyright (C) 2019 NVIDIA Corporation" VALUE "OriginalFilename", "PhysXCooking_64.dll" VALUE "ProductName", "PhysX" - VALUE "ProductVersion", "4.1.0.0" + VALUE "ProductVersion", "4.1.1.0" END END BLOCK "VarFileInfo" diff --git a/physx/source/compiler/resource_x64/PhysXFoundation.rc b/physx/source/compiler/resource_x64/PhysXFoundation.rc index 16d51d64d..49489e0b5 100644 Binary files a/physx/source/compiler/resource_x64/PhysXFoundation.rc and b/physx/source/compiler/resource_x64/PhysXFoundation.rc differ diff --git a/physx/source/compiler/resource_x86/PhysX.rc b/physx/source/compiler/resource_x86/PhysX.rc index 6b6652c74..370212bdc 100644 --- a/physx/source/compiler/resource_x86/PhysX.rc +++ b/physx/source/compiler/resource_x86/PhysX.rc @@ -1,88 +1,91 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "windows.h" -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""windows.h""\r\r\r\r\0" -END - -3 TEXTINCLUDE -BEGIN - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 4,0,0,0 - PRODUCTVERSION 4,0,0,0 - FILEFLAGSMASK 0x17L -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "NVIDIA Corporation" - VALUE "FileDescription", "PhysX 32bit Dynamic Link Library" - VALUE "FileVersion", "4.1.0.0" - VALUE "InternalName", "PhysX_32" - VALUE "LegalCopyright", "Copyright (C) 2019 NVIDIA Corporation" - VALUE "OriginalFilename", "PhysX_32.dll" - VALUE "ProductName", "PhysX" - VALUE "ProductVersion", "4.1.0.0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "windows.h" + + + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""windows.h""\r\r\r\r\0" +END + +3 TEXTINCLUDE +BEGIN + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 4,1,1,0 + PRODUCTVERSION 4,1,1,0 + FILEFLAGSMASK 0x17L +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "NVIDIA Corporation" + VALUE "FileDescription", "PhysX 32bit Dynamic Link Library" + VALUE "FileVersion", "4.1.1.0" + VALUE "InternalName", "PhysX_32" + VALUE "LegalCopyright", "Copyright (C) 2019 NVIDIA Corporation" + VALUE "OriginalFilename", "PhysX_32.dll" + VALUE "ProductName", "PhysX" + VALUE "ProductVersion", "4.1.1.0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + diff --git a/physx/source/compiler/resource_x86/PhysXCommon.rc b/physx/source/compiler/resource_x86/PhysXCommon.rc index 777e38c5f..ef942ea6d 100644 --- a/physx/source/compiler/resource_x86/PhysXCommon.rc +++ b/physx/source/compiler/resource_x86/PhysXCommon.rc @@ -54,8 +54,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 4,0,0,0 - PRODUCTVERSION 4,0,0,0 + FILEVERSION 4,1,1,0 + PRODUCTVERSION 4,1,1,0 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -72,12 +72,12 @@ BEGIN BEGIN VALUE "CompanyName", "NVIDIA Corporation" VALUE "FileDescription", "PhysXCommon 32bit Dynamic Link Library" - VALUE "FileVersion", "4.1.0.0" + VALUE "FileVersion", "4.1.1.0" VALUE "InternalName", "PhysXCommon_32" VALUE "LegalCopyright", "Copyright (C) 2019 NVIDIA Corporation" VALUE "OriginalFilename", "PhysXCommon_32.dll" VALUE "ProductName", "PhysX" - VALUE "ProductVersion", "4.1.0.0" + VALUE "ProductVersion", "4.1.1.0" END END BLOCK "VarFileInfo" diff --git a/physx/source/compiler/resource_x86/PhysXCooking.rc b/physx/source/compiler/resource_x86/PhysXCooking.rc index c0224333e..a3c927f8c 100644 --- a/physx/source/compiler/resource_x86/PhysXCooking.rc +++ b/physx/source/compiler/resource_x86/PhysXCooking.rc @@ -53,8 +53,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 4,0,0,0 - PRODUCTVERSION 4,0,0,0 + FILEVERSION 4,1,1,0 + PRODUCTVERSION 4,1,1,0 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -71,12 +71,12 @@ BEGIN BEGIN VALUE "CompanyName", "NVIDIA Corporation" VALUE "FileDescription", "PhysXCooking 32bit Dynamic Link Library" - VALUE "FileVersion", "4.1.0.0" + VALUE "FileVersion", "4.1.1.0" VALUE "InternalName", "PhysXCooking_32" VALUE "LegalCopyright", "Copyright (C) 2019 NVIDIA Corporation" VALUE "OriginalFilename", "PhysXCooking_32.dll" VALUE "ProductName", "PhysX" - VALUE "ProductVersion", "4.1.0.0" + VALUE "ProductVersion", "4.1.1.0" END END BLOCK "VarFileInfo" diff --git a/physx/source/compiler/resource_x86/PhysXFoundation.rc b/physx/source/compiler/resource_x86/PhysXFoundation.rc index 7155d1929..9a1dd184a 100644 Binary files a/physx/source/compiler/resource_x86/PhysXFoundation.rc and b/physx/source/compiler/resource_x86/PhysXFoundation.rc differ diff --git a/physx/source/foundation/include/unix/sse2/PsUnixSse2InlineAoS.h b/physx/source/foundation/include/unix/sse2/PsUnixSse2InlineAoS.h index 066a35a89..9d5206b75 100644 --- a/physx/source/foundation/include/unix/sse2/PsUnixSse2InlineAoS.h +++ b/physx/source/foundation/include/unix/sse2/PsUnixSse2InlineAoS.h @@ -172,12 +172,12 @@ PX_FORCE_INLINE PxU32 FiniteTestEq(const Vec4V a, const Vec4V b) #if !PX_EMSCRIPTEN const PX_ALIGN(16, PxF32 gMaskXYZ[4]) = { physx::PxUnionCast(0xffffffff), physx::PxUnionCast(0xffffffff), physx::PxUnionCast(0xffffffff), 0 }; -} #else // emscripten doesn't like the PxUnionCast data structure // the following is what windows and xbox does -- using these for emscripten const PX_ALIGN(16, PxU32 gMaskXYZ[4]) = { 0xffffffff, 0xffffffff, 0xffffffff, 0 }; } #endif +} namespace _VecMathTests { diff --git a/physx/source/geomutils/src/GuMeshFactory.cpp b/physx/source/geomutils/src/GuMeshFactory.cpp index f05eaeaa2..e0183c461 100644 --- a/physx/source/geomutils/src/GuMeshFactory.cpp +++ b/physx/source/geomutils/src/GuMeshFactory.cpp @@ -505,10 +505,10 @@ void GuMeshFactory::addConvexMesh(ConvexMesh* np, bool lock) // data injected by cooking lib for runtime cooking PxConvexMesh* GuMeshFactory::createConvexMesh(void* data) { - return createConvexMesh(*reinterpret_cast(data)); + return createConvexMesh(*reinterpret_cast(data)); } -PxConvexMesh* GuMeshFactory::createConvexMesh(Gu::ConvexHullData& data) +PxConvexMesh* GuMeshFactory::createConvexMesh(Gu::ConvexHullInitData& data) { Gu::ConvexMesh *np; PX_NEW_SERIALIZED(np, Gu::ConvexMesh)(*this, data); diff --git a/physx/source/geomutils/src/GuMeshFactory.h b/physx/source/geomutils/src/GuMeshFactory.h index f9271dad7..ddfdf59c3 100644 --- a/physx/source/geomutils/src/GuMeshFactory.h +++ b/physx/source/geomutils/src/GuMeshFactory.h @@ -55,7 +55,7 @@ namespace Gu class TriangleMesh; class TriangleMeshData; class BVHStructure; - struct ConvexHullData; + struct ConvexHullInitData; struct BVHStructureData; } @@ -121,7 +121,7 @@ class PX_PHYSX_COMMON_API GuMeshFactory : public Ps::UserAllocated protected: PxTriangleMesh* createTriangleMesh(Gu::TriangleMeshData& data); - PxConvexMesh* createConvexMesh(Gu::ConvexHullData& data); + PxConvexMesh* createConvexMesh(Gu::ConvexHullInitData& data); PxBVHStructure* createBVHStructure(Gu::BVHStructureData& data); mutable Ps::Mutex mTrackingMutex; diff --git a/physx/source/geomutils/src/convex/GuConvexMesh.cpp b/physx/source/geomutils/src/convex/GuConvexMesh.cpp index 43d8a875c..70db160e2 100644 --- a/physx/source/geomutils/src/convex/GuConvexMesh.cpp +++ b/physx/source/geomutils/src/convex/GuConvexMesh.cpp @@ -90,15 +90,15 @@ Gu::ConvexMesh::ConvexMesh() initConvexHullData(mHullData); } -Gu::ConvexMesh::ConvexMesh(GuMeshFactory& factory, ConvexHullData& data) +Gu::ConvexMesh::ConvexMesh(GuMeshFactory& factory, ConvexHullInitData& data) : PxConvexMesh(PxConcreteType::eCONVEX_MESH, PxBaseFlag::eOWNS_MEMORY | PxBaseFlag::eIS_RELEASABLE) -, mNb(0) -, mBigConvexData(NULL) -, mMass(0) -, mInertia(PxMat33(PxIdentity)) +, mNb(data.mNb) +, mBigConvexData(data.mBigConvexData) +, mMass(data.mMass) +, mInertia(data.mInertia) , mMeshFactory(&factory) { - mHullData = data; + mHullData = data.mHullData; } Gu::ConvexMesh::~ConvexMesh() diff --git a/physx/source/geomutils/src/convex/GuConvexMesh.h b/physx/source/geomutils/src/convex/GuConvexMesh.h index 903562bf6..73c8b41e6 100644 --- a/physx/source/geomutils/src/convex/GuConvexMesh.h +++ b/physx/source/geomutils/src/convex/GuConvexMesh.h @@ -68,6 +68,16 @@ namespace Gu return bytesNeeded; } + struct ConvexHullInitData + { + ConvexHullData mHullData; + PxU32 mNb; + PxReal mMass; + PxMat33 mInertia; + BigConvexData* mBigConvexData; + }; + + // 0: includes raycast map // 1: discarded raycast map // 2: support map not always there @@ -95,7 +105,7 @@ namespace Gu //================================================================================================== public: // PX_SERIALIZATION - PX_PHYSX_COMMON_API ConvexMesh(PxBaseFlags baseFlags) : PxConvexMesh(baseFlags), Cm::RefCountable(PxEmpty), mHullData(PxEmpty), mNb(PxEmpty) + ConvexMesh(PxBaseFlags baseFlags) : PxConvexMesh(baseFlags), Cm::RefCountable(PxEmpty), mHullData(PxEmpty), mNb(PxEmpty) { mNb.setBit(); } @@ -111,7 +121,7 @@ namespace Gu //~PX_SERIALIZATION PX_PHYSX_COMMON_API ConvexMesh(); - ConvexMesh(GuMeshFactory& factory, ConvexHullData& data); + PX_PHYSX_COMMON_API ConvexMesh(GuMeshFactory& factory, ConvexHullInitData& data); PX_PHYSX_COMMON_API bool load(PxInputStream& stream); diff --git a/physx/source/immediatemode/src/NpImmediateMode.cpp b/physx/source/immediatemode/src/NpImmediateMode.cpp index 419766e6e..6a007ec75 100644 --- a/physx/source/immediatemode/src/NpImmediateMode.cpp +++ b/physx/source/immediatemode/src/NpImmediateMode.cpp @@ -42,6 +42,8 @@ // PT: just for Dy::DY_ARTICULATION_MAX_SIZE #include "../../lowleveldynamics/include/DyFeatherstoneArticulation.h" +#include "../../lowlevel/common/include/utils/PxcScratchAllocator.h" + using namespace physx; using namespace Dy; using namespace immediate; @@ -97,21 +99,23 @@ namespace Cm::SpatialVectorF Z[DY_ARTICULATION_MAX_SIZE]; Cm::SpatialVectorF deltaV[DY_ARTICULATION_MAX_SIZE]; - FeatherstoneArticulation::computeUnconstrainedVelocitiesTGSInternal(gravity, Z, deltaV); + FeatherstoneArticulation::computeUnconstrainedVelocitiesInternal(gravity, Z, deltaV); setupInternalConstraints(mArticulationData.getLinks(), mArticulationData.getLinkCount(), - mArticulationData.getArticulationFlags() & PxArticulationFlag::eFIX_BASE, mArticulationData, Z, totalDt, invDt, 0.7f, true); + mArticulationData.getArticulationFlags() & PxArticulationFlag::eFIX_BASE, mArticulationData, Z, dt, totalDt, invDt, 0.7f, true); } PX_FORCE_INLINE void immComputeUnconstrainedVelocities(PxReal dt, const PxVec3& gravity) { mArticulationData.setDt(dt); - PxU32 acCount; Cm::SpatialVectorF Z[DY_ARTICULATION_MAX_SIZE]; Cm::SpatialVectorF deltaV[DY_ARTICULATION_MAX_SIZE]; - FeatherstoneArticulation::computeUnconstrainedVelocitiesInternal(acCount, gravity, Z, deltaV); + FeatherstoneArticulation::computeUnconstrainedVelocitiesInternal(gravity, Z, deltaV); + const PxReal invDt = 1.f/dt; + setupInternalConstraints(mArticulationData.getLinks(), mArticulationData.getLinkCount(), + mArticulationData.getArticulationFlags() & PxArticulationFlag::eFIX_BASE, mArticulationData, Z, dt, dt, invDt, 1.f, false); } PxU32 addLink(const PxFeatherstoneArticulationLinkData& data); @@ -135,7 +139,6 @@ namespace class RigidBodyClassification { PX_NOCOPY(RigidBodyClassification) - PxU8* PX_RESTRICT mBodies; const PxU32 mBodySize; const PxU32 mBodyStride; @@ -146,7 +149,7 @@ namespace { } - //Returns true if it is a dynamic-dynamic constriant; false if it is a dynamic-static or dynamic-kinematic constraint + //Returns true if it is a dynamic-dynamic constraint; false if it is a dynamic-static or dynamic-kinematic constraint PX_FORCE_INLINE bool classifyConstraint(const PxSolverConstraintDesc& desc, uintptr_t& indexA, uintptr_t& indexB, bool& activeA, bool& activeB, PxU32& bodyAProgress, PxU32& bodyBProgress) const { @@ -1207,7 +1210,6 @@ void immArticulation::initJointCore(Dy::ArticulationJointCore& core, const PxFea core.swingLimited = false; core.twistLimited = false; - core.prismaticLimited = false; core.tangentialStiffness = 0.0f; core.tangentialDamping = 0.0f; @@ -1370,6 +1372,93 @@ Dy::ArticulationLinkHandle immediate::PxAddArticulationLink(Dy::ArticulationV* a return size_t(articulation) | id; } +PxArticulationCache* immediate::PxCreateArticulationCache(Dy::ArticulationV* articulation) +{ + immArticulation *immArt = static_cast(articulation); + immArt->complete(); + + const PxU32 totalDofs = immArt->getDofs(); + const PxU32 jointCount = immArt->getBodyCount() - 1; + + PxU32 totalSize = + sizeof(Cm::SpatialVector) * immArt->getBodyCount() //external force + + sizeof(PxReal) * (6 + totalDofs) * ((1 + jointCount) * 6)//offset to end of dense jacobian (assuming free floating base) + + sizeof(PxReal) * totalDofs * totalDofs //mass matrix + + sizeof(PxReal) * totalDofs * 4 //jointVelocity, jointAcceleration, jointPosition, joint force + + sizeof(PxArticulationRootLinkData); + + PxU8* tCache = reinterpret_cast(PX_ALLOC(totalSize, "Articulation cache")); + PxMemZero(tCache, totalSize); + + PxArticulationCache* cache = reinterpret_cast(tCache); + + PxU32 offset = sizeof(PxArticulationCache); + cache->externalForces = reinterpret_cast(tCache + offset); + offset += sizeof(PxSpatialForce) * immArt->getBodyCount(); + + cache->denseJacobian = reinterpret_cast(tCache + offset); + offset += sizeof(PxReal) * (6 + totalDofs) * ((1 + jointCount) * 6); //size of dense jacobian assuming free floating base link. + + cache->massMatrix = reinterpret_cast(tCache + offset); + + offset += sizeof(PxReal) *totalDofs * totalDofs; + cache->jointVelocity = reinterpret_cast(tCache + offset); + + offset += sizeof(PxReal) * totalDofs; + cache->jointAcceleration = reinterpret_cast(tCache + offset); + + offset += sizeof(PxReal) * totalDofs; + cache->jointPosition = reinterpret_cast(tCache + offset); + + offset += sizeof(PxReal) * totalDofs; + cache->jointForce = reinterpret_cast(tCache + offset); + + offset += sizeof(PxReal) * totalDofs; + cache->rootLinkData = reinterpret_cast(tCache + offset); + + cache->coefficientMatrix = NULL; + cache->lambda =NULL; + + const PxU32 scratchMemorySize = sizeof(Cm::SpatialVectorF) * immArt->getBodyCount() * 5 //motionVelocity, motionAccelerations, coriolisVectors, spatialZAVectors, externalAccels; + + sizeof(Dy::SpatialMatrix) * immArt->getBodyCount() //compositeSpatialInertias; + + sizeof(PxReal) * totalDofs * 5; //jointVelocity, jointAcceleration, jointForces, jointPositions, jointFrictionForces + + void* scratchMemory = PX_ALLOC(scratchMemorySize, "Cache scratch memory"); + cache->scratchMemory = scratchMemory; + + cache->scratchAllocator = PX_PLACEMENT_NEW(PX_ALLOC(sizeof(PxcScratchAllocator), "PxScrachAllocator"), PxcScratchAllocator)(); + + reinterpret_cast(cache->scratchAllocator)->setBlock(scratchMemory, scratchMemorySize); + + return cache; +} + +void immediate::PxCopyInternalStateToArticulationCache(Dy::ArticulationV* articulation, PxArticulationCache& cache, PxArticulationCacheFlags flag) +{ + immArticulation *immArt = static_cast(articulation); + immArt->copyInternalStateToCache(cache, flag); +} + +void immediate::PxApplyArticulationCache(Dy::ArticulationV* articulation, PxArticulationCache& cache, PxArticulationCacheFlags flag) { + immArticulation *immArt = static_cast(articulation); + immArt->applyCache(cache, flag); +} + +void immediate::PxReleaseArticulationCache(PxArticulationCache& cache) +{ + if (cache.scratchAllocator) + { + PxcScratchAllocator* scratchAlloc = reinterpret_cast(cache.scratchAllocator); + scratchAlloc->~PxcScratchAllocator(); + PX_FREE_AND_RESET(cache.scratchAllocator); + } + + if (cache.scratchMemory) + PX_FREE_AND_RESET(cache.scratchMemory); + + PX_FREE(&cache); +} + void immediate::PxComputeUnconstrainedVelocities(Dy::ArticulationV* articulation, const PxVec3& gravity, const PxReal dt) { if(!articulation) diff --git a/physx/source/lowlevel/api/include/PxvDynamics.h b/physx/source/lowlevel/api/include/PxvDynamics.h index 8c9948570..0f87ee542 100644 --- a/physx/source/lowlevel/api/include/PxvDynamics.h +++ b/physx/source/lowlevel/api/include/PxvDynamics.h @@ -90,7 +90,7 @@ struct PxsBodyCore: public PxsRigidCore // accordingly. //================================================================================================== - PxsBodyCore() : PxsRigidCore() {} + PxsBodyCore() : PxsRigidCore() { kinematicLink = PxU8(0); } PxsBodyCore(const PxEMPTY) : PxsRigidCore(PxEmpty) {} PX_FORCE_INLINE const PxTransform& getBody2Actor() const { return body2Actor; } @@ -129,9 +129,10 @@ struct PxsBodyCore: public PxsRigidCore PxU32 numBodyInteractions; //Used by adaptive force to keep track of the total number of body interactions PxU8 isFastMoving; //This could be a single bit but it's a u8 at the moment for simplicity's sake PxU8 disableGravity; //This could be a single bit but it's a u8 at the moment for simplicity's sake - PxRigidDynamicLockFlags lockFlags; //160 This could be a u8 but it is a u16 for simplicity's sake. All fits into 16 byte alignment - - // PT: TODO: revisit this / move to PxsCCD.cpp + PxRigidDynamicLockFlags lockFlags; //This is u8. + PxU8 kinematicLink; //160 This indicates whether the articulation link is kinematic link. All fits into 16 byte alignment + + // PT: TODO: revisit this / move to PxsCCD.cpp PX_FORCE_INLINE bool shouldCreateContactReports() const { const PxU32* binary = reinterpret_cast(&contactReportThreshold); diff --git a/physx/source/lowlevel/common/src/pipeline/PxcNpThreadContext.cpp b/physx/source/lowlevel/common/src/pipeline/PxcNpThreadContext.cpp index b13f250e7..2a6d2da23 100644 --- a/physx/source/lowlevel/common/src/pipeline/PxcNpThreadContext.cpp +++ b/physx/source/lowlevel/common/src/pipeline/PxcNpThreadContext.cpp @@ -37,6 +37,7 @@ PxcNpThreadContext::PxcNpThreadContext(PxcNpContext* params) : mContactBlockStream (params->mNpMemBlockPool), mNpCacheStreamPair (params->mNpMemBlockPool), mNarrowPhaseParams (0.0f, params->mMeshContactMargin, params->mToleranceLength), + mBodySimPool (PX_DEBUG_EXP("BodySimPool")), mPCM (false), mContactCache (false), mCreateContactStream (params->mCreateContactStream), diff --git a/physx/source/lowlevel/software/include/PxsIslandSim.h b/physx/source/lowlevel/software/include/PxsIslandSim.h index 9e46bb323..aa1f253d2 100644 --- a/physx/source/lowlevel/software/include/PxsIslandSim.h +++ b/physx/source/lowlevel/software/include/PxsIslandSim.h @@ -917,15 +917,20 @@ struct PartitionEdge IG::EdgeIndex mEdgeIndex; //! The edge index into the island manager. Used to identify the contact manager/constraint IG::NodeIndex mNode0; //! The node index for node 0. Can be obtained from the edge index alternatively IG::NodeIndex mNode1; //! The node idnex for node 1. Can be obtained from the edge index alternatively - bool mInfiniteMass0; //! Whether body 0 is kinematic - bool mInfiniteMass1; //! Whether body 1 is kinematic + bool mInfiniteMass0; //! Whether body 0 is kinematic + bool mArticulation0; //! Whether body 0 is an articulation link + bool mInfiniteMass1; //! Whether body 1 is kinematic + bool mArticulation1; //! Whether body 1 is an articulation link PartitionEdge* mNextPatch; //! for the contact manager has more than 1 patch, we have next patch's edge and previous patch's edge to connect to this edge PxU32 mUniqueIndex; //! a unique ID for this edge - PartitionEdge() : mEdgeIndex(IG_INVALID_EDGE), mInfiniteMass0(false), - mInfiniteMass1(false), mNextPatch(NULL) + + //KS - This constructor explicitly does not set mUniqueIndex. It is filled in by the pool allocator and this constructor + //is called afterwards. We do not want to stomp the uniqueIndex value + PartitionEdge() : mEdgeIndex(IG_INVALID_EDGE), mInfiniteMass0(false), mArticulation0(false), + mInfiniteMass1(false), mArticulation1(false), mNextPatch(NULL)//, mUniqueIndex(IG_INVALID_EDGE) { } }; diff --git a/physx/source/lowlevel/software/include/PxsNphaseImplementationContext.h b/physx/source/lowlevel/software/include/PxsNphaseImplementationContext.h index 1f02ec832..ef192d549 100644 --- a/physx/source/lowlevel/software/include/PxsNphaseImplementationContext.h +++ b/physx/source/lowlevel/software/include/PxsNphaseImplementationContext.h @@ -121,6 +121,9 @@ class PxsNphaseImplementationContext: public PxvNphaseImplementationContextUsabl void startNarrowPhaseTasks() {} + virtual void lock() { mContactManagerMutex.lock(); } + virtual void unlock() { mContactManagerMutex.unlock(); } + Ps::Array mRemovedContactManagers; @@ -131,6 +134,8 @@ class PxsNphaseImplementationContext: public PxvNphaseImplementationContextUsabl IG::IslandSim* mIslandSim; + Ps::Mutex mContactManagerMutex; + private: void unregisterContactManagerInternal(PxU32 npIndex, PxsContactManagers& managers, PxsContactManagerOutput* cmOutputs); diff --git a/physx/source/lowlevel/software/include/PxsSimulationController.h b/physx/source/lowlevel/software/include/PxsSimulationController.h index 9b7996c4b..cf975cba9 100644 --- a/physx/source/lowlevel/software/include/PxsSimulationController.h +++ b/physx/source/lowlevel/software/include/PxsSimulationController.h @@ -45,6 +45,8 @@ namespace physx class Context; struct Constraint; class ArticulationV; + class FeatherstoneArticulation; + struct ArticulationJointCore; } namespace Cm @@ -110,6 +112,8 @@ namespace physx virtual void updateBodies(PxsRigidBody** rigidBodies, PxU32* nodeIndices, const PxU32 nbBodies) = 0; virtual void updateBodiesAndShapes(PxBaseTask* continuation) = 0; virtual void update(const PxU32 bitMapWordCounts) = 0; + virtual void updateArticulation(Dy::ArticulationV* articulation, const IG::NodeIndex& nodeIndex) = 0; + virtual void updateArticulationJoint(Dy::ArticulationV* articulation, const IG::NodeIndex& nodeIndex) = 0; virtual void gpuDmabackData(PxsTransformCache& cache, Bp::BoundsArray& boundArray, Cm::BitMapPinned& changedAABBMgrHandles) = 0; virtual void udpateScBodyAndShapeSim(PxsTransformCache& cache, Bp::BoundsArray& boundArray, PxBaseTask* continuation) = 0; virtual PxU32* getActiveBodies() = 0; diff --git a/physx/source/lowlevel/software/include/PxvNphaseImplementationContext.h b/physx/source/lowlevel/software/include/PxvNphaseImplementationContext.h index 51c368c6f..cb49fb4a3 100644 --- a/physx/source/lowlevel/software/include/PxvNphaseImplementationContext.h +++ b/physx/source/lowlevel/software/include/PxvNphaseImplementationContext.h @@ -167,6 +167,9 @@ class PxvNphaseImplementationContext virtual void releaseContext() = 0; virtual void preallocateNewBuffers(PxU32 nbNewPairs, PxU32 maxIndex) = 0; + virtual void lock() = 0; + virtual void unlock() = 0; + @@ -199,6 +202,9 @@ class PxvNphaseImplementationFallback virtual void removeContactManagersFallback(PxsContactManagerOutput* cmOutputs) = 0; + virtual void lock() = 0; + virtual void unlock() = 0; + }; class PxvNphaseImplementationContextUsableAsFallback: public PxvNphaseImplementationContext, public PxvNphaseImplementationFallback diff --git a/physx/source/lowlevel/software/src/PxsNphaseImplementationContext.cpp b/physx/source/lowlevel/software/src/PxsNphaseImplementationContext.cpp index a51976087..5f9695911 100644 --- a/physx/source/lowlevel/software/src/PxsNphaseImplementationContext.cpp +++ b/physx/source/lowlevel/software/src/PxsNphaseImplementationContext.cpp @@ -669,6 +669,7 @@ void PxsNphaseImplementationContext::removeContactManagersFallback(PxsContactMan { if (mRemovedContactManagers.size()) { + lock(); Ps::sort(mRemovedContactManagers.begin(), mRemovedContactManagers.size(), Ps::Greater()); for (PxU32 a = 0; a < mRemovedContactManagers.size(); ++a) @@ -681,6 +682,7 @@ void PxsNphaseImplementationContext::removeContactManagersFallback(PxsContactMan } mRemovedContactManagers.forceSize_Unsafe(0); + unlock(); } } @@ -921,6 +923,7 @@ void PxsNphaseImplementationContext::unregisterContactManagerInternal(PxU32 npIn managers.mContactManagerMapping[index] = replaceManager; managers.mCaches[index] = managers.mCaches[replaceIndex]; cmOutputs[index] = cmOutputs[replaceIndex]; + managers.mCaches[replaceIndex].reset(); PxU32* edgeNodeIndices = mIslandSim->getEdgeNodeIndexPtr(); diff --git a/physx/source/lowlevelaabb/include/BpBroadPhase.h b/physx/source/lowlevelaabb/include/BpBroadPhase.h index 08e92521e..b28c791c8 100644 --- a/physx/source/lowlevelaabb/include/BpBroadPhase.h +++ b/physx/source/lowlevelaabb/include/BpBroadPhase.h @@ -43,7 +43,6 @@ namespace Bp { class BroadPhaseUpdateData; -class BPMemoryAllocator; /** @@ -76,7 +75,7 @@ class BroadPhaseBase */ virtual PxU32 getNbRegions() const { - return 0; + return 0; } /** @@ -128,11 +127,13 @@ class BroadPhaseBase \return Handle for newly created region, or 0xffffffff in case of failure. */ - virtual PxU32 addRegion(const PxBroadPhaseRegion& region, bool populateRegion) + virtual PxU32 addRegion(const PxBroadPhaseRegion& region, bool populateRegion, const PxBounds3* boundsArray, const PxReal* contactDistance) { PX_UNUSED(region); PX_UNUSED(populateRegion); - return 0xffffffff; + PX_UNUSED(boundsArray); + PX_UNUSED(contactDistance); + return 0xffffffff; } /** @@ -151,7 +152,7 @@ class BroadPhaseBase virtual bool removeRegion(PxU32 handle) { PX_UNUSED(handle); - return false; + return false; } /* @@ -159,7 +160,7 @@ class BroadPhaseBase */ virtual PxU32 getNbOutOfBoundsObjects() const { - return 0; + return 0; } /* @@ -167,7 +168,7 @@ class BroadPhaseBase */ virtual const PxU32* getOutOfBoundsObjects() const { - return NULL; + return NULL; } }; @@ -299,7 +300,7 @@ class BroadPhase : public BroadPhaseBase /** \brief Adjust internal structures after all bounds have been adjusted due to a scene origin shift. */ - virtual void shiftOrigin(const PxVec3& shift) = 0; + virtual void shiftOrigin(const PxVec3& shift, const PxBounds3* boundsArray, const PxReal* contactDistances) = 0; /** \brief Test that the created/updated/removed lists obey the rules that diff --git a/physx/source/lowlevelaabb/src/BpAABBManager.cpp b/physx/source/lowlevelaabb/src/BpAABBManager.cpp index bb749fe23..1c57a28b8 100644 --- a/physx/source/lowlevelaabb/src/BpAABBManager.cpp +++ b/physx/source/lowlevelaabb/src/BpAABBManager.cpp @@ -2438,7 +2438,7 @@ void AABBManager::freeBuffers() void AABBManager::shiftOrigin(const PxVec3& shift) { - mBroadPhase.shiftOrigin(shift); + mBroadPhase.shiftOrigin(shift, mBoundsArray.begin(), mContactDistance.begin()); mOriginShifted = true; } diff --git a/physx/source/lowlevelaabb/src/BpBroadPhaseABP.cpp b/physx/source/lowlevelaabb/src/BpBroadPhaseABP.cpp index a81876b39..b45cfb5cc 100644 --- a/physx/source/lowlevelaabb/src/BpBroadPhaseABP.cpp +++ b/physx/source/lowlevelaabb/src/BpBroadPhaseABP.cpp @@ -1775,7 +1775,7 @@ void BoxManager::finalize() #endif ); PxU32 finalize(BroadPhaseABP* mbp); - void shiftOrigin(const PxVec3& shift); + void shiftOrigin(const PxVec3& shift, const PxBounds3* boundsArray, const PxReal* contactDistances); void setTransientData(const PxBounds3* bounds, const PxReal* contactDistance/*, const Bp::FilterGroup::Enum* groups*/); @@ -1790,8 +1790,8 @@ void BoxManager::finalize() ABP_SharedData mShared; ABP_PairManager mPairManager; - const PxBounds3* mTransientBounds; - const PxReal* mTransientContactDistance; +// const PxBounds3* mTransientBounds; +// const PxReal* mTransientContactDistance; // const Bp::FilterGroup::Enum* mTransientGroups; }; @@ -2833,9 +2833,9 @@ void ABP::Region_findOverlaps(ABP_PairManager& pairManager) ABP::ABP() : mSBM (FilterType::STATIC), mDBM (FilterType::DYNAMIC), - mKBM (FilterType::KINEMATIC), - mTransientBounds (NULL), - mTransientContactDistance (NULL) + mKBM (FilterType::KINEMATIC) +// mTransientBounds (NULL), +// mTransientContactDistance (NULL) // mTransientGroups (NULL) { } @@ -3063,7 +3063,7 @@ void ABP::reset() } // PT: TODO: is is really ok to use "transient" data in this function? -void ABP::shiftOrigin(const PxVec3& shift) +void ABP::shiftOrigin(const PxVec3& shift, const PxBounds3* /*boundsArray*/, const PxReal* /*contactDistances*/) { PX_UNUSED(shift); // PT: unused because the bounds were pre-shifted before calling this function @@ -3072,8 +3072,8 @@ void ABP::shiftOrigin(const PxVec3& shift) void ABP::setTransientData(const PxBounds3* bounds, const PxReal* contactDistance/*, const Bp::FilterGroup::Enum* groups*/) { - mTransientBounds = bounds; - mTransientContactDistance = contactDistance; +// mTransientBounds = bounds; +// mTransientContactDistance = contactDistance; // mTransientGroups = groups; mSBM.setSourceData(bounds, contactDistance); @@ -3375,9 +3375,9 @@ bool BroadPhaseABP::isValid(const BroadPhaseUpdateData& updateData) const } #endif -void BroadPhaseABP::shiftOrigin(const PxVec3& shift) +void BroadPhaseABP::shiftOrigin(const PxVec3& shift, const PxBounds3* boundsArray, const PxReal* contactDistances) { - mABP->shiftOrigin(shift); + mABP->shiftOrigin(shift, boundsArray, contactDistances); } PxU32 BroadPhaseABP::getCurrentNbPairs() const diff --git a/physx/source/lowlevelaabb/src/BpBroadPhaseABP.h b/physx/source/lowlevelaabb/src/BpBroadPhaseABP.h index da7f1b767..e25873215 100644 --- a/physx/source/lowlevelaabb/src/BpBroadPhaseABP.h +++ b/physx/source/lowlevelaabb/src/BpBroadPhaseABP.h @@ -64,7 +64,7 @@ namespace Bp virtual PxU32 getNbDeletedPairs() const; virtual BroadPhasePair* getDeletedPairs(); virtual void freeBuffers(); - virtual void shiftOrigin(const PxVec3& shift); + virtual void shiftOrigin(const PxVec3& shift, const PxBounds3* boundsArray, const PxReal* contactDistances); #if PX_CHECKED virtual bool isValid(const BroadPhaseUpdateData& updateData) const; #endif diff --git a/physx/source/lowlevelaabb/src/BpBroadPhaseMBP.cpp b/physx/source/lowlevelaabb/src/BpBroadPhaseMBP.cpp index ed2ff589e..f19ba2713 100644 --- a/physx/source/lowlevelaabb/src/BpBroadPhaseMBP.cpp +++ b/physx/source/lowlevelaabb/src/BpBroadPhaseMBP.cpp @@ -496,7 +496,7 @@ struct RegionData : public Ps::UserAllocated void reset(); void freeBuffers(); - PxU32 addRegion(const PxBroadPhaseRegion& region, bool populateRegion); + PxU32 addRegion(const PxBroadPhaseRegion& region, bool populateRegion, const PxBounds3* boundsArray, const PxReal* contactDistance); bool removeRegion(PxU32 handle); const Region* getRegion(PxU32 i) const; PX_FORCE_INLINE PxU32 getNbRegions() const { return mNbRegions; } @@ -513,9 +513,8 @@ struct RegionData : public Ps::UserAllocated #endif ); PxU32 finalize(BroadPhaseMBP* mbp); - void shiftOrigin(const PxVec3& shift); + void shiftOrigin(const PxVec3& shift, const PxBounds3* boundsArray, const PxReal* contactDistances); - void setTransientBounds(const PxBounds3* bounds, const PxReal* contactDistance); // private: PxU32 mNbRegions; MBP_ObjectIndex mFirstFreeIndex; // First free recycled index for mMBP_Objects @@ -535,13 +534,10 @@ struct RegionData : public Ps::UserAllocated Ps::Array mOutOfBoundsObjects; // These are BpHandle but the BP interface expects PxU32s void addToOutOfBoundsArray(BpHandle id); - const PxBounds3* mTransientBounds; - const PxReal* mTransientContactDistance; - #ifdef USE_FULLY_INSIDE_FLAG BitArray mFullyInsideBitmap; // Indexed by MBP_ObjectIndex #endif - void populateNewRegion(const MBP_AABB& box, Region* addedRegion, PxU32 regionIndex); + void populateNewRegion(const MBP_AABB& box, Region* addedRegion, PxU32 regionIndex, const PxBounds3* boundsArray, const PxReal* contactDistance); #ifdef MBP_REGION_BOX_PRUNING void buildRegionData(); @@ -1915,7 +1911,7 @@ void MBP::populateNewRegion(const MBP_AABB& box, Region* addedRegion, PxU32 regi return retval; }*/ -void MBP::populateNewRegion(const MBP_AABB& box, Region* addedRegion, PxU32 regionIndex) +void MBP::populateNewRegion(const MBP_AABB& box, Region* addedRegion, PxU32 regionIndex, const PxBounds3* boundsArray, const PxReal* contactDistance) { const RegionData* PX_RESTRICT regions = mRegions.begin(); const PxU32 nbObjects = mMBP_Objects.size(); @@ -1981,8 +1977,8 @@ void MBP::populateNewRegion(const MBP_AABB& box, Region* addedRegion, PxU32 regi // PT: if the object is out-of-bounds, we're out-of-luck. We don't have the object bounds, so we need to retrieve them // from the AABB manager - and then re-encode them. This is not very elegant or efficient, but it should rarely happen // so this is good enough for now. - const PxBounds3 rawBounds = mTransientBounds[currentObject.mUserID]; - PxVec3 c(mTransientContactDistance[currentObject.mUserID]); + const PxBounds3 rawBounds = boundsArray[currentObject.mUserID]; + PxVec3 c(contactDistance[currentObject.mUserID]); const PxBounds3 decodedBounds(rawBounds.minimum - c, rawBounds.maximum + c); bounds.initFrom2(decodedBounds); @@ -2089,7 +2085,7 @@ void MBP::populateNewRegion(const MBP_AABB& box, Region* addedRegion, PxU32 regi } #endif -PxU32 MBP::addRegion(const PxBroadPhaseRegion& region, bool populateRegion) +PxU32 MBP::addRegion(const PxBroadPhaseRegion& region, bool populateRegion, const PxBounds3* boundsArray, const PxReal* contactDistance) { PxU32 regionHandle; RegionData* PX_RESTRICT buffer; @@ -2124,7 +2120,7 @@ PxU32 MBP::addRegion(const PxBroadPhaseRegion& region, bool populateRegion) // PT: automatically populate new region with overlapping objects if(populateRegion) - populateNewRegion(buffer->mBox, newRegion, regionHandle); + populateNewRegion(buffer->mBox, newRegion, regionHandle, boundsArray, contactDistance); #ifdef MBP_REGION_BOX_PRUNING mDirtyRegions = true; @@ -2884,7 +2880,7 @@ void MBP::reset() #endif } -void MBP::shiftOrigin(const PxVec3& shift) +void MBP::shiftOrigin(const PxVec3& shift, const PxBounds3* boundsArray, const PxReal* contactDistances) { const PxU32 size = mNbRegions; RegionData* PX_RESTRICT regions = mRegions.begin(); @@ -2920,8 +2916,8 @@ void MBP::shiftOrigin(const PxVec3& shift) if(nbHandles) { MBP_AABB bounds; - const PxBounds3 rawBounds = mTransientBounds[obj.mUserID]; - PxVec3 c(mTransientContactDistance[obj.mUserID]); + const PxBounds3 rawBounds = boundsArray[obj.mUserID]; + PxVec3 c(contactDistances[obj.mUserID]); const PxBounds3 decodedBounds(rawBounds.minimum - c, rawBounds.maximum + c); bounds.initFrom2(decodedBounds); @@ -2937,11 +2933,6 @@ void MBP::shiftOrigin(const PxVec3& shift) } } -void MBP::setTransientBounds(const PxBounds3* bounds, const PxReal* contactDistance) -{ - mTransientBounds = bounds; - mTransientContactDistance = contactDistance; -} /////////////////////////////////////////////////////////////////////////////// // Below is the PhysX wrapper = link between AABBManager and MBP @@ -3050,9 +3041,9 @@ PxU32 BroadPhaseMBP::getRegions(PxBroadPhaseRegionInfo* userBuffer, PxU32 buffer return writeCount; } -PxU32 BroadPhaseMBP::addRegion(const PxBroadPhaseRegion& region, bool populateRegion) +PxU32 BroadPhaseMBP::addRegion(const PxBroadPhaseRegion& region, bool populateRegion, const PxBounds3* boundsArray, const PxReal* contactDistance) { - return mMBP->addRegion(region, populateRegion); + return mMBP->addRegion(region, populateRegion, boundsArray, contactDistance); } bool BroadPhaseMBP::removeRegion(PxU32 handle) @@ -3238,7 +3229,7 @@ void BroadPhaseMBP::addObjects(const BroadPhaseUpdateData& updateData) void BroadPhaseMBP::setUpdateData(const BroadPhaseUpdateData& updateData) { - mMBP->setTransientBounds(updateData.getAABBs(), updateData.getContactDistance()); +// mMBP->setTransientBounds(updateData.getAABBs(), updateData.getContactDistance()); const PxU32 newCapacity = updateData.getCapacity(); if(newCapacity>mCapacity) @@ -3411,9 +3402,9 @@ bool BroadPhaseMBP::isValid(const BroadPhaseUpdateData& updateData) const #endif -void BroadPhaseMBP::shiftOrigin(const PxVec3& shift) +void BroadPhaseMBP::shiftOrigin(const PxVec3& shift, const PxBounds3* boundsArray, const PxReal* contactDistances) { - mMBP->shiftOrigin(shift); + mMBP->shiftOrigin(shift, boundsArray, contactDistances); } PxU32 BroadPhaseMBP::getCurrentNbPairs() const diff --git a/physx/source/lowlevelaabb/src/BpBroadPhaseMBP.h b/physx/source/lowlevelaabb/src/BpBroadPhaseMBP.h index af2b5e9d3..cf15f6d30 100644 --- a/physx/source/lowlevelaabb/src/BpBroadPhaseMBP.h +++ b/physx/source/lowlevelaabb/src/BpBroadPhaseMBP.h @@ -56,7 +56,7 @@ namespace Bp virtual bool getCaps(PxBroadPhaseCaps& caps) const; virtual PxU32 getNbRegions() const; virtual PxU32 getRegions(PxBroadPhaseRegionInfo* userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const; - virtual PxU32 addRegion(const PxBroadPhaseRegion& region, bool populateRegion); + virtual PxU32 addRegion(const PxBroadPhaseRegion& region, bool populateRegion, const PxBounds3* boundsArray, const PxReal* contactDistance); virtual bool removeRegion(PxU32 handle); virtual PxU32 getNbOutOfBoundsObjects() const; virtual const PxU32* getOutOfBoundsObjects() const; @@ -72,7 +72,7 @@ namespace Bp virtual PxU32 getNbDeletedPairs() const; virtual BroadPhasePair* getDeletedPairs(); virtual void freeBuffers(); - virtual void shiftOrigin(const PxVec3& shift); + virtual void shiftOrigin(const PxVec3& shift, const PxBounds3* boundsArray, const PxReal* contactDistances); #if PX_CHECKED virtual bool isValid(const BroadPhaseUpdateData& updateData) const; #endif diff --git a/physx/source/lowlevelaabb/src/BpBroadPhaseSap.cpp b/physx/source/lowlevelaabb/src/BpBroadPhaseSap.cpp index 316e634ee..91be5241b 100644 --- a/physx/source/lowlevelaabb/src/BpBroadPhaseSap.cpp +++ b/physx/source/lowlevelaabb/src/BpBroadPhaseSap.cpp @@ -273,7 +273,7 @@ PX_FORCE_INLINE static void testPostShiftOrder(const ValType prevVal, ValType& c } } -void BroadPhaseSap::shiftOrigin(const PxVec3& shift) +void BroadPhaseSap::shiftOrigin(const PxVec3& shift, const PxBounds3* /*boundsArray*/, const PxReal* /*contactDistances*/) { // // Note: shifting the bounds does not necessarily preserve the order of the broadphase interval endpoints. The encoding of the float bounds is a lossy diff --git a/physx/source/lowlevelaabb/src/BpBroadPhaseSap.h b/physx/source/lowlevelaabb/src/BpBroadPhaseSap.h index 2a9cbc679..595fb75dc 100644 --- a/physx/source/lowlevelaabb/src/BpBroadPhaseSap.h +++ b/physx/source/lowlevelaabb/src/BpBroadPhaseSap.h @@ -124,7 +124,7 @@ class BroadPhaseSap : public BroadPhase, public Ps::UserAllocated virtual PxU32 getNbDeletedPairs() const { return mDeletedPairsSize; } virtual BroadPhasePair* getDeletedPairs() { return mDeletedPairsArray; } virtual void freeBuffers(); - virtual void shiftOrigin(const PxVec3& shift); + virtual void shiftOrigin(const PxVec3& shift, const PxBounds3* boundsArray, const PxReal* contactDistances); #if PX_CHECKED virtual bool isValid(const BroadPhaseUpdateData& updateData) const; #endif diff --git a/physx/source/lowleveldynamics/include/DyArticulation.h b/physx/source/lowleveldynamics/include/DyArticulation.h index fa7583770..fd398a971 100644 --- a/physx/source/lowleveldynamics/include/DyArticulation.h +++ b/physx/source/lowleveldynamics/include/DyArticulation.h @@ -112,6 +112,10 @@ class Articulation : public ArticulationV //this is called by island gen to determine whether the articulation should be awake or sleep virtual Cm::SpatialVector getMotionVelocity(const PxU32 linkID) const; + virtual Cm::SpatialVector getMotionAcceleration(const PxU32 linkID) const; + + virtual void fillIndexedManager(const PxU32 linkId, Dy::ArticulationLinkHandle& handle, PxU8& indexType); + virtual PxReal getLinkMaxPenBias(const PxU32 linkID) const; diff --git a/physx/source/lowleveldynamics/include/DyArticulationCore.h b/physx/source/lowleveldynamics/include/DyArticulationCore.h index a82c278af..192af9593 100644 --- a/physx/source/lowleveldynamics/include/DyArticulationCore.h +++ b/physx/source/lowleveldynamics/include/DyArticulationCore.h @@ -66,6 +66,8 @@ namespace physx ePOSE = 1 << 1, eTARGETPOSE = 1 << 2, eTARGETVELOCITY = 1 << 3, + eLIMIT = 1 << 4, + eDRIVE = 1 << 5, eALL = eMOTION | ePOSE | eTARGETPOSE | eTARGETVELOCITY }; }; diff --git a/physx/source/lowleveldynamics/include/DyArticulationJointCore.h b/physx/source/lowleveldynamics/include/DyArticulationJointCore.h index 2c584bac5..b04c26520 100644 --- a/physx/source/lowleveldynamics/include/DyArticulationJointCore.h +++ b/physx/source/lowleveldynamics/include/DyArticulationJointCore.h @@ -50,7 +50,7 @@ namespace physx //================================================================================================== public: - PX_CUDA_CALLABLE PX_FORCE_INLINE bool setJointPose() + PX_CUDA_CALLABLE bool setJointPose(PxQuat& relativeQuat) { if (dirtyFlag & ArticulationJointCoreDirtyFlag::ePOSE) { @@ -73,8 +73,6 @@ namespace physx dirtyFlag = other.dirtyFlag; - prismaticLimited = other.prismaticLimited; - //KS - temp place to put reduced coordinate limit and drive values for(PxU32 i=0; i mJointAcceleration; // joint acceleration Ps::Array mJointVelocity; // joint velocity Ps::Array mJointDeltaVelocity; // joint velocity change due to contacts @@ -298,15 +310,17 @@ namespace Dy Ps::Array mDeltaMotionVector; //this is for TGS solver Ps::Array mPreTransform; //this is the previous transform list for links - Ps::Array mResponseMatrix; - Ps::Array mSpatialArticulatedInertia; - Ps::Array mChildToParent; + Ps::Array mResponseMatrixW; + Ps::Array mWorldSpatialArticulatedInertia; Ps::Array mInvStIs; Ps::Array mMotionMatrix; - Ps::Array mIsInvD; + Ps::Array mWorldMotionMatrix; + Ps::Array mIsInvDW; + + Ps::Array mNbStaticConstraints; + Ps::Array mStaticConstraintStartIndex; - Ps::Array mNbStaticConstraints; - Ps::Array mStaticConstraintStartIndex; + Ps::Array mRelativeQuat; //Ps::Array mTempSpatialMatrix; @@ -315,6 +329,7 @@ namespace Dy PxU32 mLinkCount; ArticulationLinkData* mLinksData; ArticulationJointCoreData* mJointData; + ArticulationJointTargetData* mJointTranData; PxReal mDt; PxU32 mDofs; PxU32 mLocks; @@ -329,8 +344,9 @@ namespace Dy Ps::Array mDeltaQ; PxReal mAccumulatedDt; - //ArticulationTempData mTempData; - SpatialMatrix mBaseInvSpatialArticulatedInertia; + SpatialMatrix mBaseInvSpatialArticulatedInertiaW; + + friend class FeatherstoneArticulation; }; @@ -383,13 +399,60 @@ namespace Dy #pragma warning( disable : 4324 ) // Padding was added at the end of a structure because of a __declspec(align) value. #endif + //Articulation dirty flag - used to tag which properties of the articulation are dirty. Used only to transfer selected data to the GPU... + struct ArticulationDirtyFlag + { + enum Enum + { + eDIRTY_JOINTS = 1<<0, + eDIRTY_POSITIONS = 1<<1, + eDIRTY_VELOCITIES = 1<<2, + eDIRTY_ACCELERATIONS = 1<<3, + eDIRTY_FORCES = 1<<4, + eDIRTY_ROOT = 1<<5, + eDIRTY_LINKS = 1<<6, + eIN_DIRTY_LIST = 1<<7, + eDIRTY_DOFS = (eDIRTY_POSITIONS | eDIRTY_VELOCITIES | eDIRTY_ACCELERATIONS | eDIRTY_FORCES) + }; + }; + + PX_INLINE void computeArticJacobianAxes(PxVec3 row[3], const PxQuat& qa, const PxQuat& qb) + { + // Compute jacobian matrix for (qa* qb) [[* means conjugate in this expr]] + // d/dt (qa* qb) = 1/2 L(qa*) R(qb) (omega_b - omega_a) + // result is L(qa*) R(qb), where L(q) and R(q) are left/right q multiply matrix + + const PxReal wa = qa.w, wb = qb.w; + const PxVec3 va(qa.x, qa.y, qa.z), vb(qb.x, qb.y, qb.z); + + const PxVec3 c = vb*wa + va*wb; + const PxReal d0 = wa*wb; + const PxReal d1 = va.dot(vb); + const PxReal d = d0 - d1; + + row[0] = (va * vb.x + vb * va.x + PxVec3(d, c.z, -c.y)) * 0.5f; + row[1] = (va * vb.y + vb * va.y + PxVec3(-c.z, d, c.x)) * 0.5f; + row[2] = (va * vb.z + vb * va.z + PxVec3(c.y, -c.x, d)) * 0.5f; + + if ((d0 + d1) != 0.0f) // check if relative rotation is 180 degrees which can lead to singular matrix + return; + else + { + row[0].x += PX_EPS_F32; + row[1].y += PX_EPS_F32; + row[2].z += PX_EPS_F32; + } + } + + PX_ALIGN_PREFIX(64) class FeatherstoneArticulation : public ArticulationV { + PX_NOCOPY(FeatherstoneArticulation) public: // public interface - FeatherstoneArticulation(void*); + explicit FeatherstoneArticulation(void*); ~FeatherstoneArticulation(); // get data sizes for allocation at higher levels @@ -403,7 +466,7 @@ namespace Dy virtual PxU32 getDof(const PxU32 linkID); - virtual void applyCache(PxArticulationCache& cache, const PxArticulationCacheFlags flag); + virtual bool applyCache(PxArticulationCache& cache, const PxArticulationCacheFlags flag); virtual void copyInternalStateToCache(PxArticulationCache& cache, const PxArticulationCacheFlags flag); @@ -478,6 +541,10 @@ namespace Dy //this is called by island gen to determine whether the articulation should be awake or sleep virtual Cm::SpatialVector getMotionVelocity(const PxU32 linkID) const; + virtual Cm::SpatialVector getMotionAcceleration(const PxU32 linkID) const; + + virtual void fillIndexedManager(const PxU32 linkId, Dy::ArticulationLinkHandle& handle, PxU8& indexType); + virtual PxReal getLinkMaxPenBias(const PxU32 linkID) const; static PxU32 computeUnconstrainedVelocities( @@ -542,19 +609,23 @@ namespace Dy void getDeltaV(Cm::SpatialVectorF* Z, Cm::SpatialVectorF* deltaV); //This method calculate the velocity change due to collision/constraint impulse, record joint velocity and acceleration - static Cm::SpatialVectorF propagateVelocity(const Dy::SpatialTransform& c2p, const Dy::SpatialMatrix& spatialInertia, + static Cm::SpatialVectorF propagateVelocityW(const PxVec3& c2p, const Dy::SpatialMatrix& spatialInertia, const InvStIs& invStIs, const SpatialSubspaceMatrix& motionMatrix, const Cm::SpatialVectorF& Z, PxReal* jointVelocity, const Cm::SpatialVectorF& hDeltaV); //This method calculate the velocity change due to collision/constraint impulse - static Cm::SpatialVectorF propagateVelocityTestImpulse(const Dy::SpatialTransform& c2p, const Dy::SpatialMatrix& spatialInertia, const InvStIs& invStIs, + static Cm::SpatialVectorF propagateVelocityTestImpulseW(const PxVec3& c2p, const Dy::SpatialMatrix& spatialInertia, const InvStIs& invStIs, const SpatialSubspaceMatrix& motionMatrix, const Cm::SpatialVectorF& Z, const Cm::SpatialVectorF& hDeltaV); - //This method calculate zero acceration impulse due to test/actual impluse - static Cm::SpatialVectorF propagateImpulse(const IsInvD& isInvD, const SpatialTransform& childToParent, + + ////This method calculate zero acceration impulse due to test/actual impluse + //static Cm::SpatialVectorF propagateImpulse(const IsInvD& isInvD, const SpatialTransform& childToParent, + // const SpatialSubspaceMatrix& motionMatrix, const Cm::SpatialVectorF& Z); + + static Cm::SpatialVectorF propagateImpulseW(const IsInvD& isInvD, const PxVec3& childToParent, const SpatialSubspaceMatrix& motionMatrix, const Cm::SpatialVectorF& Z); - void applyCacheToDest(ArticulationData& data, PxArticulationCache& cache, + bool applyCacheToDest(ArticulationData& data, PxArticulationCache& cache, PxReal* jVelocities, PxReal* jAcceleration, PxReal* jPosition, PxReal* jointForce, const PxArticulationCacheFlags flag); @@ -564,6 +635,35 @@ namespace Dy //void setGpuRemapId(const PxU32 id) { mGpuRemapId = id; } //PxU32 getGpuRemapId() { return mGpuRemapId; } + static PX_CUDA_CALLABLE PX_FORCE_INLINE Cm::SpatialVectorF translateSpatialVector(const PxVec3& offset, const Cm::SpatialVectorF& vec) + { + return Cm::SpatialVectorF(vec.top, vec.bottom + offset.cross(vec.top)); + } + + static PX_CUDA_CALLABLE PX_FORCE_INLINE Cm::UnAlignedSpatialVector translateSpatialVector(const PxVec3& offset, const Cm::UnAlignedSpatialVector& vec) + { + return Cm::UnAlignedSpatialVector(vec.top, vec.bottom + offset.cross(vec.top)); + } + + static PX_FORCE_INLINE PxMat33 constructSkewSymmetricMatrix(const PxVec3 r) + { + return PxMat33(PxVec3(0.0f, r.z, -r.y), + PxVec3(-r.z, 0.0f, r.x), + PxVec3(r.y, -r.x, 0.0f)); + } + + bool raiseGPUDirtyFlag(ArticulationDirtyFlag::Enum flag) + { + bool nothingRaised = !(mGPUDirtyFlags); + mGPUDirtyFlags |= flag; + return nothingRaised; + } + + void clearGPUDirtyFlags() + { + mGPUDirtyFlags = 0; + } + protected: void constraintPrep(ArticulationLoopConstraint* lConstraints, const PxU32 nbJoints, Cm::SpatialVectorF* Z, PxSolverConstraintPrepDesc& prepDesc, PxSolverBody& sBody, @@ -574,20 +674,16 @@ namespace Dy Cm::SpatialVectorF* Z, Cm::SpatialVectorF* DeltaV); - PxU32 computeUnconstrainedVelocitiesInternal( - PxU32& acCount, + void computeUnconstrainedVelocitiesInternal( const PxVec3& gravity, Cm::SpatialVectorF* Z, Cm::SpatialVectorF* DeltaV); - void computeUnconstrainedVelocitiesTGSInternal(const PxVec3& gravity, - Cm::SpatialVectorF* Z, Cm::SpatialVectorF* DeltaV); - //copy joint data from fromJointData to toJointData void copyJointData(ArticulationData& data, PxReal* toJointData, const PxReal* fromJointData); void computeDofs(); //this function calculates motion subspace matrix(s) for all tree joint - void jcalc(ArticulationData& data); + void jcalc(ArticulationData& data, bool forceUpdate = false); //this function calculates loop joint constraint subspace matrix(s) and active force //subspace matrix @@ -627,17 +723,24 @@ namespace Dy ScratchData& scratchData, Cm::SpatialVectorF* tZ, Cm::SpatialVectorF* tDeltaV); void computeIs(ArticulationLinkData& linkDatum, ArticulationJointCoreData& jointDatum, const PxU32 linkID); - static SpatialMatrix computePropagateSpatialInertia(const PxU8 jointType, ArticulationLinkData& linkDatum, ArticulationJointCoreData& jointDatum, - const SpatialMatrix& spatialArticulated, InvStIs& invStIs, IsInvD& isInvD, const SpatialSubspaceMatrix& motionMatrix); + static SpatialMatrix computePropagateSpatialInertia(const PxU8 jointType, ArticulationJointCoreData& jointDatum, + const SpatialMatrix& articulatedInertia, const Cm::SpatialVectorF* linkIs, InvStIs& invStIs, IsInvD& isInvD, + const SpatialSubspaceMatrix& motionMatrix); + static void transformInertia(const SpatialTransform& sTod, SpatialMatrix& inertia); + static void translateInertia(const PxMat33& offset, SpatialMatrix& inertia); + void computeArticulatedSpatialInertia(ArticulationData& data); void computeArticulatedResponseMatrix(ArticulationData& data); void computeArticulatedSpatialZ(ArticulationData& data, ScratchData& scratchData); - void computeJointAcceleration(ArticulationLinkData& linkDatum, ArticulationJointCoreData& jointDatum, + /*void computeJointAcceleration(ArticulationLinkData& linkDatum, ArticulationJointCoreData& jointDatum, + const Cm::SpatialVectorF& pMotionAcceleration, PxReal* jointAcceleration, const PxU32 linkID);*/ + + void computeJointAccelerationW(ArticulationLinkData& linkDatum, ArticulationJointCoreData& jointDatum, const Cm::SpatialVectorF& pMotionAcceleration, PxReal* jointAcceleration, const PxU32 linkID); //compute joint acceleration, joint velocity and link acceleration, velocity based @@ -677,11 +780,9 @@ namespace Dy // const Cm::SpatialVector& impulse1); //This method use in impulse self response. The input impulse is in the link space - static Cm::SpatialVectorF getImpulseResponse( + static Cm::SpatialVectorF getImpulseResponseW( const PxU32 linkID, - const bool fixBase, const ArticulationData& data, - Cm::SpatialVectorF* Z, const Cm::SpatialVectorF& impulse); //This method use in impulse self response. The input impulse is in the link space @@ -757,6 +858,16 @@ namespace Dy const Cm::SpatialVectorV& impulse1, Cm::SpatialVectorV& deltaV1); + static void getImpulseResponseSlow(Dy::ArticulationLink* links, + const ArticulationData& data, + PxU32 linkID0_, + const Cm::SpatialVector& impulse0, + Cm::SpatialVector& deltaV0, + PxU32 linkID1_, + const Cm::SpatialVector& impulse1, + Cm::SpatialVector& deltaV1, + Cm::SpatialVectorF* Z); + void createHardLimit( ArticulationLink* links, const bool fixBase, @@ -805,6 +916,7 @@ namespace Dy const bool fixBase, ArticulationData& data, Cm::SpatialVectorF* Z, + PxReal stepDt, PxReal dt, PxReal invDt, PxReal erp, @@ -816,12 +928,14 @@ namespace Dy const bool fixBase, ArticulationData& data, Cm::SpatialVectorF* Z, + const PxReal stepDt, const PxReal dt, const PxReal invDt, const PxReal erp, const PxReal cfm, const bool isTGSSolver, - const PxU32 linkID); + const PxU32 linkID, + const PxReal maxForceScale); virtual void prepareStaticConstraints(const PxReal dt, const PxReal invDt, PxsContactManagerOutputIterator& outputs, Dy::ThreadContext& threadContext, PxReal correlationDist, PxReal bounceThreshold, PxReal frictionOffsetThreshold, PxReal solverOffsetSlop, @@ -859,15 +973,22 @@ namespace Dy void propagateLinksDown(ArticulationData& data, PxReal* jointVelocities, PxReal* jointPositions, Cm::SpatialVectorF* motionVelocities); - void propagateVelocitiesDown( - ArticulationData& data, PxReal* jointDeltaVelocities, - Cm::SpatialVectorF* motionVelocities, PxReal* jointVelocities); + void updateJointProperties( + const PxReal* jointDeltaVelocities, + const Cm::SpatialVectorF* motionVelocities, + PxReal* jointVelocities, + PxReal* jointAccelerations); + + void recomputeAccelerations(const PxReal dt); + Cm::SpatialVector recomputeAcceleration(const PxU32 linkID, const PxReal dt) const; void computeAndEnforceJointPositions(ArticulationData& data, PxReal* jointPositions); //update link position based on joint position provided by the cache void teleportLinks(ArticulationData& data); + void computeLinkVelocities(ArticulationData& data); + PxU8* allocateScratchSpatialData(PxcScratchAllocator* allocator, const PxU32 linkCount, ScratchData& scratchData, bool fallBackToHeap = false); @@ -877,7 +998,8 @@ namespace Dy //This method calculate the velocity change from parent to child using parent current motion velocity PxTransform propagateTransform(const PxU32 linkID, ArticulationLink* links, ArticulationJointCoreData& jointDatum, Cm::SpatialVectorF* motionVelocities, const PxReal dt, const PxTransform& pBody2World, const PxTransform& currentTransform, - PxReal* jointVelocity, PxReal* jointDeltaVelocities, PxReal* jointPosition); + PxReal* jointVelocity, PxReal* jointDeltaVelocities, PxReal* jointPosition, const SpatialSubspaceMatrix& motionMatrix, + const SpatialSubspaceMatrix& worldMotionMatrix); static void updateRootBody(const Cm::SpatialVectorF& motionVelocity, const PxTransform& preTransform, ArticulationData& data, const PxReal dt); @@ -892,6 +1014,10 @@ namespace Dy //put back this id to the id pool //PxU32 mGpuRemapId; + PxU32 mGPUDirtyFlags; + + + } PX_ALIGN_SUFFIX(64); #if PX_VC diff --git a/physx/source/lowleveldynamics/include/DyFeatherstoneArticulationJointData.h b/physx/source/lowleveldynamics/include/DyFeatherstoneArticulationJointData.h index 24a323f95..718dc506b 100644 --- a/physx/source/lowleveldynamics/include/DyFeatherstoneArticulationJointData.h +++ b/physx/source/lowleveldynamics/include/DyFeatherstoneArticulationJointData.h @@ -39,6 +39,7 @@ #include "CmSpatialVector.h" #include "DyVArticulation.h" #include "DyFeatherstoneArticulationUtils.h" +#include "DyArticulationJointCore.h" #include namespace physx @@ -47,17 +48,12 @@ namespace physx { - class ArticulationJointCoreData + class PX_ALIGN_PREFIX(16) ArticulationJointCoreData { public: ArticulationJointCoreData() : jointOffset(0xffffffff), dofInternalConstraintMask(0) { - for (PxU32 i = 0; i < 6; ++i) - { - targetJointPosition[i] = 0.f; - targetJointVelocity[i] = 0.f; - } } @@ -72,9 +68,8 @@ namespace physx { case PxArticulationJointType::ePRISMATIC: { - PxReal* jJointAxis = jointAxis[0]; - PxVec3 tJointAxis(jJointAxis[3], jJointAxis[4], jJointAxis[5]); - const PxVec3 u = (joint->childPose.rotate(tJointAxis)).getNormalized(); + const Cm::UnAlignedSpatialVector& jJointAxis = jointAxis[0]; + const PxVec3 u = (joint->childPose.rotate(jJointAxis.bottom)).getNormalized(); motionMatrix.setNumColumns(1); motionMatrix.setColumn(0, PxVec3(0.f), u); @@ -85,9 +80,8 @@ namespace physx } case PxArticulationJointType::eREVOLUTE: { - PxReal* jJointAxis = jointAxis[0]; - PxVec3 tJointAxis(jJointAxis[0], jJointAxis[1], jJointAxis[2]); - const PxVec3 u = (joint->childPose.rotate(tJointAxis)).getNormalized(); + const Cm::UnAlignedSpatialVector& jJointAxis = jointAxis[0]; + const PxVec3 u = (joint->childPose.rotate(jJointAxis.top)).getNormalized(); const PxVec3 uXd = u.cross(childOffset); motionMatrix.setNumColumns(1); @@ -101,9 +95,8 @@ namespace physx for (PxU32 ind = 0; ind childPose.rotate(tJointAxis)).getNormalized(); + const Cm::UnAlignedSpatialVector& jJointAxis = jointAxis[ind]; + const PxVec3 u = (joint->childPose.rotate(jJointAxis.top)).getNormalized(); const PxVec3 uXd = u.cross(childOffset); motionMatrix.setColumn(ind, u, uXd); @@ -146,10 +139,9 @@ namespace physx dof = 0; lockedAxes = 0; limitedAxes = 0; - - joint->prismaticLimited = false; - - memset(jointAxis, 0, sizeof(PxReal) * 6 * 6); + + //KS - no need to zero memory here. + //PxMemZero(jointAxis, sizeof(jointAxis)); for (PxU8 i = 0; i < DY_MAX_DOF; ++i) { @@ -160,12 +152,6 @@ namespace physx if (joint->motion[i] == PxArticulationMotion::eLIMITED) { - - if(i == PxArticulationAxis::eX - || i == PxArticulationAxis::eY - ||i == PxArticulationAxis::eZ) - joint->prismaticLimited = true; - limitedAxes++; } @@ -200,6 +186,37 @@ namespace physx } + //in the joint space + Cm::UnAlignedSpatialVector jointAxis[3]; //72 + //this is the dof offset for the joint in the cache + PxU32 jointOffset; //76 + //degree of freedom + PxU8 dof; //77 + PxU8 limitedAxes; //78 + PxU8 dofInternalConstraintMask; //79 + PxU8 lockedAxes; //80 + + } PX_ALIGN_SUFFIX(16); + + struct PX_ALIGN_PREFIX(16) ArticulationJointTargetData + { + PxReal targetJointVelocity[3]; //12 + PxReal targetJointPosition[3]; //24 + Cm::UnAlignedSpatialVector worldJointAxis[3]; //96 + //PxU32 pad[2]; + + + + + ArticulationJointTargetData() + { + for (PxU32 i = 0; i < 3; ++i) + { + targetJointPosition[i] = 0.f; + targetJointVelocity[i] = 0.f; + } + } + PX_CUDA_CALLABLE PX_FORCE_INLINE void setJointVelocityDrive(ArticulationJointCoreBase* joint) { @@ -236,22 +253,7 @@ namespace physx } } - //in the joint space - PxReal jointAxis[6][6]; //144 144 - - PxReal targetJointVelocity[6]; //24 168 - PxReal targetJointPosition[6]; //24 192 - PxReal maxDriveForce[6]; //24 216 - - //this is the dof offset for the joint in the cache - PxU32 jointOffset; //4 220 - //degree of freedom - PxU8 dof; //1 221 - PxU8 limitedAxes; //1 222 - PxU8 dofInternalConstraintMask; //1 223 - PxU8 lockedAxes; //1 224 - - }; + } PX_ALIGN_SUFFIX(16); }//namespace Dy } diff --git a/physx/source/lowleveldynamics/include/DyFeatherstoneArticulationUtils.h b/physx/source/lowleveldynamics/include/DyFeatherstoneArticulationUtils.h index a884a76d7..a2be3b091 100644 --- a/physx/source/lowleveldynamics/include/DyFeatherstoneArticulationUtils.h +++ b/physx/source/lowleveldynamics/include/DyFeatherstoneArticulationUtils.h @@ -44,12 +44,13 @@ namespace Dy struct SpatialSubspaceMatrix { + static const PxU32 MaxColumns = 3; public: PX_CUDA_CALLABLE PX_FORCE_INLINE SpatialSubspaceMatrix() :numColumns(0) { //PxMemZero(columns, sizeof(Cm::SpatialVectorF) * 6); - memset(columns, 0, sizeof(Cm::SpatialVectorF) * 6); + memset(columns, 0, sizeof(Cm::UnAlignedSpatialVector) * MaxColumns); } PX_CUDA_CALLABLE PX_FORCE_INLINE void setNumColumns(const PxU32 nc) @@ -67,7 +68,7 @@ namespace Dy PxReal result[6]; for (PxU32 i = 0; i < numColumns; ++i) { - const Cm::SpatialVectorF& row = columns[i]; + const Cm::UnAlignedSpatialVector& row = columns[i]; result[i] = row.dot(v); } @@ -81,27 +82,30 @@ namespace Dy PX_CUDA_CALLABLE PX_FORCE_INLINE void setColumn(const PxU32 index, const PxVec3& top, const PxVec3& bottom) { + PX_ASSERT(index < MaxColumns); columns[index] = Cm::SpatialVectorF(top, bottom); } - PX_CUDA_CALLABLE PX_FORCE_INLINE Cm::SpatialVectorF& operator[](unsigned int num) + PX_CUDA_CALLABLE PX_FORCE_INLINE Cm::UnAlignedSpatialVector& operator[](unsigned int num) { + PX_ASSERT(num < MaxColumns); return columns[num]; } - PX_CUDA_CALLABLE PX_FORCE_INLINE const Cm::SpatialVectorF& operator[](unsigned int num) const + PX_CUDA_CALLABLE PX_FORCE_INLINE const Cm::UnAlignedSpatialVector& operator[](unsigned int num) const { + PX_ASSERT(num < MaxColumns); return columns[num]; } - PX_CUDA_CALLABLE PX_FORCE_INLINE const Cm::SpatialVectorF* getColumns() const + PX_CUDA_CALLABLE PX_FORCE_INLINE const Cm::UnAlignedSpatialVector* getColumns() const { return columns; } private: - Cm::SpatialVectorF columns[6]; //192 192 + Cm::UnAlignedSpatialVector columns[MaxColumns]; //192 192 PxU32 numColumns; //4 208 (12 bytes padding) }; @@ -219,12 +223,12 @@ namespace Dy struct InvStIs { - PxReal invStIs[6][6]; + PxReal invStIs[3][3]; }; struct IsInvD { - Cm::SpatialVectorF isInvD[6]; + Cm::SpatialVectorF isInvD[3]; }; //this should be 6x6 matrix and initialize to diff --git a/physx/source/lowleveldynamics/include/DyVArticulation.h b/physx/source/lowleveldynamics/include/DyVArticulation.h index 0ef4a7a0b..cd3512049 100644 --- a/physx/source/lowleveldynamics/include/DyVArticulation.h +++ b/physx/source/lowleveldynamics/include/DyVArticulation.h @@ -128,9 +128,6 @@ namespace physx dirtyFlag = ArticulationJointCoreDirtyFlag::eMOTION; - //initial parent to child - relativeQuat = PxQuat(PxIdentity); - jointOffset = 0; } @@ -186,19 +183,15 @@ namespace physx tanQTwistLow = PxTan(twistLimitLow / 4.0f); tanQTwistPad = PxTan(twistLimitContactDistance / 4.0f); - prismaticLimited = false; - frictionCoefficient = 0.f; dirtyFlag = ArticulationJointCoreDirtyFlag::eMOTION; - //initial parent to child - relativeQuat = (childFrame.q * (parentFrame.q.getConjugate())).getNormalized(); - jointOffset = 0; } - void setJointPose(ArticulationJointCoreData& jointDatum, SpatialSubspaceMatrix& motionMatrix); + void setJointPose(ArticulationJointCoreData& jointDatum, SpatialSubspaceMatrix& motionMatrix, bool forceUpdate, + PxQuat& relativeRot); // PX_SERIALIZATION ArticulationJointCore(const PxEMPTY&) : ArticulationJointCoreBase(PxEmpty) {} @@ -368,7 +361,7 @@ namespace physx virtual PxU32 getDof(const PxU32 /*linkID*/) { return 0; } - virtual void applyCache(PxArticulationCache& /*cache*/, const PxArticulationCacheFlags /*flag*/) {} + virtual bool applyCache(PxArticulationCache& /*cache*/, const PxArticulationCacheFlags /*flag*/) {return false;} virtual void copyInternalStateToCache(PxArticulationCache&/* cache*/, const PxArticulationCacheFlags /*flag*/) {} @@ -469,6 +462,8 @@ namespace physx //this is called by island gen to determine whether the articulation should be awake or sleep virtual Cm::SpatialVector getMotionVelocity(const PxU32 linkID) const = 0; + virtual Cm::SpatialVector getMotionAcceleration(const PxU32 linkID) const = 0; + void setupLinks(PxU32 nbLinks, Dy::ArticulationLink* links) { //if this is needed, we need to re-allocated the link data @@ -480,6 +475,7 @@ namespace physx //if this is needed, we need to re-allocated the joint data onUpdateSolverDesc(); } + virtual void fillIndexedManager(const PxU32 linkId, Dy::ArticulationLinkHandle& handle, PxU8& indexType) = 0; //These variables are used in the constraint partition PxU16 maxSolverFrictionProgress; diff --git a/physx/source/lowleveldynamics/src/DyArticulation.cpp b/physx/source/lowleveldynamics/src/DyArticulation.cpp index 1a17f19c9..7278281a4 100644 --- a/physx/source/lowleveldynamics/src/DyArticulation.cpp +++ b/physx/source/lowleveldynamics/src/DyArticulation.cpp @@ -356,6 +356,17 @@ Cm::SpatialVector Articulation::getMotionVelocity(const PxU32 linkID) const return Cm::SpatialVector(linear, angular); } +Cm::SpatialVector Articulation::getMotionAcceleration(const PxU32 /*linkID*/) const +{ + return Cm::SpatialVector(PxVec3(0.f), PxVec3(0.f)); +} + +void Articulation::fillIndexedManager(const PxU32 linkId, Dy::ArticulationLinkHandle& handle, PxU8& indexType) +{ + indexType = PxsIndexedInteraction::eARTICULATION; + handle = size_t(this) | linkId; +} + PxReal Articulation::getLinkMaxPenBias(const PxU32 linkID) const { FsData& matrix = *getFsDataPtr(); diff --git a/physx/source/lowleveldynamics/src/DyArticulationFnsSimd.h b/physx/source/lowleveldynamics/src/DyArticulationFnsSimd.h index 8e2f4dcdc..6db7745cc 100644 --- a/physx/source/lowleveldynamics/src/DyArticulationFnsSimd.h +++ b/physx/source/lowleveldynamics/src/DyArticulationFnsSimd.h @@ -414,7 +414,11 @@ class ArticulationFnsSimd : public Base - static PX_FORCE_INLINE Mat33V computeDriveInertia(const FsInertia &I0, + static +#if !(PX_ANDROID && PX_DEBUG) // Not inlining for Android Debug to avoid "conditional branch out of range" compilation error on arm64-v8a ABI + PX_FORCE_INLINE +#endif + Mat33V computeDriveInertia(const FsInertia &I0, const FsInertia &I1, const Cm::SpatialVectorV S[3]) { diff --git a/physx/source/lowleveldynamics/src/DyConstraintSetup.cpp b/physx/source/lowleveldynamics/src/DyConstraintSetup.cpp index 3f034e527..9089e8d5f 100644 --- a/physx/source/lowleveldynamics/src/DyConstraintSetup.cpp +++ b/physx/source/lowleveldynamics/src/DyConstraintSetup.cpp @@ -491,16 +491,10 @@ Cm::SpatialVectorF* Z) unitResponse = getImpulseResponse(eb0, resp0, unsimdRef(e.deltaVA), prepDesc.invMassScales.linear0, prepDesc.invMassScales.angular0, eb1, resp1, unsimdRef(e.deltaVB), prepDesc.invMassScales.linear1, prepDesc.invMassScales.angular1, Z, false); - if(!(c.flags & Px1DConstraintFlag::eANGULAR_CONSTRAINT)) - { - PxReal totalMag = (unsimdRef(e.deltaVA) - unsimdRef(e.deltaVB)).magnitude(); - - PxReal ratio = unitResponse / totalMag; - if (ratio < 0.05f) - unitResponse = 0.f; - } - - + //Add CFM term! + /*if(unitResponse > DY_ARTICULATION_MIN_RESPONSE) + unitResponse += DY_ARTICULATION_CFM;*/ + s.ang0Writeback = c.angular0; s.lin0 = resp0.linear; s.ang0 = resp0.angular; diff --git a/physx/source/lowleveldynamics/src/DyContactPrep.cpp b/physx/source/lowleveldynamics/src/DyContactPrep.cpp index 385ed57b8..048129f99 100644 --- a/physx/source/lowleveldynamics/src/DyContactPrep.cpp +++ b/physx/source/lowleveldynamics/src/DyContactPrep.cpp @@ -719,7 +719,7 @@ FloatV setupExtSolverContact(const SolverExtBody& b0, const SolverExtBody& b1, const FloatV vrel = V3SumElems(V3Sub(vel0, vel1)); - FloatV velMultiplier = FSel(FIsGrtr(FLoad(DY_ARTICULATION_MIN_RESPONSE), unitResponse), zero, FRecip(unitResponse)); + FloatV velMultiplier = FSel(FIsGrtr(FLoad(DY_ARTICULATION_MIN_RESPONSE), unitResponse), zero, FRecip(FAdd(unitResponse, FLoad(DY_ARTICULATION_CFM)))); //FloatV velMultiplier = FSel(FIsGrtr(FEps(), unitResponse), zero, FRecip(unitResponse)); FloatV scaledBias = FMul(velMultiplier, FMax(maxPenBias, FMul(penetration, invDtp8))); const FloatV penetrationInvDt = FMul(penetration, invDt); diff --git a/physx/source/lowleveldynamics/src/DyDynamics.cpp b/physx/source/lowleveldynamics/src/DyDynamics.cpp index 4f4f425db..4716d7120 100644 --- a/physx/source/lowleveldynamics/src/DyDynamics.cpp +++ b/physx/source/lowleveldynamics/src/DyDynamics.cpp @@ -310,15 +310,30 @@ void DynamicsContext::setDescFromIndices(PxSolverConstraintDesc& desc, IG::EdgeI if (node.getNodeType() == IG::Node::eARTICULATION_TYPE) { Dy::ArticulationV* a = islandSim.getLLArticulation(node1); - desc.articulationA = a; - desc.linkIndexA = Ps::to16(node1.articulationLinkId()); + + Dy::ArticulationLinkHandle handle; + PxU8 type; + + a->fillIndexedManager(node1.articulationLinkId(), handle, type); + + if (type == PxsIndexedInteraction::eARTICULATION) + { + desc.articulationA = a; + desc.linkIndexA = Ps::to16(node1.articulationLinkId()); + } + else + { + desc.bodyA = &mWorldSolverBody; + desc.bodyADataIndex = 0; + desc.linkIndexA = PxSolverConstraintDesc::NO_LINK; + } } else { PxU32 activeIndex = islandSim.getActiveNodeIndex(node1); PxU32 index = node.isKinematic() ? activeIndex : bodyRemap[activeIndex] + solverBodyOffset; desc.bodyA = &mSolverBodyPool[index]; - desc.bodyADataIndex = Ps::to16(index + 1); + desc.bodyADataIndex = index + 1; desc.linkIndexA = PxSolverConstraintDesc::NO_LINK; } } @@ -336,15 +351,29 @@ void DynamicsContext::setDescFromIndices(PxSolverConstraintDesc& desc, IG::EdgeI if (node.getNodeType() == IG::Node::eARTICULATION_TYPE) { Dy::ArticulationV* b = islandSim.getLLArticulation(node2); - desc.articulationB = b; - desc.linkIndexB = Ps::to16(node2.articulationLinkId()); + Dy::ArticulationLinkHandle handle; + PxU8 type; + + b->fillIndexedManager(node2.articulationLinkId(), handle, type); + + if (type == PxsIndexedInteraction::eARTICULATION) + { + desc.articulationB = b; + desc.linkIndexB = Ps::to16(node2.articulationLinkId()); + } + else + { + desc.bodyB = &mWorldSolverBody; + desc.bodyBDataIndex = 0; + desc.linkIndexB = PxSolverConstraintDesc::NO_LINK; + } } else { PxU32 activeIndex = islandSim.getActiveNodeIndex(node2); PxU32 index = node.isKinematic() ? activeIndex : bodyRemap[activeIndex] + solverBodyOffset; desc.bodyB = &mSolverBodyPool[index]; - desc.bodyBDataIndex = Ps::to16(index + 1); + desc.bodyBDataIndex = index + 1; desc.linkIndexB = PxSolverConstraintDesc::NO_LINK; } } @@ -971,8 +1000,8 @@ class PxsSolverStartTask : public Cm::Task //Is it an articulation or not??? if(node1.getNodeType() == IG::Node::eARTICULATION_TYPE) { - indexedManager.indexType0 = PxsIndexedInteraction::eARTICULATION; - indexedManager.solverBody0 = size_t(node1.getArticulation()) | nodeIndex1.articulationLinkId(); + const PxU32 linkId = nodeIndex1.articulationLinkId(); + node1.getArticulation()->fillIndexedManager(linkId, indexedManager.articulation0, indexedManager.indexType0); } else { @@ -1002,8 +1031,8 @@ class PxsSolverStartTask : public Cm::Task //Is it an articulation or not??? if(node2.getNodeType() == IG::Node::eARTICULATION_TYPE) { - indexedManager.indexType1 = PxsIndexedInteraction::eARTICULATION; - indexedManager.solverBody1 = size_t(node2.getArticulation()) | nodeIndex2.articulationLinkId(); + const PxU32 linkId = nodeIndex2.articulationLinkId(); + node2.getArticulation()->fillIndexedManager(linkId, indexedManager.articulation1, indexedManager.indexType1); } else { @@ -2719,8 +2748,24 @@ static PxU32 createFinalizeContacts_Parallel(PxSolverBodyData* solverBodyData, T blockDesc.hasForceThresholds = !!(unit.flags & PxcNpWorkUnitFlag::eFORCE_THRESHOLD); blockDesc.disableStrongFriction = !!(unit.flags & PxcNpWorkUnitFlag::eDISABLE_STRONG_FRICTION); blockDesc.bodyState0 = (unit.flags & PxcNpWorkUnitFlag::eARTICULATION_BODY0) ? PxSolverContactDesc::eARTICULATION : PxSolverContactDesc::eDYNAMIC_BODY; - blockDesc.bodyState1 = (unit.flags & PxcNpWorkUnitFlag::eARTICULATION_BODY1) ? PxSolverContactDesc::eARTICULATION : (unit.flags & PxcNpWorkUnitFlag::eHAS_KINEMATIC_ACTOR) ? PxSolverContactDesc::eKINEMATIC_BODY : - ((unit.flags & PxcNpWorkUnitFlag::eDYNAMIC_BODY1) ? PxSolverContactDesc::eDYNAMIC_BODY : PxSolverContactDesc::eSTATIC_BODY); + //second body is articulation + if (unit.flags & PxcNpWorkUnitFlag::eARTICULATION_BODY1) + { + //kinematic link + if (desc.linkIndexB == 0xffff) + { + blockDesc.bodyState1 = PxSolverContactDesc::eSTATIC_BODY; + } + else + { + blockDesc.bodyState1 = PxSolverContactDesc::eARTICULATION; + } + } + else + { + blockDesc.bodyState1 = (unit.flags & PxcNpWorkUnitFlag::eHAS_KINEMATIC_ACTOR) ? PxSolverContactDesc::eKINEMATIC_BODY : + ((unit.flags & PxcNpWorkUnitFlag::eDYNAMIC_BODY1) ? PxSolverContactDesc::eDYNAMIC_BODY : PxSolverContactDesc::eSTATIC_BODY); + } //blockDesc.flags = unit.flags; PxReal dominance0 = unit.dominance0 ? 1.f : 0.f; @@ -2963,7 +3008,7 @@ void PxsSolverCreateFinalizeConstraintsTask::runInternal() PX_PROFILE_ZONE("CreateConstraints", 0); ThreadContext& mThreadContext = *mIslandContext.mThreadContext; PxU32 descCount = mThreadContext.mNumDifferentBodyConstraints; - PxU32 selfConstraintDescCount = mThreadContext.contactDescArraySize - mThreadContext.mNumDifferentBodyConstraints; + PxU32 selfConstraintDescCount = mThreadContext.contactDescArraySize - (mThreadContext.mNumDifferentBodyConstraints + mThreadContext.mNumStaticConstraints); Ps::Array& accumulatedConstraintsPerPartition = mThreadContext.mConstraintsPerPartition; diff --git a/physx/source/lowleveldynamics/src/DyFeatherstoneArticulation.cpp b/physx/source/lowleveldynamics/src/DyFeatherstoneArticulation.cpp index 992966e03..71fd19990 100644 --- a/physx/source/lowleveldynamics/src/DyFeatherstoneArticulation.cpp +++ b/physx/source/lowleveldynamics/src/DyFeatherstoneArticulation.cpp @@ -97,6 +97,9 @@ namespace Dy if (mJointData) PX_FREE_AND_RESET(mJointData); + + if(mJointTranData) + PX_FREE_AND_RESET(mJointTranData); } void ArticulationData::resizeLinkData(const PxU32 linkCount) @@ -125,23 +128,22 @@ namespace Dy mPreTransform.reserve(linkCount); mPreTransform.forceSize_Unsafe(linkCount); - mResponseMatrix.reserve(linkCount); - mResponseMatrix.forceSize_Unsafe(linkCount); - - mSpatialArticulatedInertia.reserve(linkCount); - mSpatialArticulatedInertia.forceSize_Unsafe(linkCount); + mResponseMatrixW.reserve(linkCount); + mResponseMatrixW.forceSize_Unsafe(linkCount); - mChildToParent.reserve(linkCount); - mChildToParent.forceSize_Unsafe(linkCount); + mWorldSpatialArticulatedInertia.reserve(linkCount); + mWorldSpatialArticulatedInertia.forceSize_Unsafe(linkCount); mInvStIs.reserve(linkCount); mInvStIs.forceSize_Unsafe(linkCount); - mMotionMatrix.reserve(linkCount); - mMotionMatrix.forceSize_Unsafe(linkCount); + mMotionMatrix.resize(linkCount); - mIsInvD.reserve(linkCount); - mIsInvD.forceSize_Unsafe(linkCount); + mWorldMotionMatrix.reserve(linkCount); + mWorldMotionMatrix.forceSize_Unsafe(linkCount); + + mIsInvDW.reserve(linkCount); + mIsInvDW.forceSize_Unsafe(linkCount); mAccumulatedPoses.reserve(linkCount); mAccumulatedPoses.forceSize_Unsafe(linkCount); @@ -155,14 +157,21 @@ namespace Dy mJointTransmittedForce.reserve(linkCount); mJointTransmittedForce.forceSize_Unsafe(linkCount); + mRelativeQuat.resize(linkCount); + + if (mLinksData) PX_FREE_AND_RESET(mLinksData); if (mJointData) PX_FREE_AND_RESET(mJointData); + + if(mJointTranData) + PX_FREE_AND_RESET(mJointTranData); mLinksData = PX_PLACEMENT_NEW(PX_ALLOC(sizeof(ArticulationLinkData) * linkCount, PX_DEBUG_EXP("ArticulationLinkData")), ArticulationLinkData)(); mJointData = PX_PLACEMENT_NEW(PX_ALLOC(sizeof(ArticulationJointCoreData) * linkCount, PX_DEBUG_EXP("ArticulationJointCoreData")), ArticulationJointCoreData)(); + mJointTranData = PX_PLACEMENT_NEW(PX_ALLOC(sizeof(ArticulationJointTargetData)*linkCount, PX_DEBUG_EXP("ArticulationJointTargetData")), ArticulationJointTargetData)(); const PxU32 size = sizeof(Cm::SpatialVectorF) * linkCount; @@ -176,6 +185,7 @@ namespace Dy PxMemZero(mLinksData, sizeof(ArticulationLinkData) * linkCount); PxMemZero(mJointData, sizeof(ArticulationJointCoreData) * linkCount); + PxMemZero(mJointTranData, sizeof(ArticulationJointTargetData)*linkCount); } void ArticulationData::resizeJointData(const PxU32 dofs) @@ -225,9 +235,10 @@ namespace Dy // return mJointData[index]; //} - void ArticulationJointCore::setJointPose(ArticulationJointCoreData& jointDatum, SpatialSubspaceMatrix& motionMatrix) + void ArticulationJointCore::setJointPose(ArticulationJointCoreData& jointDatum, SpatialSubspaceMatrix& motionMatrix, bool forceUpdate, + PxQuat& relativeQuat) { - if (dirtyFlag & ArticulationJointCoreDirtyFlag::ePOSE) + if (dirtyFlag & ArticulationJointCoreDirtyFlag::ePOSE || forceUpdate) { relativeQuat = (childPose.q * (parentPose.q.getConjugate())).getNormalized(); @@ -243,6 +254,7 @@ namespace Dy : ArticulationV(userData, Articulation::eReducedCoordinate), mHasSphericalJoint(false) { PX_ASSERT((reinterpret_cast(this) & (DY_ARTICULATION_MAX_SIZE - 1)) == 0); + mGPUDirtyFlags = 0; } FeatherstoneArticulation::~FeatherstoneArticulation() @@ -251,21 +263,9 @@ namespace Dy void FeatherstoneArticulation::copyJointData(ArticulationData& data, PxReal* toJointData, const PxReal* fromJointData) { - const PxU32 linkCount = data.getLinkCount(); - - for (PxU32 linkID = 1; linkID < linkCount; ++linkID) - { - ArticulationJointCoreData& jointDatum = data.getJointData(linkID); - - PxReal* dest = &toJointData[jointDatum.jointOffset]; + const PxU32 dofCount = data.getDofs(); - const PxReal* source = &fromJointData[jointDatum.jointOffset]; - - for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) - { - dest[ind] = source[ind]; - } - } + PxMemCopy(toJointData, fromJointData, sizeof(PxReal)*dofCount); } void FeatherstoneArticulation::computeDofs() @@ -357,9 +357,9 @@ namespace Dy return jointDatum.dof; } - void FeatherstoneArticulation::applyCache(PxArticulationCache& cache, const PxArticulationCacheFlags flag) + bool FeatherstoneArticulation::applyCache(PxArticulationCache& cache, const PxArticulationCacheFlags flag) { - applyCacheToDest(mArticulationData, cache, mArticulationData.getJointVelocities(), mArticulationData.getJointAccelerations(), + return applyCacheToDest(mArticulationData, cache, mArticulationData.getJointVelocities(), mArticulationData.getJointAccelerations(), mArticulationData.getJointPositions(), mArticulationData.getJointForces(), flag); } @@ -386,24 +386,55 @@ namespace Dy copyJointData(mArticulationData, cache.jointForce, mArticulationData.getJointForces()); } + if (flag & PxArticulationCache::eLINKVELOCITY) + { + const Cm::SpatialVectorF* vels = mArticulationData.getMotionVelocities(); + const PxU32 numLinks = mArticulationData.getLinkCount(); + for (PxU32 i = 0; i < numLinks; ++i) + { + const Cm::SpatialVectorF& vel = vels[i]; + cache.linkVelocity[i].linear = vel.bottom; + cache.linkVelocity[i].angular = vel.top; + } + } + + if (flag & PxArticulationCache::eLINKACCELERATION) + { + const PxU32 numLinks = mArticulationData.getLinkCount(); + + if (mArticulationData.getDt() > 0.f) + recomputeAccelerations(mArticulationData.getDt()); + + const Cm::SpatialVectorF* accels = mArticulationData.getMotionAccelerations(); + + for (PxU32 i = 0; i < numLinks; ++i) + { + const Cm::SpatialVectorF& accel = accels[i]; + cache.linkAcceleration[i].linear = accel.bottom; + cache.linkAcceleration[i].angular = accel.top; + } + } + if (flag & PxArticulationCache::eROOT) { const ArticulationLink& rLink = mArticulationData.getLink(0); const Cm::SpatialVectorF& vel = mArticulationData.getMotionVelocity(0); - const Cm::SpatialVectorF& acel = mArticulationData.getMotionAcceleration(0); const PxsBodyCore& rBodyCore = *rLink.bodyCore; const PxTransform& body2World = rBodyCore.body2World; cache.rootLinkData->transform = body2World * rBodyCore.getBody2Actor().getInverse(); cache.rootLinkData->worldLinVel = vel.bottom; cache.rootLinkData->worldAngVel = vel.top; - cache.rootLinkData->worldLinAccel = body2World.rotate(acel.bottom); - cache.rootLinkData->worldAngAccel = body2World.rotate(acel.top); + + const Cm::SpatialVectorF* accels = mArticulationData.getMotionAccelerations(); + cache.rootLinkData->worldLinAccel = accels[0].bottom; + cache.rootLinkData->worldAngAccel = accels[0].top; } } static PX_FORCE_INLINE Mat33V loadPxMat33(const PxMat33& m) { - return Mat33V(V3LoadU(m.column0), V3LoadU(m.column1), V3LoadU(m.column2)); + return Mat33V(Vec3V_From_Vec4V(V4LoadU(&m.column0.x)), + Vec3V_From_Vec4V(V4LoadU(&m.column1.x)), V3LoadU(&m.column2.x)); } static PX_FORCE_INLINE void storePxMat33(const Mat33V& src, PxMat33& dst) @@ -459,6 +490,36 @@ namespace Dy #endif } + void FeatherstoneArticulation::translateInertia(const PxMat33& sTod, SpatialMatrix& inertia) + { +#if 1 + Mat33V sTodV = loadPxMat33(sTod); + Mat33V dTos = M33Trnsps(sTodV); + + const Mat33V tL = loadPxMat33(inertia.topLeft); + const Mat33V tR = loadPxMat33(inertia.topRight); + const Mat33V bL = loadPxMat33(inertia.bottomLeft); + + const Mat33V bl = M33Add(M33MulM33(sTodV, tL), bL); + const Mat33V br = M33Add(M33MulM33(sTodV, tR), M33Trnsps(tL)); + const Mat33V bottomLeft = M33Add(bl, M33MulM33(br, dTos)); + + storePxMat33(M33Add(tL, M33MulM33(tR, dTos)), inertia.topLeft); + storePxMat33(M33Scale(M33Add(bottomLeft, M33Trnsps(bottomLeft)), FHalf()), inertia.bottomLeft); +#else + const PxMat33 dTos = sTod.getTranspose(); + + PxMat33 bl = sTod * inertia.topLeft + inertia.bottomLeft; + PxMat33 br = sTod * inertia.topRight + inertia.getBottomRight(); + + inertia.topLeft = inertia.topLeft + inertia.topRight * dTos; + inertia.bottomLeft = bl + br * dTos; + + //aligned inertia - make it symmetrical! OPTIONAL!!!! + inertia.bottomLeft = (inertia.bottomLeft + inertia.bottomLeft.getTranspose()) * 0.5f; +#endif + } + void FeatherstoneArticulation::getImpulseResponse( PxU32 linkID, Cm::SpatialVectorF* Z, @@ -488,23 +549,22 @@ namespace Dy const Cm::SpatialVectorF deltaV = getDeltaV(fixBase, linkID, mArticulationData, Z); PX_ASSERT(deltaV.pad0 == 0.f && deltaV.pad1 == 0.f); - //Cm::SpatialVectorF resp = mArticulationData.getImpulseResponseMatrix()[linkID].getResponse(Cm::SpatialVectorF(impulse.linear, impulse.angular)); - Cm::SpatialVectorF resp = mArticulationData.getImpulseResponseMatrix()[linkID].getResponse(impl); + ////Cm::SpatialVectorF resp = mArticulationData.getImpulseResponseMatrix()[linkID].getResponse(Cm::SpatialVectorF(impulse.linear, impulse.angular)); + //Cm::SpatialVectorF resp = mArticulationData.getImpulseResponseMatrix()[linkID].getResponse(impl); + + //Cm::SpatialVectorF test = resp - deltaV; + + //PX_ASSERT(test.magnitude() < 1e-5f); //this is in world space deltaVV.linear = body2World.rotate(deltaV.bottom); deltaVV.angular = body2World.rotate(deltaV.top); #else - const PxTransform& body2World = mArticulationData.getPreTransform(linkID); - - //transform p(impluse) from world space to the local space of linkId - Cm::SpatialVectorF impl = Cm::SpatialVectorF(body2World.rotateInv(impulse.linear), body2World.rotateInv(impulse.angular)); + Cm::SpatialVectorF deltaV = mArticulationData.getImpulseResponseMatrixWorld()[linkID].getResponse(reinterpret_cast(impulse)); - //Cm::SpatialVectorF impl(impulse.linear, impulse.angular); - Cm::SpatialVectorF deltaV = mArticulationData.getImpulseResponseMatrix()[linkID].getResponse(impl); - deltaVV.linear = body2World.rotate(deltaV.bottom); - deltaVV.angular = body2World.rotate(deltaV.top); + deltaVV.linear = deltaV.bottom; + deltaVV.angular = deltaV.top; #endif @@ -516,6 +576,7 @@ namespace Dy const Cm::SpatialVectorV& impulse, Cm::SpatialVectorV& deltaVV) const { +#if 0 const PxTransform& body2World = mArticulationData.getPreTransform(linkID); QuatV rot = QuatVLoadU(&body2World.q.x); @@ -528,6 +589,11 @@ namespace Dy Cm::SpatialVectorV deltaV = mArticulationData.getImpulseResponseMatrix()[linkID].getResponse(impl); deltaVV.linear = QuatRotate(rot, deltaV.angular); deltaVV.angular = QuatRotate(rot, deltaV.linear); +#else + Cm::SpatialVectorV deltaV = mArticulationData.getImpulseResponseMatrixWorld()[linkID].getResponse(impulse); + deltaVV.linear = deltaV.angular; + deltaVV.angular = deltaV.linear; +#endif } //This will return world space SpatialVectorV @@ -546,12 +612,6 @@ namespace Dy Cm::SpatialVectorV FeatherstoneArticulation::getLinkMotionVector(const PxU32 linkID) const { const Cm::SpatialVectorF& motionVector = mArticulationData.getDeltaMotionVector(linkID); - - //ArticulationLink& link = mArticulationData.getLink(linkID); - //PxTransform& body2World = link.bodyCore->body2World; - - /*const PxVec3 mLinear = body2World.rotate(motionVector.bottom); - const PxVec3 mAngular = body2World.rotate(motionVector.top);*/ Cm::SpatialVectorV velocity; velocity.linear = V3LoadU(motionVector.bottom); @@ -563,16 +623,31 @@ namespace Dy //this is called by island gen to determine whether the articulation should be awake or sleep Cm::SpatialVector FeatherstoneArticulation::getMotionVelocity(const PxU32 linkID) const { - //This is in the body space + //This is in the world space const Cm::SpatialVectorF& motionVelocity = mArticulationData.getMotionVelocity(linkID); + return Cm::SpatialVector(motionVelocity.bottom, motionVelocity.top); + } - // ArticulationLink& link = mArticulationData.getLink(linkID); - // PxTransform& body2World = link.bodyCore->body2World; + Cm::SpatialVector FeatherstoneArticulation::getMotionAcceleration(const PxU32 linkID) const + { + const PxReal dt = mArticulationData.getDt(); + return recomputeAcceleration(linkID, dt); + } - /*const PxVec3 linear = body2World.rotate(motionVelocity.bottom); - const PxVec3 angular = body2World.rotate(motionVelocity.top);*/ + void FeatherstoneArticulation::fillIndexedManager(const PxU32 linkId, Dy::ArticulationLinkHandle& handle, PxU8& indexType) + { + ArticulationLink& link = mArticulationData.getLink(linkId); - return Cm::SpatialVector(motionVelocity.bottom, motionVelocity.top); + //turn the kinematic link to static for the solver + if (link.bodyCore->kinematicLink) + { + indexType = PxsIndexedInteraction::eWORLD; + } + else + { + indexType = PxsIndexedInteraction::eARTICULATION; + handle = size_t(this) | linkId; + } } PxReal FeatherstoneArticulation::getLinkMaxPenBias(const PxU32 linkID) const @@ -588,9 +663,10 @@ namespace Dy Cm::SpatialVectorF* deferredZ = data.getSpatialZAVectors(); ArticulationLink* links = data.getLinks(); ArticulationJointCoreData* jointData = data.getJointData(); + ArticulationLinkData* linkData = data.getLinkData(); //PxTransform* poses = data.getAccumulatedPoses(); - const PxTransform* poses = data.getPreTransform(); + //const PxTransform* poses = data.getPreTransform(); //This will be zero at the begining of the frame PxReal* jointDeltaVelocities = data.getJointDeltaVelocities(); @@ -603,11 +679,9 @@ namespace Dy { //ArticulationLink& link = links[0]; - deltaV[0] = data.getBaseInvSpatialArticulatedInertia() * (-deferredZ[0]); - //const PxTransform& body2World0 = link.bodyCore->body2World; - const PxTransform& body2World0 = poses[0]; + deltaV[0] = data.getBaseInvSpatialArticulatedInertiaW() * (-deferredZ[0]); - motionVelocities[0] += deltaV[0].rotate(body2World0); + motionVelocities[0] += deltaV[0]; PX_ASSERT(motionVelocities[0].isFinite()); } @@ -619,13 +693,13 @@ namespace Dy const ArticulationLink& tLink = links[i]; const ArticulationJointCoreData& tJointDatum = jointData[i]; - const Cm::SpatialVectorF dV = FeatherstoneArticulation::propagateVelocity(data.getChildToParent(i), data.getSpatialArticulatedInertia(i), - data.getInvStIs(i), data.getMotionMatrix(i), deferredZ[i], &jointDeltaVelocities[tJointDatum.jointOffset], deltaV[tLink.parent]); + const Cm::SpatialVectorF dV = FeatherstoneArticulation::propagateVelocityW(linkData[i].rw, data.getWorldSpatialArticulatedInertia(i), + data.getInvStIs(i), data.getWorldMotionMatrix(i), deferredZ[i], &jointDeltaVelocities[tJointDatum.jointOffset], deltaV[tLink.parent]); deltaV[i] = dV; - const PxTransform& tBody2World = poses[i]; - motionVelocities[i] += dV.rotate(tBody2World); + //const PxTransform& tBody2World = poses[i]; + motionVelocities[i] += dV; PX_ASSERT(motionVelocities[i].isFinite()); } @@ -695,7 +769,7 @@ namespace Dy const PxTransform newPose = articulation->propagateTransform(linkID, data.getLinks(), jointDatum, data.getMotionVelocities(), dt, data.mAccumulatedPoses[data.getLink(linkID).parent], data.mAccumulatedPoses[linkID], - jointVelocities, jointDeltaVelocities, jointPosition); + jointVelocities, jointDeltaVelocities, jointPosition, data.getMotionMatrix(linkID), data.getWorldMotionMatrix(linkID)); //data.mDeltaQ[linkID] = data.mPreTransform[linkID].q.getConjugate() * newPose.q; PxQuat dq = newPose.q * data.mPreTransform[linkID].q.getConjugate(); @@ -722,41 +796,6 @@ namespace Dy //Record the new current pose data.mAccumulatedPoses[linkID] = newPose; - -#if 0 - ArticulationLink& link = data.getLink(linkID); - - if (link.inboundJoint->jointType != PxArticulationJointType::eSPHERICAL) - { - const PxTransform& parentPose = data.mAccumulatedPoses[link.parent]; - const PxTransform& body2World = newPose; - - - PxVec3 rw = body2World.p - parentPose.p; - - PxVec3 linVel = data.getMotionVelocity(link.parent).bottom + data.getMotionVelocity(link.parent).top.cross(rw); - PxVec3 angVel = data.getMotionVelocity(link.parent).top; - - const PxReal* jVelocity = &jointVelocities[jointDatum.jointOffset]; - - PxVec3 tDeltaV(0.f); - PxVec3 tDeltaA(0.f); - for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) - { - tDeltaV += jointDatum.motionMatrix[ind].bottom * jVelocity[ind]; - tDeltaA += jointDatum.motionMatrix[ind].top * jVelocity[ind]; - } - - linVel += body2World.rotate(tDeltaV); - angVel += body2World.rotate(tDeltaA); - - PX_UNUSED(linVel); - - motionVeloties[linkID].bottom = linVel; - //motionVeloties[linkID].bottom = deltaChange/dt; - motionVeloties[linkID].top = angVel; - } -#endif } } @@ -792,7 +831,9 @@ namespace Dy if (!fixBase) { - deltaV = mArticulationData.mBaseInvSpatialArticulatedInertia * (-deferredZ[0]); + //deltaV = mArticulationData.mBaseInvSpatialArticulatedInertia * (-deferredZ[0]); + //DeferredZ now in world space! + deltaV = mArticulationData.mBaseInvSpatialArticulatedInertiaW * (-deferredZ[0]); } for (ArticulationBitField i = links[linkID].pathToRoot - 1; i; i &= (i - 1)) @@ -800,15 +841,18 @@ namespace Dy //index of child of link h on path to link linkID const PxU32 index = ArticulationLowestSetBit(i); PX_ASSERT(links[index].parent < index); - deltaV = propagateVelocityTestImpulse(mArticulationData.mChildToParent[index], mArticulationData.mSpatialArticulatedInertia[index], - mArticulationData.mInvStIs[index], mArticulationData.mMotionMatrix[index], deferredZ[index], deltaV); + + Dy::ArticulationLinkData& linkDatum = mArticulationData.getLinkData(index); + + deltaV = propagateVelocityTestImpulseW(linkDatum.rw, mArticulationData.mWorldSpatialArticulatedInertia[index], + mArticulationData.mInvStIs[index], mArticulationData.mWorldMotionMatrix[index], deferredZ[index], deltaV); } //ArticulationLink& link = mArticulationData.getLink(linkID); //PxTransform& body2World = link.bodyCore->body2World; //PxTransform& body2World = mArticulationData.getAccumulatedPoses()[linkID]; - const PxTransform& body2World = mArticulationData.getPreTransform(linkID); - Cm::SpatialVectorF vel = mArticulationData.getMotionVelocity(linkID) + deltaV.rotate(body2World); + //const PxTransform& body2World = mArticulationData.getPreTransform(linkID); + Cm::SpatialVectorF vel = mArticulationData.getMotionVelocity(linkID) + deltaV; return Cm::SpatialVector(vel.bottom, vel.top); } @@ -826,7 +870,8 @@ namespace Dy if (!fixBase) { - deltaV = mArticulationData.mBaseInvSpatialArticulatedInertia * (-deferredZ[0]); + //deltaV = mArticulationData.mBaseInvSpatialArticulatedInertia * (-deferredZ[0]); + deltaV = mArticulationData.mBaseInvSpatialArticulatedInertiaW * (-deferredZ[0]); } PxU64 common = links[linkID].pathToRoot & links[linkID1].pathToRoot; @@ -838,8 +883,10 @@ namespace Dy //index of child of link h on path to link linkID const PxU32 index = ArticulationLowestSetBit(i); PX_ASSERT(links[index].parent < index); - deltaV = propagateVelocityTestImpulse(mArticulationData.mChildToParent[index], mArticulationData.mSpatialArticulatedInertia[index], - mArticulationData.mInvStIs[index], mArticulationData.mMotionMatrix[index], deferredZ[index], deltaV); + + Dy::ArticulationLinkData& linkDatum = mArticulationData.getLinkData(index); + deltaV = propagateVelocityTestImpulseW(linkDatum.rw, mArticulationData.mWorldSpatialArticulatedInertia[index], + mArticulationData.mInvStIs[index], mArticulationData.mWorldMotionMatrix[index], deferredZ[index], deltaV); } Cm::SpatialVectorF deltaV1 = deltaV; @@ -849,8 +896,9 @@ namespace Dy //index of child of link h on path to link linkID const PxU32 index = ArticulationLowestSetBit(i); PX_ASSERT(links[index].parent < index); - deltaV = propagateVelocityTestImpulse(mArticulationData.mChildToParent[index], mArticulationData.mSpatialArticulatedInertia[index], - mArticulationData.mInvStIs[index], mArticulationData.mMotionMatrix[index], deferredZ[index], deltaV); + Dy::ArticulationLinkData& linkDatum = mArticulationData.getLinkData(index); + deltaV = propagateVelocityTestImpulseW(linkDatum.rw, mArticulationData.mWorldSpatialArticulatedInertia[index], + mArticulationData.mInvStIs[index], mArticulationData.mWorldMotionMatrix[index], deferredZ[index], deltaV); } for (ArticulationBitField i = exclusive1; i; i &= (i - 1)) @@ -858,23 +906,16 @@ namespace Dy //index of child of link h on path to link linkID const PxU32 index = ArticulationLowestSetBit(i); PX_ASSERT(links[index].parent < index); - deltaV1 = propagateVelocityTestImpulse(mArticulationData.mChildToParent[index], mArticulationData.mSpatialArticulatedInertia[index], - mArticulationData.mInvStIs[index], mArticulationData.mMotionMatrix[index], deferredZ[index], deltaV1); + Dy::ArticulationLinkData& linkDatum = mArticulationData.getLinkData(index); + deltaV1 = propagateVelocityTestImpulseW(linkDatum.rw, mArticulationData.mWorldSpatialArticulatedInertia[index], + mArticulationData.mInvStIs[index], mArticulationData.mWorldMotionMatrix[index], deferredZ[index], deltaV1); } - //ArticulationLink& link = mArticulationData.getLink(linkID); - //PxTransform& body2World = link.bodyCore->body2World; - //PxTransform& body2World = mArticulationData.getAccumulatedPoses()[linkID]; - PxTransform& body2World = mArticulationData.getPreTransform(linkID); - Cm::SpatialVectorF vel = mArticulationData.getMotionVelocity(linkID) + deltaV.rotate(body2World); + Cm::SpatialVectorF vel = mArticulationData.getMotionVelocity(linkID) + deltaV; v0 = Cm::SpatialVector(vel.bottom, vel.top); - //ArticulationLink& link1 = mArticulationData.getLink(linkID1); - //PxTransform& body2World1 = link1.bodyCore->body2World; - //PxTransform& body2World1 = mArticulationData.getAccumulatedPoses()[linkID1]; - PxTransform& body2World1 = mArticulationData.getPreTransform(linkID1); - Cm::SpatialVectorF vel1 = mArticulationData.getMotionVelocity(linkID1) + deltaV1.rotate(body2World1); + Cm::SpatialVectorF vel1 = mArticulationData.getMotionVelocity(linkID1) + deltaV1; v1 = Cm::SpatialVector(vel1.bottom, vel1.top); } @@ -912,6 +953,8 @@ namespace Dy //Cm::SpatialVectorF* motionVelocity = data.getMotionVelocities(); + ArticulationLinkData* linkData = data.getLinkData(); + data.mJointDirty = true; //set all zero acceleration forces to be zero @@ -926,16 +969,17 @@ namespace Dy //ArticulationLink& collidedlink = links[linkID]; //PxTransform& body2World = collidedlink.bodyCore->body2World; //PxTransform& body2World = data.getAccumulatedPoses()[linkID]; - PxTransform& body2World = data.getPreTransform(linkID); + //PxTransform& body2World = data.getPreTransform(linkID); - Cm::SpatialVectorF Z0(-body2World.rotateInv(impulse.linear), -body2World.rotateInv(impulse.angular)); + //Cm::SpatialVectorF Z0(-body2World.rotateInv(impulse.linear), -body2World.rotateInv(impulse.angular)); + Cm::SpatialVectorF Z0(-impulse.linear, -impulse.angular); deferredZ[linkID] += Z0; for (PxU32 i = linkID; i; i = links[i].parent) { ArticulationLink& tLink = links[i]; - //ArticulationLinkData& tLinkDatum = linkData[i]; - Z0 = propagateImpulse(data.mIsInvD[i], data.mChildToParent[i], data.mMotionMatrix[i], Z0); + ArticulationLinkData& tLinkDatum = linkData[i]; + Z0 = propagateImpulseW(data.mIsInvDW[i], tLinkDatum.rw, data.mWorldMotionMatrix[i], Z0); deferredZ[tLink.parent] += Z0; } } @@ -958,8 +1002,9 @@ namespace Dy for (PxU32 linkID = startIndex; linkID > 0; --linkID) { ArticulationLink& tLink = links[linkID]; + ArticulationLinkData& linkDatum = mArticulationData.getLinkData(linkID); - Z[tLink.parent] += propagateImpulse(data.mIsInvD[linkID], data.mChildToParent[linkID], data.mMotionMatrix[linkID], Z[linkID]); + Z[tLink.parent] += propagateImpulseW(data.mIsInvDW[linkID], linkDatum.rw, data.mWorldMotionMatrix[linkID], Z[linkID]); deferredZ[linkID] += Z[linkID]; } @@ -979,6 +1024,7 @@ namespace Dy { const ArticulationSolverDesc* desc = &mSolverDesc; ArticulationData& data = mArticulationData; + ArticulationLinkData* linkData = data.getLinkData(); data.mJointDirty = true; Cm::SpatialVectorF* deferredZ = data.getSpatialZAVectors(); ArticulationLink* links = static_cast(desc->links); @@ -992,14 +1038,11 @@ namespace Dy V3StoreU(angular2, impulse1.angular); V3StoreU(linear2, impulse1.linear); - PxTransform& body2World = data.getPreTransform(linkID); - PxTransform& body2World2 = data.getPreTransform(linkID2); - PxU64 commonId = links[linkID].pathToRoot & links[linkID2].pathToRoot; PxU32 commonLink = Dy::ArticulationHighestSetBit(commonId); //Now, work from one to that common, then the other to that common, then go from there upwards... - Cm::SpatialVectorF Z1(-body2World.rotateInv(impulse0.linear), -body2World.rotateInv(impulse0.angular)); - Cm::SpatialVectorF Z2(-body2World2.rotateInv(impulse1.linear), -body2World2.rotateInv(impulse1.angular)); + Cm::SpatialVectorF Z1(-impulse0.linear, -impulse0.angular); + Cm::SpatialVectorF Z2(-impulse1.linear, -impulse1.angular); deferredZ[linkID2] += Z2; @@ -1008,7 +1051,7 @@ namespace Dy for (PxU32 i = linkID2; i != commonLink; i = links[i].parent) { ArticulationLink& tLink = links[i]; - Z2 = propagateImpulse(data.mIsInvD[i], data.mChildToParent[i], data.mMotionMatrix[i], Z2); + Z2 = propagateImpulseW(data.mIsInvDW[i], linkData[i].rw, data.mWorldMotionMatrix[i], Z2); deferredZ[tLink.parent] += Z2; } @@ -1017,7 +1060,7 @@ namespace Dy for (PxU32 i = linkID; i != commonLink; i = links[i].parent) { ArticulationLink& tLink = links[i]; - Z1 = propagateImpulse(data.mIsInvD[i], data.mChildToParent[i], data.mMotionMatrix[i], Z1); + Z1 = propagateImpulseW(data.mIsInvDW[i], linkData[i].rw, data.mWorldMotionMatrix[i], Z1); deferredZ[tLink.parent] += Z1; } @@ -1026,7 +1069,7 @@ namespace Dy for (PxU32 i = commonLink; i; i = links[i].parent) { ArticulationLink& tLink = links[i]; - ZCommon = propagateImpulse(data.mIsInvD[i], data.mChildToParent[i], data.mMotionMatrix[i], ZCommon); + ZCommon = propagateImpulseW(data.mIsInvDW[i], linkData[i].rw, data.mWorldMotionMatrix[i], ZCommon); deferredZ[tLink.parent] += ZCommon; } } @@ -1039,6 +1082,7 @@ namespace Dy //initialize all zero acceration impulse to be zero ArticulationData& data = mArticulationData; + const PxU32 linkCount = mArticulationData.getLinkCount(); @@ -1047,8 +1091,9 @@ namespace Dy for (PxU32 linkID = startIndex; linkID > 0; --linkID) { ArticulationLink& tLink = links[linkID]; + ArticulationLinkData& linkDatum = data.getLinkData(linkID); - Z[tLink.parent] += propagateImpulse(data.mIsInvD[linkID], data.mChildToParent[linkID], data.mMotionMatrix[linkID], Z[linkID]); + Z[tLink.parent] += propagateImpulseW(data.mIsInvDW[linkID], linkDatum.rw, data.mWorldMotionMatrix[linkID], Z[linkID]); } getDeltaV(Z, deltaV); @@ -1070,11 +1115,9 @@ namespace Dy } else { - ArticulationLink& link = links[0]; - deltaV[0] = mArticulationData.mBaseInvSpatialArticulatedInertia * (-Z[0]); - const PxTransform& body2World0 = link.bodyCore->body2World; - motionVelocities[0] += deltaV[0].rotate(body2World0); + deltaV[0] = mArticulationData.mBaseInvSpatialArticulatedInertiaW * (-Z[0]); + motionVelocities[0] += deltaV[0]; PX_ASSERT(motionVelocities[0].isFinite()); } @@ -1085,211 +1128,189 @@ namespace Dy { ArticulationLink& tLink = links[i]; ArticulationJointCoreData& tJointDatum = jointData[i]; - Cm::SpatialVectorF dV = propagateVelocity(mArticulationData.mChildToParent[i], mArticulationData.mSpatialArticulatedInertia[i], - mArticulationData.mInvStIs[i], mArticulationData.mMotionMatrix[i], Z[i], &jointDeltaVelocities[tJointDatum.jointOffset], deltaV[tLink.parent]); + Cm::SpatialVectorF dV = propagateVelocityW(mArticulationData.mLinksData[i].rw, mArticulationData.mWorldSpatialArticulatedInertia[i], + mArticulationData.mInvStIs[i], mArticulationData.mWorldMotionMatrix[i], Z[i], &jointDeltaVelocities[tJointDatum.jointOffset], deltaV[tLink.parent]); deltaV[i] = dV; - const PxTransform& tBody2World = tLink.bodyCore->body2World; - motionVelocities[i] += dV.rotate(tBody2World); + motionVelocities[i] += dV; PX_ASSERT(motionVelocities[i].isFinite()); } } - PxQuat computeSphericalJointPositions(ArticulationJointCore* joint, + PxQuat computeSphericalJointPositions(const PxQuat relativeQuat, const PxQuat newRot, const PxQuat pBody2WorldRot, - PxReal* jPositions); + PxReal* jPositions, const SpatialSubspaceMatrix& motionMatrix); PxTransform FeatherstoneArticulation::propagateTransform(const PxU32 linkID, ArticulationLink* links, ArticulationJointCoreData& jointDatum, Cm::SpatialVectorF* motionVelocities, const PxReal dt, const PxTransform& pBody2World, - const PxTransform& currentTransform, PxReal* jointVelocities, PxReal* jointDeltaVelocities, PxReal* jointPositions) + const PxTransform& currentTransform, PxReal* jointVelocities, PxReal* jointDeltaVelocities, PxReal* jointPositions, + const SpatialSubspaceMatrix& motionMatrix, const SpatialSubspaceMatrix& worldMotionMatrix) { - ArticulationLink& link = links[linkID]; + ArticulationLink& link = links[linkID]; + + const PxQuat relativeQuat = mArticulationData.mRelativeQuat[linkID]; - ArticulationJointCore* joint = link.inboundJoint; + ArticulationJointCore* joint = link.inboundJoint; - PxReal* jVelocity = &jointVelocities[jointDatum.jointOffset]; - PxReal* jDeltaVelocity = &jointDeltaVelocities[jointDatum.jointOffset]; - PxReal* jPosition = &jointPositions[jointDatum.jointOffset]; + PxReal* jVelocity = &jointVelocities[jointDatum.jointOffset]; + PxReal* jDeltaVelocity = &jointDeltaVelocities[jointDatum.jointOffset]; + PxReal* jPosition = &jointPositions[jointDatum.jointOffset]; - PxQuat newParentToChild; - PxQuat newWorldQ; - PxVec3 r; + PxQuat newParentToChild; + PxQuat newWorldQ; + PxVec3 r; - const PxVec3 childOffset = -joint->childPose.p; - const PxVec3 parentOffset = joint->parentPose.p; + const PxVec3 childOffset = -joint->childPose.p; + const PxVec3 parentOffset = joint->parentPose.p; - switch (joint->jointType) - { - case PxArticulationJointType::ePRISMATIC: - { - PxReal tJointPosition = jPosition[0] + (jVelocity[0] + jDeltaVelocity[0]) * dt; - - if (link.inboundJoint->prismaticLimited) - { - if (tJointPosition < (link.inboundJoint->limits[link.inboundJoint->dofIds[0]].low)) - tJointPosition = link.inboundJoint->limits[link.inboundJoint->dofIds[0]].low; - if (tJointPosition >(link.inboundJoint->limits[link.inboundJoint->dofIds[0]].high)) - tJointPosition = link.inboundJoint->limits[link.inboundJoint->dofIds[0]].high; - } + switch (joint->jointType) + { + case PxArticulationJointType::ePRISMATIC: + { + PxReal tJointPosition = jPosition[0] + (jVelocity[0] + jDeltaVelocity[0]) * dt; - jPosition[0] = tJointPosition; - jVelocity[0] += jDeltaVelocity[0]; - jDeltaVelocity[0] = 0.f; + const PxU32 dofId = link.inboundJoint->dofIds[0]; - newParentToChild = joint->relativeQuat; - const PxVec3 e = newParentToChild.rotate(parentOffset); - const PxVec3 d = childOffset; - - r = e + d + mArticulationData.mMotionMatrix[linkID][0].bottom * tJointPosition; - break; - } - case PxArticulationJointType::eREVOLUTE: + if (link.inboundJoint->motion[dofId] == PxArticulationMotion::eLIMITED) { - PxReal tJointPosition = jPosition[0] + (jVelocity[0] + jDeltaVelocity[0]) * dt; + if (tJointPosition < (link.inboundJoint->limits[dofId].low)) + tJointPosition = link.inboundJoint->limits[dofId].low; + if (tJointPosition >(link.inboundJoint->limits[dofId].high)) + tJointPosition = link.inboundJoint->limits[dofId].high; + } - if (link.inboundJoint->twistLimited) - { - if (tJointPosition < (link.inboundJoint->limits[link.inboundJoint->dofIds[0]].low)) - tJointPosition = link.inboundJoint->limits[link.inboundJoint->dofIds[0]].low; - if (tJointPosition >(link.inboundJoint->limits[link.inboundJoint->dofIds[0]].high)) - tJointPosition = link.inboundJoint->limits[link.inboundJoint->dofIds[0]].high; - } - else - { - if (tJointPosition > PxTwoPi) - tJointPosition -= 2.f*PxTwoPi; - else if (tJointPosition < -PxTwoPi) - tJointPosition += 2.f*PxTwoPi; + jPosition[0] = tJointPosition; + jVelocity[0] += jDeltaVelocity[0]; + jDeltaVelocity[0] = 0.f; - tJointPosition = PxClamp(tJointPosition, -2.f*PxTwoPi, 2.f*PxTwoPi); - } + newParentToChild = relativeQuat; + const PxVec3 e = newParentToChild.rotate(parentOffset); + const PxVec3 d = childOffset; + + r = e + d + mArticulationData.mMotionMatrix[linkID][0].bottom * tJointPosition; + break; + } + case PxArticulationJointType::eREVOLUTE: + { + PxReal tJointPosition = jPosition[0] + (jVelocity[0] + jDeltaVelocity[0]) * dt; + + if (link.inboundJoint->twistLimited) + { + if (tJointPosition < (link.inboundJoint->limits[link.inboundJoint->dofIds[0]].low)) + tJointPosition = link.inboundJoint->limits[link.inboundJoint->dofIds[0]].low; + if (tJointPosition >(link.inboundJoint->limits[link.inboundJoint->dofIds[0]].high)) + tJointPosition = link.inboundJoint->limits[link.inboundJoint->dofIds[0]].high; + } - jPosition[0] = tJointPosition; - jVelocity[0] += jDeltaVelocity[0]; - jDeltaVelocity[0] = 0.f; + jPosition[0] = tJointPosition; + jVelocity[0] += jDeltaVelocity[0]; + jDeltaVelocity[0] = 0.f; - const PxVec3& u = mArticulationData.mMotionMatrix[linkID][0].top; + const PxVec3& u = mArticulationData.mMotionMatrix[linkID][0].top; - PxQuat jointRotation = PxQuat(-tJointPosition, u); - if (jointRotation.w < 0) //shortest angle. - jointRotation = -jointRotation; + PxQuat jointRotation = PxQuat(-tJointPosition, u); + if (jointRotation.w < 0) //shortest angle. + jointRotation = -jointRotation; - newParentToChild = (jointRotation * joint->relativeQuat).getNormalized(); + newParentToChild = (jointRotation * relativeQuat).getNormalized(); - const PxVec3 e = newParentToChild.rotate(parentOffset); - const PxVec3 d = childOffset; - r = e + d; + const PxVec3 e = newParentToChild.rotate(parentOffset); + const PxVec3 d = childOffset; + r = e + d; - PX_ASSERT(r.isFinite()); + PX_ASSERT(r.isFinite()); - break; - } - case PxArticulationJointType::eSPHERICAL: + break; + } + case PxArticulationJointType::eSPHERICAL: + { + if (jointDatum.dof < 3) { - if (jointDatum.dof < 3) + PxQuat jointRotation(PxIdentity); + for (PxU32 i = 0; i < jointDatum.dof; ++i) { - PxQuat jointRotation(PxIdentity); - for (PxU32 i = 0; i < jointDatum.dof; ++i) - { - const PxReal delta = (jVelocity[i] + jDeltaVelocity[i]) * dt; - - jVelocity[i] += jDeltaVelocity[i]; + const PxReal delta = (jVelocity[i] + jDeltaVelocity[i]) * dt; - PxReal jPos = jPosition[i] + delta; - //jPosition[i] += delta; - if (jPos > PxTwoPi) - jPos -= 2.f*PxTwoPi; - else if (jPos < -PxTwoPi) - jPos += 2.f*PxTwoPi; + jVelocity[i] += jDeltaVelocity[i]; - jPos = PxClamp(jPos, -2.f*PxTwoPi, 2.f*PxTwoPi); + PxReal jPos = jPosition[i] + delta; - jPosition[i] = jPos; + jPosition[i] = jPos; - jDeltaVelocity[i] = 0.f; + jDeltaVelocity[i] = 0.f; - const PxVec3& u = mArticulationData.mMotionMatrix[linkID][i].top; + const PxVec3& u = mArticulationData.mMotionMatrix[linkID][i].top; - PxQuat jRotation = PxQuat(-jPosition[i], u); - if (jRotation.w < 0) //shortest angle. - jRotation = -jRotation; - - jointRotation = jointRotation * jRotation; - } - newParentToChild = (jointRotation * joint->relativeQuat).getNormalized(); - const PxVec3 e = newParentToChild.rotate(parentOffset); - const PxVec3 d = childOffset; - r = e + d; + PxQuat jRotation = PxQuat(-jPosition[i], u); + if (jRotation.w < 0) //shortest angle. + jRotation = -jRotation; - PX_ASSERT(r.isFinite()); + jointRotation = jointRotation * jRotation; } - else - { - PxVec3 worldAngVel = motionVelocities[linkID].top; + newParentToChild = (jointRotation * relativeQuat).getNormalized(); + const PxVec3 e = newParentToChild.rotate(parentOffset); + const PxVec3 d = childOffset; + r = e + d; + + PX_ASSERT(r.isFinite()); + } + else + { + PxVec3 worldAngVel = motionVelocities[linkID].top; - newWorldQ = Ps::exp(worldAngVel*dt) * currentTransform.q; + newWorldQ = Ps::exp(worldAngVel*dt) * currentTransform.q; - newParentToChild = computeSphericalJointPositions(joint, newWorldQ, - pBody2World.q, jPosition); + newParentToChild = computeSphericalJointPositions(mArticulationData.mRelativeQuat[linkID], newWorldQ, + pBody2World.q, jPosition, motionMatrix); - PxQuat newQ = (pBody2World.q * newParentToChild.getConjugate()).getNormalized(); + /*PxQuat newQ = (pBody2World.q * newParentToChild.getConjugate()).getNormalized(); - const PxQuat cB2w = newQ * joint->childPose.q; + const PxQuat cB2w = newQ * joint->childPose.q; - const PxMat33 cB2w_m(cB2w); + const PxMat33 cB2w_m(cB2w); - PxVec3 axis0 = cB2w_m.column0; - PxVec3 axis1 = cB2w_m.column1; - PxVec3 axis2 = cB2w_m.column2; + const PxVec3* axis = &cB2w_m.column0; - PxVec3 relAngVel = worldAngVel - motionVelocities[link.parent].top; + PxU32 dofIdx = 0;*/ + PxVec3 relAngVel = worldAngVel - motionVelocities[link.parent].top; - PxU32 dofIdx = 0; - if (joint->motion[PxArticulationAxis::eTWIST] != PxArticulationMotion::eLOCKED) - jVelocity[dofIdx++] = axis0.dot(relAngVel); - if (joint->motion[PxArticulationAxis::eSWING1] != PxArticulationMotion::eLOCKED) - jVelocity[dofIdx++] = axis1.dot(relAngVel); - if (joint->motion[PxArticulationAxis::eSWING2] != PxArticulationMotion::eLOCKED) - jVelocity[dofIdx++] = axis2.dot(relAngVel); - if (joint->motion[PxArticulationAxis::eTWIST] == PxArticulationMotion::eLOCKED) - jVelocity[dofIdx++] = axis0.dot(relAngVel); - if (joint->motion[PxArticulationAxis::eSWING1] == PxArticulationMotion::eLOCKED) - jVelocity[dofIdx++] = axis1.dot(relAngVel); - if (joint->motion[PxArticulationAxis::eSWING2] == PxArticulationMotion::eLOCKED) - jVelocity[dofIdx++] = axis2.dot(relAngVel); + for (PxU32 i = PxArticulationAxis::eTWIST; i < PxArticulationAxis::eX; ++i) + { + jVelocity[i] = worldMotionMatrix.getColumns()[i].top.dot(relAngVel); } + } - const PxVec3 e = newParentToChild.rotate(parentOffset); - const PxVec3 d = childOffset; - r = e + d; + const PxVec3 e = newParentToChild.rotate(parentOffset); + const PxVec3 d = childOffset; + r = e + d; - PX_ASSERT(r.isFinite()); - break; - } - case PxArticulationJointType::eFIX: - { - //this is fix joint so joint don't have velocity - newParentToChild = joint->relativeQuat; + PX_ASSERT(r.isFinite()); + break; + } + case PxArticulationJointType::eFIX: + { + //this is fix joint so joint don't have velocity + newParentToChild = relativeQuat; - const PxVec3 e = newParentToChild.rotate(parentOffset); - const PxVec3 d = childOffset; + const PxVec3 e = newParentToChild.rotate(parentOffset); + const PxVec3 d = childOffset; - r = e + d; - break; - } - default: - break; - } + r = e + d; + break; + } + default: + break; + } - PxTransform cBody2World; - cBody2World.q = (pBody2World.q * newParentToChild.getConjugate()).getNormalized(); - cBody2World.p = pBody2World.p + cBody2World.q.rotate(r); + PxTransform cBody2World; + cBody2World.q = (pBody2World.q * newParentToChild.getConjugate()).getNormalized(); + cBody2World.p = pBody2World.p + cBody2World.q.rotate(r); - PX_ASSERT(cBody2World.isSane()); + PX_ASSERT(cBody2World.isSane()); - return cBody2World; + return cBody2World; } const PxTransform& FeatherstoneArticulation::getCurrentTransform(PxU32 linkID) const @@ -1302,19 +1323,94 @@ namespace Dy return mArticulationData.mDeltaQ[linkID]; } - //Z is the spatial acceleration impulse of links[linkID] - Cm::SpatialVectorF FeatherstoneArticulation::propagateVelocity(const Dy::SpatialTransform& c2p, const Dy::SpatialMatrix& spatialInertia, - const InvStIs& invStIs, const SpatialSubspaceMatrix& motionMatrix, const Cm::SpatialVectorF& Z, PxReal* jointVelocity, const Cm::SpatialVectorF& hDeltaV) + ////Z is the spatial acceleration impulse of links[linkID] + //Cm::SpatialVectorF FeatherstoneArticulation::propagateVelocity(const Dy::SpatialTransform& c2p, const Dy::SpatialMatrix& spatialInertia, + // const InvStIs& invStIs, const SpatialSubspaceMatrix& motionMatrix, const Cm::SpatialVectorF& Z, PxReal* jointVelocity, const Cm::SpatialVectorF& hDeltaV) + //{ + // const PxU32 dofCount = motionMatrix.getNumColumns(); + // Cm::SpatialVectorF pDeltaV = c2p.transposeTransform(hDeltaV); //parent velocity change + + // Cm::SpatialVectorF temp = spatialInertia * pDeltaV + Z; + + // PxReal tJointDelta[6]; + // for (PxU32 ind = 0; ind < dofCount; ++ind) + // { + // const Cm::SpatialVectorF& sa = motionMatrix[ind]; + // tJointDelta[ind] = -sa.innerProduct(temp); + // } + + // Cm::SpatialVectorF jointSpatialDeltaV(PxVec3(0.f), PxVec3(0.f)); + + // for (PxU32 ind = 0; ind < dofCount; ++ind) + // { + // PxReal jDelta = 0.f; + // for (PxU32 ind2 = 0; ind2 < dofCount; ++ind2) + // { + // jDelta += invStIs.invStIs[ind2][ind] * tJointDelta[ind2]; + // } + + // jointVelocity[ind] += jDelta; + + // const Cm::SpatialVectorF& sa = motionMatrix[ind]; + // jointSpatialDeltaV += sa * jDelta; + // } + + // return pDeltaV + jointSpatialDeltaV; + //} + + ////This method calculate the velocity change due to collision/constraint impulse + //Cm::SpatialVectorF FeatherstoneArticulation::propagateVelocityTestImpulse(const Dy::SpatialTransform& c2p, const Dy::SpatialMatrix& spatialInertia, + // const InvStIs& invStIs, const SpatialSubspaceMatrix& motionMatrix, const Cm::SpatialVectorF& Z, + // const Cm::SpatialVectorF& hDeltaV) + //{ + // const PxU32 dofCount = motionMatrix.getNumColumns(); + // Cm::SpatialVectorF pDeltaV = c2p.transposeTransform(hDeltaV); //parent velocity change + + // Cm::SpatialVectorF temp = spatialInertia * pDeltaV + Z; + + // PxReal tJointDelta[6]; + // for (PxU32 ind = 0; ind < dofCount; ++ind) + // { + // const Cm::SpatialVectorF& sa = motionMatrix[ind]; + // tJointDelta[ind] = -sa.innerProduct(temp); + // } + + // Cm::SpatialVectorF jointSpatialDeltaV(PxVec3(0.f), PxVec3(0.f)); + + // for (PxU32 ind = 0; ind < dofCount; ++ind) + // { + // PxReal jDelta = 0.f; + // for (PxU32 ind2 = 0; ind2 < dofCount; ++ind2) + // { + // jDelta += invStIs.invStIs[ind2][ind] * tJointDelta[ind2]; + // } + + // const Cm::SpatialVectorF& sa = motionMatrix[ind]; + // jointSpatialDeltaV += sa * jDelta; + // } + + // return pDeltaV + jointSpatialDeltaV; + //} + + PX_CUDA_CALLABLE PX_FORCE_INLINE Cm::SpatialVectorF translateImpulse(const Cm::SpatialVectorF& s, const PxVec3& offset) + { + return Cm::SpatialVectorF(s.top, offset.cross(s.top) + s.bottom); + } + + //This method calculate the velocity change due to collision/constraint impulse, record joint velocity and acceleration + Cm::SpatialVectorF FeatherstoneArticulation::propagateVelocityW(const PxVec3& c2p, const Dy::SpatialMatrix& spatialInertia, + const InvStIs& invStIs, const SpatialSubspaceMatrix& motionMatrix, const Cm::SpatialVectorF& Z, + PxReal* jointVelocity, const Cm::SpatialVectorF& hDeltaV) { const PxU32 dofCount = motionMatrix.getNumColumns(); - Cm::SpatialVectorF pDeltaV = c2p.transposeTransform(hDeltaV); //parent velocity change + Cm::SpatialVectorF pDeltaV = translateImpulse(hDeltaV, -c2p); //parent velocity change Cm::SpatialVectorF temp = spatialInertia * pDeltaV + Z; PxReal tJointDelta[6]; for (PxU32 ind = 0; ind < dofCount; ++ind) { - const Cm::SpatialVectorF& sa = motionMatrix[ind]; + const Cm::UnAlignedSpatialVector& sa = motionMatrix[ind]; tJointDelta[ind] = -sa.innerProduct(temp); } @@ -1330,27 +1426,28 @@ namespace Dy jointVelocity[ind] += jDelta; - const Cm::SpatialVectorF& sa = motionMatrix[ind]; - jointSpatialDeltaV += sa * jDelta; + const Cm::UnAlignedSpatialVector& sa = motionMatrix[ind]; + jointSpatialDeltaV.top += sa.top * jDelta; + jointSpatialDeltaV.bottom += sa.bottom * jDelta; } return pDeltaV + jointSpatialDeltaV; } //This method calculate the velocity change due to collision/constraint impulse - Cm::SpatialVectorF FeatherstoneArticulation::propagateVelocityTestImpulse(const Dy::SpatialTransform& c2p, const Dy::SpatialMatrix& spatialInertia, - const InvStIs& invStIs, const SpatialSubspaceMatrix& motionMatrix, const Cm::SpatialVectorF& Z, - const Cm::SpatialVectorF& hDeltaV) + Cm::SpatialVectorF FeatherstoneArticulation::propagateVelocityTestImpulseW(const PxVec3& c2p, const Dy::SpatialMatrix& spatialInertia, const InvStIs& invStIs, + const SpatialSubspaceMatrix& motionMatrix, const Cm::SpatialVectorF& Z, const Cm::SpatialVectorF& hDeltaV) { const PxU32 dofCount = motionMatrix.getNumColumns(); - Cm::SpatialVectorF pDeltaV = c2p.transposeTransform(hDeltaV); //parent velocity change + Cm::SpatialVectorF pDeltaV = translateImpulse(hDeltaV, -c2p); //parent velocity change + //Convert parent velocity change into an impulse Cm::SpatialVectorF temp = spatialInertia * pDeltaV + Z; PxReal tJointDelta[6]; for (PxU32 ind = 0; ind < dofCount; ++ind) { - const Cm::SpatialVectorF& sa = motionMatrix[ind]; + const Cm::UnAlignedSpatialVector& sa = motionMatrix[ind]; tJointDelta[ind] = -sa.innerProduct(temp); } @@ -1364,28 +1461,51 @@ namespace Dy jDelta += invStIs.invStIs[ind2][ind] * tJointDelta[ind2]; } - const Cm::SpatialVectorF& sa = motionMatrix[ind]; - jointSpatialDeltaV += sa * jDelta; + const Cm::UnAlignedSpatialVector& sa = motionMatrix[ind]; + jointSpatialDeltaV.top += sa.top * jDelta; + jointSpatialDeltaV.bottom += sa.bottom * jDelta; } return pDeltaV + jointSpatialDeltaV; } - Cm::SpatialVectorF FeatherstoneArticulation::propagateImpulse(const IsInvD& isInvD, - const SpatialTransform& childToParent, const SpatialSubspaceMatrix& motionMatrix, const Cm::SpatialVectorF& Z) + + //Cm::SpatialVectorF FeatherstoneArticulation::propagateImpulse(const IsInvD& isInvD, + // const SpatialTransform& childToParent, const SpatialSubspaceMatrix& motionMatrix, const Cm::SpatialVectorF& Z) + //{ + // const PxU32 dofCount = motionMatrix.getNumColumns(); + // Cm::SpatialVectorF temp(PxVec3(0.f), PxVec3(0.f)); + + // for (PxU32 ind = 0; ind < dofCount; ++ind) + // { + // const Cm::SpatialVectorF& sa = motionMatrix[ind]; + // const PxReal stZ = sa.innerProduct(Z); + // temp += isInvD.isInvD[ind] * stZ; + // } + + // //parent space's spatial zero acceleration impulse + // return childToParent * (Z - temp); + //} + + Cm::SpatialVectorF FeatherstoneArticulation::propagateImpulseW(const IsInvD& isInvD, const PxVec3& childToParent, + const SpatialSubspaceMatrix& motionMatrix, const Cm::SpatialVectorF& Z) { const PxU32 dofCount = motionMatrix.getNumColumns(); Cm::SpatialVectorF temp(PxVec3(0.f), PxVec3(0.f)); for (PxU32 ind = 0; ind < dofCount; ++ind) { - const Cm::SpatialVectorF& sa = motionMatrix[ind]; + const Cm::UnAlignedSpatialVector& sa = motionMatrix[ind]; const PxReal stZ = sa.innerProduct(Z); temp += isInvD.isInvD[ind] * stZ; } //parent space's spatial zero acceleration impulse - return childToParent * (Z - temp); + + return FeatherstoneArticulation::translateSpatialVector(childToParent, (Z-temp)); + /*Cm::SpatialVectorF temp2 = (Z - temp); + temp2.bottom += childToParent.cross(temp2.top); + return temp2;*/ } Cm::SpatialVectorF FeatherstoneArticulation::getDeltaVWithDeltaJV(const bool fixBase, const PxU32 linkID, @@ -1397,7 +1517,7 @@ namespace Dy { //velocity change //SpatialMatrix inverseArticulatedInertia = hLinkDatum.spatialArticulatedInertia.getInverse(); - const SpatialMatrix& inverseArticulatedInertia = data.mBaseInvSpatialArticulatedInertia; + const SpatialMatrix& inverseArticulatedInertia = data.mBaseInvSpatialArticulatedInertiaW; deltaV = inverseArticulatedInertia * (-Z[0]); } @@ -1406,8 +1526,8 @@ namespace Dy const PxU32 index = ArticulationLowestSetBit(i); ArticulationJointCoreData& tJointDatum = data.getJointData(index); PxReal* jVelocity = &jointVelocities[tJointDatum.jointOffset]; - deltaV = FeatherstoneArticulation::propagateVelocity(data.mChildToParent[index], data.mSpatialArticulatedInertia[index], - data.mInvStIs[index], data.mMotionMatrix[index], Z[index], jVelocity, deltaV); + deltaV = FeatherstoneArticulation::propagateVelocityW(data.mLinksData[index].rw, data.mWorldSpatialArticulatedInertia[index], + data.mInvStIs[index], data.mWorldMotionMatrix[index], Z[index], jVelocity, deltaV); } return deltaV; @@ -1421,15 +1541,15 @@ namespace Dy { //velocity change //SpatialMatrix inverseArticulatedInertia = hLinkDatum.spatialArticulatedInertia.getInverse(); - const SpatialMatrix& inverseArticulatedInertia = data.mBaseInvSpatialArticulatedInertia; + const SpatialMatrix& inverseArticulatedInertia = data.mBaseInvSpatialArticulatedInertiaW; deltaV = inverseArticulatedInertia * (-Z[0]); } for (ArticulationBitField i = data.getLink(linkID).pathToRoot - 1; i; i &= (i - 1)) { const PxU32 index = ArticulationLowestSetBit(i); - deltaV = FeatherstoneArticulation::propagateVelocityTestImpulse(data.mChildToParent[index], data.mSpatialArticulatedInertia[index], - data.mInvStIs[index], data.mMotionMatrix[index], Z[index], deltaV); + deltaV = FeatherstoneArticulation::propagateVelocityTestImpulseW(data.mLinksData[index].rw, data.mWorldSpatialArticulatedInertia[index], + data.mInvStIs[index], data.mWorldMotionMatrix[index], Z[index], deltaV); } return deltaV; @@ -1447,28 +1567,17 @@ namespace Dy for (PxU32 i = linkID; i; i = links[i].parent) { ArticulationLink& tLink = links[i]; - Z[tLink.parent] = FeatherstoneArticulation::propagateImpulse(data.mIsInvD[i], data.mChildToParent[i], - data.mMotionMatrix[i], Z[i]); + Z[tLink.parent] = FeatherstoneArticulation::propagateImpulseW(data.mIsInvDW[i], data.mLinksData[i].rw, + data.mWorldMotionMatrix[i], Z[i]); } } - //This method use in impulse self response. The input impulse is in the link space - Cm::SpatialVectorF FeatherstoneArticulation::getImpulseResponse( + Cm::SpatialVectorF FeatherstoneArticulation::getImpulseResponseW( const PxU32 linkID, - const bool fixBase, const ArticulationData& data, - Cm::SpatialVectorF* Z, const Cm::SpatialVectorF& impulse) { - PX_UNUSED(Z); - PX_UNUSED(fixBase); -#if 1 - return data.getImpulseResponseMatrix()[linkID].getResponse(impulse); -#else - getZ(linkID, data, Z, impulse); - - return getDeltaV(fixBase, linkID, data, Z); -#endif + return data.getImpulseResponseMatrixWorld()[linkID].getResponse(impulse); } //This method use in impulse self response. The input impulse is in the link space @@ -1538,7 +1647,7 @@ namespace Dy reinterpret_cast(deltaV1)); } - void getImpulseResponseSlow(Dy::ArticulationLink* links, + void FeatherstoneArticulation::getImpulseResponseSlow(Dy::ArticulationLink* links, const ArticulationData& data, PxU32 linkID0_, const Cm::SpatialVector& impulse0, @@ -1554,10 +1663,7 @@ namespace Dy PxU32 linkID0 = linkID0_; PxU32 linkID1 = linkID1_; - - const PxTransform& transform0 = data.getLink(linkID0_).bodyCore->body2World; - const PxTransform& transform1 = data.getLink(linkID1_).bodyCore->body2World; - + for (i0 = linkID0, i1 = linkID1; i0 != i1;) // find common path { if (i0 i0;) { //Dy::ArticulationLinkData& tLinkDatum = data.getLinkData(stack[index]); const PxU32 id = stack[index]; - dv1 = FeatherstoneArticulation::propagateVelocityTestImpulse(data.getChildToParent(id), data.getSpatialArticulatedInertia(id), - data.getInvStIs(id), data.getMotionMatrix(id), Z[id], dv1); + dv1 = FeatherstoneArticulation::propagateVelocityTestImpulseW(data.getLinkData(id).rw, data.getWorldSpatialArticulatedInertia(id), + data.getInvStIs(id), data.getWorldMotionMatrix(id), Z[id], dv1); } Cm::SpatialVectorF dv0= v; for (PxU32 index = i0; (index--) > 0;) { const PxU32 id = stack[index]; - dv0 = FeatherstoneArticulation::propagateVelocityTestImpulse(data.getChildToParent(id), data.getSpatialArticulatedInertia(id), - data.getInvStIs(id), data.getMotionMatrix(id), Z[id], dv0); + dv0 = FeatherstoneArticulation::propagateVelocityTestImpulseW(data.getLinkData(id).rw, data.getWorldSpatialArticulatedInertia(id), + data.getInvStIs(id), data.getWorldMotionMatrix(id), Z[id], dv0); } - deltaV0.linear = transform0.rotate(dv0.bottom); - deltaV0.angular = transform0.rotate(dv0.top); + deltaV0.linear = dv0.bottom; + deltaV0.angular = dv0.top; - deltaV1.linear = transform1.rotate(dv1.bottom); - deltaV1.angular = transform1.rotate(dv1.top); + deltaV1.linear = dv1.bottom; + deltaV1.angular = dv1.top; } void FeatherstoneArticulation::getImpulseSelfResponse(ArticulationLink* links, @@ -1631,55 +1737,160 @@ namespace Dy { ArticulationLink& link = links[linkID1]; +// if (link.parent == linkID0) +// { +// PX_ASSERT(linkID0 == link.parent); +// PX_ASSERT(linkID0 < linkID1); +// +// +// //impulse is in world space +// Cm::SpatialVectorF imp1; +// V4StoreA(impulse1.angular, &imp1.top.x); +// V4StoreA(impulse1.linear, &imp1.bottom.x); +// +// Cm::SpatialVectorF imp0; +// V4StoreA(impulse0.angular, &imp0.top.x); +// V4StoreA(impulse0.linear, &imp0.bottom.x); +// +// ArticulationLink& pLink = links[linkID0]; +// PxTransform& pBody2World = pLink.bodyCore->body2World; +// +// Cm::SpatialVectorF pImpulse(pBody2World.rotateInv(imp0.top), pBody2World.rotateInv(imp0.bottom)); +// +// PX_ASSERT(linkID0 == link.parent); +// +// PxTransform& body2World = link.bodyCore->body2World; +// +// //initialize child link spatial zero acceleration impulse +// Cm::SpatialVectorF Z1(-body2World.rotateInv(imp1.bottom), -body2World.rotateInv(imp1.top)); +// //this calculate parent link spatial zero acceleration impulse +// Cm::SpatialVectorF Z0 = FeatherstoneArticulation::propagateImpulse(data.mIsInvD[linkID1], data.mChildToParent[linkID1], +// data.getMotionMatrix(linkID1), Z1); +// +// //in parent space +// const Cm::SpatialVectorF impulseDif = pImpulse - Z0; +// +// //calculate velocity change start from the parent link to the root +// const Cm::SpatialVectorF delV0 = FeatherstoneArticulation::getImpulseResponse(linkID0, data.getArticulationFlags() & PxArticulationFlag::eFIX_BASE, data, Z, impulseDif); +// +// //calculate velocity change for child link +// const Cm::SpatialVectorF delV1 = FeatherstoneArticulation::propagateVelocityTestImpulse(data.mChildToParent[linkID1], +// data.mSpatialArticulatedInertia[linkID1], data.mInvStIs[linkID1], data.getMotionMatrix(linkID1), Z1, delV0); +// +// const PxVec3 lin0 = pBody2World.rotate(delV0.bottom); +// const PxVec3 ang0 = pBody2World.rotate(delV0.top); +// const PxVec3 lin1 = body2World.rotate(delV1.bottom); +// const PxVec3 ang1 = body2World.rotate(delV1.top); +// +// +// Cm::SpatialVectorF Z1W(-imp1.bottom, -imp1.top); +// +// Cm::SpatialVectorF Z0W = FeatherstoneArticulation::propagateImpulseW(data.mIsInvDW[linkID1], data.getLinkData(linkID1).rw, +// data.mWorldMotionMatrix[linkID1], Z1W); +// +// //in parent space +// const Cm::SpatialVectorF impulseDifW = imp0 - Z0W; +// +// //calculate velocity change start from the parent link to the root +// const Cm::SpatialVectorF delV0W = FeatherstoneArticulation::getImpulseResponseW(linkID0, data, impulseDifW); +// +// //calculate velocity change for child link +// const Cm::SpatialVectorF delV1W = FeatherstoneArticulation::propagateVelocityTestImpulseW(data.getLinkData(linkID1).rw, +// data.mWorldSpatialArticulatedInertia[linkID1], data.mInvStIsW[linkID1], data.mWorldMotionMatrix[linkID1], Z1W, delV0W); +// +// +// //translate delV0 and delV1 into world space again +// +// PX_ASSERT((lin0 - delV0W.bottom).magnitude() < 1e-4f); +// PX_ASSERT((ang0 - delV0W.top).magnitude() < 1e-4f); +// PX_ASSERT((lin1 - delV1W.bottom).magnitude() < 1e-4f); +// PX_ASSERT((ang1 - delV1W.top).magnitude() < 1e-4f); +// +// +//#if 1 +// deltaV0.linear = V3LoadU(lin0); +// deltaV0.angular = V3LoadU(ang0); +// deltaV1.linear = V3LoadU(lin1); +// deltaV1.angular = V3LoadU(ang1); +//#else +// deltaV0.linear = V3LoadA(delV0W.bottom); +// deltaV0.angular = V3LoadA(delV0W.top); +// deltaV1.linear = V3LoadA(delV1W.bottom); +// deltaV1.angular = V3LoadA(delV1W.top); +//#endif +// } + if (link.parent == linkID0) { PX_ASSERT(linkID0 == link.parent); PX_ASSERT(linkID0 < linkID1); - ArticulationLink& pLink = links[linkID0]; //impulse is in world space - Cm::SpatialVector imp1; - V3StoreU(impulse1.angular, imp1.angular); - V3StoreU(impulse1.linear, imp1.linear); + Cm::SpatialVectorF imp1; + V4StoreA(Vec4V_From_Vec3V(impulse1.angular), &imp1.bottom.x); + V4StoreA(Vec4V_From_Vec3V(impulse1.linear), &imp1.top.x); - Cm::SpatialVector imp0; - V3StoreU(impulse0.angular, imp0.angular); - V3StoreU(impulse0.linear, imp0.linear); + Cm::SpatialVectorF imp0; + V4StoreA(Vec4V_From_Vec3V(impulse0.angular), &imp0.bottom.x); + V4StoreA(Vec4V_From_Vec3V(impulse0.linear), &imp0.top.x); - PxTransform& pBody2World = pLink.bodyCore->body2World; + //ArticulationLink& pLink = links[linkID0]; + //PxTransform& pBody2World = pLink.bodyCore->body2World; - Cm::SpatialVectorF pImpulse(pBody2World.rotateInv(imp0.linear), pBody2World.rotateInv(imp0.angular)); + //Cm::SpatialVectorF pImpulse(pBody2World.rotateInv(imp0.top), pBody2World.rotateInv(imp0.bottom)); - PX_ASSERT(linkID0 == link.parent); + //PX_ASSERT(linkID0 == link.parent); - PxTransform& body2World = link.bodyCore->body2World; + //PxTransform& body2World = link.bodyCore->body2World; - //initialize child link spatial zero acceleration impulse - Cm::SpatialVectorF Z1(-body2World.rotateInv(imp1.linear), -body2World.rotateInv(imp1.angular)); - //this calculate parent link spatial zero acceleration impulse - Cm::SpatialVectorF Z0 = FeatherstoneArticulation::propagateImpulse(data.mIsInvD[linkID1], data.mChildToParent[linkID1], - data.getMotionMatrix(linkID1), Z1); + ////initialize child link spatial zero acceleration impulse + //Cm::SpatialVectorF Z1(-body2World.rotateInv(imp1.top), -body2World.rotateInv(imp1.bottom)); + ////this calculate parent link spatial zero acceleration impulse + //Cm::SpatialVectorF Z0 = FeatherstoneArticulation::propagateImpulse(data.mIsInvD[linkID1], data.mChildToParent[linkID1], + // data.getMotionMatrix(linkID1), Z1); - //in parent space - const Cm::SpatialVectorF impulseDif = pImpulse - Z0; + ////in parent space + //const Cm::SpatialVectorF impulseDif = pImpulse - Z0; - //calculate velocity change start from the parent link to the root - const Cm::SpatialVectorF delV0 = data.getImpulseResponseMatrix()[linkID0].getResponse(impulseDif); + ////calculate velocity change start from the parent link to the root + //const Cm::SpatialVectorF delV0 = FeatherstoneArticulation::getImpulseResponse(linkID0, data.getArticulationFlags() & PxArticulationFlag::eFIX_BASE, data, Z, impulseDif); - //calculate velocity change for child link - const Cm::SpatialVectorF delV1 = FeatherstoneArticulation::propagateVelocityTestImpulse(data.mChildToParent[linkID1], - data.mSpatialArticulatedInertia[linkID1], data.mInvStIs[linkID1], data.getMotionMatrix(linkID1), Z1, delV0); + ////calculate velocity change for child link + //const Cm::SpatialVectorF delV1 = FeatherstoneArticulation::propagateVelocityTestImpulse(data.mChildToParent[linkID1], + // data.mSpatialArticulatedInertia[linkID1], data.mInvStIs[linkID1], data.getMotionMatrix(linkID1), Z1, delV0); + ////translate delV0 and delV1 into world space again + //const PxVec3 lin0 = pBody2World.rotate(delV0.bottom); + //const PxVec3 ang0 = pBody2World.rotate(delV0.top); + //const PxVec3 lin1 = body2World.rotate(delV1.bottom); + //const PxVec3 ang1 = body2World.rotate(delV1.top); //translate delV0 and delV1 into world space again - const PxVec3 lin0 = pBody2World.rotate(delV0.bottom); - const PxVec3 ang0 = pBody2World.rotate(delV0.top); - const PxVec3 lin1 = body2World.rotate(delV1.bottom); - const PxVec3 ang1 = body2World.rotate(delV1.top); - - deltaV0.linear = V3LoadU(lin0); + /*deltaV0.linear = V3LoadU(lin0); deltaV0.angular = V3LoadU(ang0); deltaV1.linear = V3LoadU(lin1); - deltaV1.angular = V3LoadU(ang1); + deltaV1.angular = V3LoadU(ang1);*/ + + + Cm::SpatialVectorF Z1W(-imp1.top, -imp1.bottom); + + Cm::SpatialVectorF Z0W = FeatherstoneArticulation::propagateImpulseW(data.mIsInvDW[linkID1], data.getLinkData(linkID1).rw, + data.mWorldMotionMatrix[linkID1], Z1W); + + //in parent space + const Cm::SpatialVectorF impulseDifW = imp0 - Z0W; + + //calculate velocity change start from the parent link to the root + const Cm::SpatialVectorF delV0W = FeatherstoneArticulation::getImpulseResponseW(linkID0, data, impulseDifW); + + //calculate velocity change for child link + const Cm::SpatialVectorF delV1W = FeatherstoneArticulation::propagateVelocityTestImpulseW(data.getLinkData(linkID1).rw, + data.mWorldSpatialArticulatedInertia[linkID1], data.mInvStIs[linkID1], data.mWorldMotionMatrix[linkID1], Z1W, delV0W); + + deltaV0.linear = Vec3V_From_Vec4V(V4LoadA(&delV0W.bottom.x)); + deltaV0.angular = Vec3V_From_Vec4V(V4LoadA(&delV0W.top.x)); + deltaV1.linear = Vec3V_From_Vec4V(V4LoadA(&delV1W.bottom.x)); + deltaV1.angular = Vec3V_From_Vec4V(V4LoadA(&delV1W.top.x)); + } else { @@ -1885,34 +2096,6 @@ namespace Dy c.angularErrorScale = 0.f; } - PX_INLINE void computeJacobianAxes(PxVec3 row[3], const PxQuat& qa, const PxQuat& qb) - { - // Compute jacobian matrix for (qa* qb) [[* means conjugate in this expr]] - // d/dt (qa* qb) = 1/2 L(qa*) R(qb) (omega_b - omega_a) - // result is L(qa*) R(qb), where L(q) and R(q) are left/right q multiply matrix - - const PxReal wa = qa.w, wb = qb.w; - const PxVec3 va(qa.x, qa.y, qa.z), vb(qb.x, qb.y, qb.z); - - const PxVec3 c = vb*wa + va*wb; - const PxReal d0 = wa*wb; - const PxReal d1 = va.dot(vb); - const PxReal d = d0 - d1; - - row[0] = (va * vb.x + vb * va.x + PxVec3(d, c.z, -c.y)) * 0.5f; - row[1] = (va * vb.y + vb * va.y + PxVec3(-c.z, d, c.x)) * 0.5f; - row[2] = (va * vb.z + vb * va.z + PxVec3(c.y, -c.x, d)) * 0.5f; - - if ((d0 + d1) != 0.0f) // check if relative rotation is 180 degrees which can lead to singular matrix - return; - else - { - row[0].x += PX_EPS_F32; - row[1].y += PX_EPS_F32; - row[2].z += PX_EPS_F32; - } - } - bool FeatherstoneArticulation::storeStaticConstraint(const PxSolverConstraintDesc& desc) { mStaticConstraints.pushBack(desc); @@ -2087,10 +2270,18 @@ namespace Dy SetupSolverConstraintStep(shaderPrepDesc, prepDesc, blockAllocator, stepDt, totalDt, invStepDt, invTotalDt, lengthScale); - if (mArticulationData.mNbStaticConstraints[linkIndex] == 0) - mArticulationData.mStaticConstraintStartIndex[linkIndex] = i; - - mArticulationData.mNbStaticConstraints[linkIndex]++; + if (desc.constraint) + { + if (mArticulationData.mNbStaticConstraints[linkIndex] == 0) + mArticulationData.mStaticConstraintStartIndex[linkIndex] = i; + mArticulationData.mNbStaticConstraints[linkIndex]++; + } + else + { + //Shuffle down + mStaticConstraints.remove(i); + i--; + } } } @@ -2227,9 +2418,18 @@ namespace Dy SetupSolverConstraint(shaderPrepDesc, prepDesc, blockAllocator, dt, invDt, Z); - if (mArticulationData.mNbStaticConstraints[linkIndex] == 0) - mArticulationData.mStaticConstraintStartIndex[linkIndex] = i; - mArticulationData.mNbStaticConstraints[linkIndex]++; + if (desc.constraint) + { + if (mArticulationData.mNbStaticConstraints[linkIndex] == 0) + mArticulationData.mStaticConstraintStartIndex[linkIndex] = i; + mArticulationData.mNbStaticConstraints[linkIndex]++; + } + else + { + //Shuffle down + mStaticConstraints.remove(i); + i--; + } } } @@ -2241,17 +2441,20 @@ namespace Dy const bool fixBase, ArticulationData& data, Cm::SpatialVectorF* Z, + const PxReal stepDt, const PxReal dt, const PxReal invDt, const PxReal erp, const PxReal cfm, const bool isTGSSolver, - const PxU32 linkID) + const PxU32 linkID, + const PxReal maxForceScale) { const ArticulationLink& link = links[linkID]; ArticulationJointCoreData& jointDatum = data.getJointData(linkID); - PxReal* jPosition = &data.getJointPositions()[jointDatum.jointOffset]; + ArticulationJointTargetData& jointTranDatum = data.getJointTranData(linkID); + const PxReal* jPosition = &data.getJointPositions()[jointDatum.jointOffset]; PX_UNUSED(jPosition); const ArticulationLink& pLink = links[link.parent]; @@ -2262,7 +2465,7 @@ namespace Dy bool hasFriction = j.frictionCoefficient > 0.f; - const PxReal fCoefficient = j.frictionCoefficient * dt; + const PxReal fCoefficient = j.frictionCoefficient * stepDt; const PxU32 limitedRows = 2u * jointDatum.limitedAxes; @@ -2293,6 +2496,10 @@ namespace Dy const PxTransform cA2w = pLink.bodyCore->body2World.transform(j.parentPose); const PxTransform cB2w = link.bodyCore->body2World.transform(j.childPose); + + const PxQuat qB2qA = cA2w.q.getConjugate() * cB2w.q; + + PxU32 dofId = 0; PxU8 dofMask = 0; @@ -2300,13 +2507,13 @@ namespace Dy { if (j.motion[i] != PxArticulationMotion::eLOCKED) { - const bool hasDrive = (j.motion[i] != PxArticulationMotion::eLOCKED && j.drives[i].maxForce > 0.f && (j.drives[i].stiffness > 0.f || j.drives[i].damping > 0.f)); + const bool hasDrive = (j.motion[i] != PxArticulationMotion::eLOCKED && j.drives[i].driveType != PxArticulationDriveType::eNONE); if (j.motion[i] == PxArticulationMotion::eLIMITED || hasDrive || frictionRows) { dofMask |= (1 << dofId); //Impulse response vector and axes are common for all constraints on this axis besides locked axis!!! - const PxVec3 axis = link.bodyCore->body2World.rotate(data.mMotionMatrix[linkID][dofId].top); + const PxVec3 axis = data.mWorldMotionMatrix[linkID][dofId].top; Cm::SpatialVectorV deltaVA, deltaVB; FeatherstoneArticulation::getImpulseSelfResponse(links, fixBase, Z, data, @@ -2360,48 +2567,81 @@ namespace Dy if (hasDrive) { - const PxReal targetVelocity = jointDatum.targetJointVelocity[dofId]; - PxReal targetPos = jointDatum.targetJointPosition[dofId]; - //PxReal jointPos = jPosition[dofId]; + const PxReal targetVelocity = jointTranDatum.targetJointVelocity[dofId]; + PxReal targetPos = jointTranDatum.targetJointPosition[dofId]; + PxReal jointPos = jPosition[dofId]; //KS - clamp drive target within limits - no point in having 2 parts fight against each-other if (j.motion[i] == PxArticulationMotion::eLIMITED) targetPos = PxClamp(targetPos, j.limits[i].low, j.limits[i].high); - PxReal x = 0.f; + PxReal x = 0.f, x2 = 0.f; + + PxReal stiffness = j.drives[i].stiffness; + PxReal damping = j.drives[i].damping; + + PxArticulationDriveType::Enum type = j.drives[i].driveType; + + if (type == PxArticulationDriveType::eTARGET) + { + stiffness = 1e+25f; + damping = 0.f; + type = PxArticulationDriveType::eFORCE; + } + else if (type == PxArticulationDriveType::eVELOCITY) + { + damping = 1e+25f; + stiffness = 0.f; + type = PxArticulationDriveType::eFORCE; + } + + const PxReal a = dt * (dt*stiffness + damping); + const PxReal b = dt * (damping * targetVelocity + stiffness * (targetPos - jointPos)); + const PxReal a2 = stepDt*(stepDt*stiffness + damping); - switch (j.drives[i].driveType) + PxReal vm2 = 0.f; + + switch (type) { case PxArticulationDriveType::eFORCE: { - const PxReal a = dt * dt * j.drives[i].stiffness + dt * j.drives[i].damping; - const PxReal b = dt * (j.drives[i].damping * targetVelocity /*+ j.drives[i].stiffness * (targetPos - jointPos)*/); + x = unitResponse > 0.f ? 1.0f / (1.0f + a*unitResponse) : 0.f; + x2 = unitResponse > 0.f ? 1.f/(1.f + a2*unitResponse) : 0.f; constraints->driveTargetVel = x * b; - constraints->driveBiasCoefficient = x*j.drives[i].stiffness*dt; - constraints->driveVelMultiplier = -x*a; + vm2 = x2*a2; break; } + case PxArticulationDriveType::eACCELERATION: { - const PxReal a = dt * dt * j.drives[i].stiffness + dt * j.drives[i].damping; - const PxReal b = dt * (j.drives[i].damping * targetVelocity /*+ j.drives[i].stiffness * (targetPos - jointPos)*/); x = 1.0f / (1.0f + a); + x2 = 1.f / (1.f + a2); constraints->driveTargetVel = x * b*recipResponse; - constraints->driveBiasCoefficient = x*j.drives[i].stiffness*dt*recipResponse; constraints->driveVelMultiplier = -x*a*recipResponse; - + vm2 = x2*a2*recipResponse; break; } + //KS - this is required to avoid a warning on Linux + case PxArticulationDriveType::eTARGET: + case PxArticulationDriveType::eVELOCITY: + case PxArticulationDriveType::eNONE: + break; + } //constraints->driveBiasCoefficient = 0.f;//recipResponse * invDt; - constraints->driveTarget = targetPos; - constraints->driveImpulseMultiplier = isTGSSolver ? 1.f : 1.0f - x; - constraints->maxDriveForce = j.drives[i].maxForce;// *dt; + const PxReal im = 1.0f - x; + const PxReal im2 = 1.0f - x2; + constraints->driveBiasCoefficient = 0.f;//invDt*erp*im2*recipResponse; + constraints->driveTarget = jointPos; + //constraints->driveTarget = targetPos; + constraints->driveImpulseMultiplier = /*isTGSSolver ? 1.f :*/ im; + constraints->maxDriveForce = j.drives[i].maxForce* maxForceScale;// *dt; constraints->driveForce = 0.f; + constraints->driveBackPropagateScale = vm2*unitResponse*im2*erp; //*vm2; } else { @@ -2412,6 +2652,7 @@ namespace Dy constraints->driveImpulseMultiplier = 0.f; constraints->maxDriveForce = 0.f; constraints->driveForce = 0.f; + constraints->driveBackPropagateScale = 0.f; } } dofId++; @@ -2429,7 +2670,7 @@ namespace Dy dofMask |= (1 << dofId); //Impulse response vector and axes are common for all constraints on this axis besides locked axis!!! - const PxVec3 axis = link.bodyCore->body2World.rotate(data.mMotionMatrix[linkID][dofId].bottom); + const PxVec3 axis = data.mWorldMotionMatrix[linkID][dofId].bottom; const PxVec3 ang0 = (cA2w.p - pLink.bodyCore->body2World.p).cross(axis); const PxVec3 ang1 = (cB2w.p - link.bodyCore->body2World.p).cross(axis); @@ -2472,781 +2713,113 @@ namespace Dy constraints->frictionForce = 0.f; constraints->maxFrictionForce = hasFriction ? transmissionForce : 0.f; - constraints->frictionForceCoefficient = isTGSSolver ? 0.f : 1.f; - - if (j.motion[i] == PxArticulationMotion::eLIMITED) - { - constraints->lowLimit = j.limits[i].low; - constraints->highLimit = j.limits[i].high; - } - else - { - constraints->lowLimit = -PX_MAX_F32; - constraints->highLimit = PX_MAX_F32; - } - - if (hasDrive) - { - const PxReal targetVelocity = -jointDatum.targetJointVelocity[dofId]; - PxReal targetPos = jointDatum.targetJointPosition[dofId]; - PxReal jointPos = jPosition[dofId]; - - //KS - clamp drive target within limits - no point in having 2 parts fight against each-other - if (j.motion[i] == PxArticulationMotion::eLIMITED) - targetPos = PxClamp(targetPos, j.limits[i].low, j.limits[i].high); - - PxReal x = 0.f; - - switch (j.drives[i].driveType) - { - case PxArticulationDriveType::eFORCE: - { - const PxReal a = dt * dt * j.drives[i].stiffness + dt * j.drives[i].damping; - const PxReal b = dt * (j.drives[i].damping * targetVelocity + j.drives[i].stiffness * (targetPos - jointPos)); - x = unitResponse > 0.f ? 1.0f / (1.0f + a*unitResponse) : 0.f; - constraints->driveTargetVel = x * b; - //constraints->driveBiasCoefficient = x*j.drives[i].stiffness*dt; - - constraints->driveVelMultiplier = -x*a; - break; - } - case PxArticulationDriveType::eACCELERATION: - { - const PxReal a = dt * dt * j.drives[i].stiffness + dt * j.drives[i].damping; - const PxReal b = dt * (j.drives[i].damping * targetVelocity + j.drives[i].stiffness * (targetPos - jointPos)); - x = 1.0f / (1.0f + a); - constraints->driveTargetVel = x * b*recipResponse; - //constraints->driveBiasCoefficient = x*j.drives[i].stiffness*dt*recipResponse; - constraints->driveVelMultiplier = -x*a*recipResponse; - - break; - } - } - - constraints->driveBiasCoefficient = invDt*recipResponse; - constraints->driveTarget = jointPos; - constraints->driveImpulseMultiplier = isTGSSolver ? 1.f : 1.0f - x; - constraints->maxDriveForce = j.drives[i].maxForce;// *dt; - constraints->driveForce = 0.f; - } - else - { - constraints->driveTargetVel = 0.f; - constraints->driveTarget = 0.f; - constraints->driveBiasCoefficient = 0.f; - constraints->driveVelMultiplier = 0.f; - constraints->driveImpulseMultiplier = 0.f; - constraints->maxDriveForce = 0.f; - constraints->driveForce = 0.f; - } - } - dofId++; - } - } - - if (jointDatum.lockedAxes) - { - const PxQuat qB2qA = cA2w.q.getConjugate() * cB2w.q; - PxVec3 row[3]; - computeJacobianAxes(row, cA2w.q, cB2w.q); - - PxReal err[] = { -qB2qA.x, -qB2qA.y, -qB2qA.z }; - - for (PxU32 i = PxArticulationAxis::eTWIST; i <= PxArticulationAxis::eSWING2; ++i) - { - //Get axis, then add lock constraint... - if (j.motion[i] == PxArticulationMotion::eLOCKED) - { - const PxVec3 axis = row[i]; - PxReal error = err[i]; - - Cm::SpatialVectorV deltaVA, deltaVB; - FeatherstoneArticulation::getImpulseSelfResponse(links, fixBase, Z, data, - links[linkID].parent, Cm::SpatialVector(PxVec3(0), axis), deltaVA, - linkID, Cm::SpatialVector(PxVec3(0), -axis), deltaVB); - - const Cm::SpatialVector& deltaV0 = unsimdRef(deltaVA); - const Cm::SpatialVector& deltaV1 = unsimdRef(deltaVB); - - const PxReal r0 = deltaV0.angular.dot(axis); - const PxReal r1 = deltaV1.angular.dot(axis); - - const PxReal unitResponse = r0 - r1; - - const PxReal recipResponse = unitResponse > DY_ARTICULATION_MIN_RESPONSE ? 1.0f / (cfm+unitResponse) : 0.0f; - - const PxU32 count = data.mInternalLockedAxes.size(); - data.mInternalLockedAxes.forceSize_Unsafe(count + 1); - ArticulationInternalLockedAxis* locks = &data.mInternalLockedAxes[count]; - - locks->axis = axis; - locks->deltaVA.top = unsimdRef(deltaVA).angular; - locks->deltaVA.bottom = unsimdRef(deltaVA).linear; - locks->deltaVB.top = unsimdRef(deltaVB).angular; - locks->deltaVB.bottom = unsimdRef(deltaVB).linear; - locks->recipResponse = recipResponse; - locks->error = error; - locks->biasScale = invDt*erp;//*0.7f; - } - } - } - jointDatum.dofInternalConstraintMask = dofMask; - } - - for (ArticulationBitField children = link.children; children != 0; children &= (children - 1)) - { - //index of child of link h on path to link linkID - const PxU32 child = ArticulationLowestSetBit(children); - - setupInternalConstraintsRecursive(links, linkCount, fixBase, data, Z, dt, invDt, erp, cfm, isTGSSolver, child); - - } - } - - - void FeatherstoneArticulation::setupInternalConstraints( - ArticulationLink* links, - const PxU32 linkCount, - const bool fixBase, - ArticulationData& data, - Cm::SpatialVectorF* Z, - PxReal dt, - PxReal invDt, - PxReal erp, - bool isTGSSolver) - { - PX_UNUSED(linkCount); - - const PxReal cfm = DY_ARTICULATION_CFM; - - data.mInternalConstraints.forceSize_Unsafe(0); - data.mInternalConstraints.reserve(data.getDofs()); - - data.mInternalLockedAxes.forceSize_Unsafe(0); - data.mInternalLockedAxes.reserve(data.getLocks()); - - for (ArticulationBitField children = links[0].children; children != 0; children &= (children - 1)) - { - //index of child of link h on path to link linkID - const PxU32 child = ArticulationLowestSetBit(children); - - setupInternalConstraintsRecursive(links, linkCount, fixBase, data, Z, dt, invDt, erp, cfm, isTGSSolver, child); - - } - } - - -#if 1 - - PxU32 FeatherstoneArticulation::setupSolverConstraints( - ArticulationLink* links, - const PxU32 linkCount, - const bool fixBase, - ArticulationData& data, - Cm::SpatialVectorF* Z, - PxU32& acCount) - { - acCount = 0; - - setupInternalConstraints(links, linkCount, fixBase, data, Z, data.getDt(), 1.f / data.getDt(), 1.f, false); - - return 0; - } - -#else - - PxU32 FeatherstoneArticulation::setupSolverConstraints( - PxConstraintAllocator& allocator, - PxSolverConstraintDesc* constraintDesc, - ArticulationLink* links, - const PxU32 linkCount, - const bool fixBase, - ArticulationData& data, - Cm::SpatialVectorF* Z, - PxU32& acCount) - { - PX_PROFILE_ZONE("Articulations:setupSolverConstraints", 0); - acCount = 0; - - const PxReal dt = data.getDt(); - PxU32 descCount = 0; - const PxReal recipDt = 1.0f / dt; - - const PxConstraintInvMassScale ims(1.0f, 1.0f, 1.0f, 1.0f); - - Cm::SpatialVectorF* jointTransmittedForce = data.getTransmittedForces(); - PxReal* jointPositions = data.getJointPositions(); - - for (PxU16 linkID = 1; linkID < linkCount; linkID++) - { - const ArticulationLink& link = links[linkID]; - - const ArticulationJointCoreData& jointDatum = data.getJointData(linkID); - PxReal* jPosition = &jointPositions[jointDatum.jointOffset]; - PX_UNUSED(jPosition); - - const ArticulationLink& pLink = links[link.parent]; - - const ArticulationJointCore& j = *link.inboundJoint; - - //const bool jointDrive = (j.driveType != PxArticulationJointDriveType::eNONE); - - bool hasFriction = j.frictionCoefficient > 0.f; - - const PxReal fCoefficient = j.frictionCoefficient * dt; - const PxReal transmissionForce = jointTransmittedForce[linkID].magnitude() * fCoefficient; - - const PxU32 limitedRows = 2u * jointDatum.limitedAxes; - - PxU8 lockedAxes = jointDatum.lockedAxes; - - - PxU8 driveRows = 0; - - for (PxU32 i = 0; i < PxArticulationAxis::eCOUNT; ++i) - { - if (j.motion[i] != PxArticulationMotion::eLOCKED && j.drives[i].maxForce > 0.f && (j.drives[i].stiffness > 0.f || j.drives[i].damping > 0.f)) - driveRows++; - } - - PxU8 frictionRows = hasFriction ? jointDatum.dof : PxU8(0); - - const PxU8 constraintCount = PxU8(limitedRows + driveRows + frictionRows + lockedAxes); - if (!constraintCount) - continue; - - const PxTransform cA2w = pLink.bodyCore->body2World.transform(j.parentPose); - const PxTransform cB2w = link.bodyCore->body2World.transform(j.childPose); - - PxSolverConstraintDesc& desc = constraintDesc[descCount++]; - - desc.articulationA = data.getArticulation(); - desc.linkIndexA = Ps::to16(links[linkID].parent); - desc.articulationALength = Ps::to16(data.getSolverDataSize()); - - desc.articulationB = data.getArticulation(); - desc.linkIndexB = linkID; - desc.articulationBLength = Ps::to16(data.getSolverDataSize()); - - const PxU32 constraintLength = sizeof(SolverConstraint1DHeader) + - sizeof(SolverConstraint1DExt) * constraintCount; - - PX_ASSERT(0 == (constraintLength & 0x0f)); - desc.constraintLengthOver16 = Ps::to16(constraintLength / 16); - - desc.constraint = allocator.reserveConstraintData(constraintLength + 16u); - - desc.writeBack = NULL; - - SolverConstraint1DHeader* header = reinterpret_cast(desc.constraint); - SolverConstraint1DExt* constraints = reinterpret_cast(desc.constraint + sizeof(SolverConstraint1DHeader)); - - init(*header, constraintCount, true, ims); - - PxU32 cIndex = 0; - - - PxU32 dofId = 0; - - for (PxU32 i = 0; i < PxArticulationAxis::eX; ++i) - { - if (j.motion[i] != PxArticulationMotion::eLOCKED) - { - bool hasDrive = (j.motion[i] != PxArticulationMotion::eLOCKED && j.drives[i].maxForce > 0.f && (j.drives[i].stiffness > 0.f || j.drives[i].damping > 0.f)); - - if (j.motion[i] == PxArticulationMotion::eLIMITED || hasDrive || frictionRows) - { - //Impulse response vector and axes are common for all constraints on this axis besides locked axis!!! - const PxVec3 axis = link.bodyCore->body2World.rotate(jointDatum.motionMatrix[dofId].top); - - Cm::SpatialVectorV deltaVA, deltaVB; - FeatherstoneArticulation::getImpulseSelfResponse(links, fixBase, Z, data, - links[linkID].parent, Cm::SpatialVector(PxVec3(0), axis), deltaVA, - linkID, Cm::SpatialVector(PxVec3(0), -axis), deltaVB); - - //Now add in friction rows, then limit rows, then drives... - - PxReal unitResponse = unsimdRef(deltaVA).angular.dot(axis) - unsimdRef(deltaVB).angular.dot(axis); - - const PxReal recipResponse = unitResponse> DY_ARTICULATION_MIN_RESPONSE ? 1.0f / unitResponse : 0.0f; - - - if (frictionRows) - { - Dy::SolverConstraint1DExt& frictionRow = constraints[cIndex]; - cIndex++; - - frictionRow.lin0 = PxVec3(0.f); - frictionRow.lin1 = PxVec3(0.f); - frictionRow.ang0 = axis; - frictionRow.ang1 = axis; - - createDriveOrLimit(frictionRow, 0.f, -transmissionForce, transmissionForce, false, false, - deltaVA, deltaVB, recipResponse); - } - - if (j.motion[i] == PxArticulationMotion::eLIMITED) - { - const PxReal jointPos = data.mJointPosition[jointDatum.jointOffset + dofId]; - const PxReal lowLimit = j.limits[i].low; - const PxReal highLimit = j.limits[i].high; - - createHardLimits(constraints[cIndex], constraints[cIndex + 1], -axis, jointPos - lowLimit, - highLimit - jointPos, recipDt, -deltaVA, -deltaVB, recipResponse); - cIndex += 2; - } - - if (hasDrive) - { - PxReal targetVelocity = jointDatum.targetJointVelocity[dofId]; - PxReal targetPos = jointDatum.targetJointPosition[dofId]; - const PxReal jointPos = -data.mJointPosition[jointDatum.jointOffset + dofId]; - - Dy::SolverConstraint1DExt& c = constraints[cIndex++]; - - c.lin0 = PxVec3(0); - c.lin1 = PxVec3(0); - c.ang0 = axis; - c.ang1 = axis; - - createSpringDrive(c, jointPos + targetPos, -targetVelocity, j.drives[i].maxForce, - j.drives[i].stiffness, j.drives[i].damping, dt, deltaVA, deltaVB, unitResponse); - } - - - - } - dofId++; - } - - } - - for (PxU32 i = PxArticulationAxis::eX; i < PxArticulationAxis::eCOUNT; ++i) - { - if (j.motion[i] != PxArticulationMotion::eLOCKED) - { - bool hasDrive = (j.motion[i] != PxArticulationMotion::eLOCKED && j.drives[i].maxForce > 0.f && (j.drives[i].stiffness > 0.f || j.drives[i].damping > 0.f)); - - if (j.motion[i] == PxArticulationMotion::eLIMITED || hasDrive || frictionRows) - { - - - //Impulse response vector and axes are common for all constraints on this axis besides locked axis!!! - const PxVec3 axis = link.bodyCore->body2World.rotate(jointDatum.motionMatrix[dofId].bottom); - const PxVec3 ang0 = (cA2w.p - pLink.bodyCore->body2World.p).cross(axis); - const PxVec3 ang1 = (cB2w.p - pLink.bodyCore->body2World.p).cross(axis); - - Cm::SpatialVectorV deltaVA, deltaVB; - FeatherstoneArticulation::getImpulseSelfResponse(links, fixBase, Z, data, - links[linkID].parent, Cm::SpatialVector(axis, ang0), deltaVA, - linkID, Cm::SpatialVector(-axis, -ang1), deltaVB); - - //Now add in friction rows, then limit rows, then drives... - - PxReal unitResponse = unsimdRef(deltaVA).linear.dot(axis) + unsimdRef(deltaVA).angular.dot(ang0) - unsimdRef(deltaVB).linear.dot(axis) - - unsimdRef(deltaVB).angular.dot(ang1); - - const PxReal recipResponse = unitResponse> DY_ARTICULATION_MIN_RESPONSE ? 1.0f / unitResponse : 0.0f; - - - if (frictionRows) - { - Dy::SolverConstraint1DExt& frictionRow = constraints[cIndex]; - cIndex++; - - frictionRow.lin0 = axis; - frictionRow.lin1 = axis; - frictionRow.ang0 = ang0; - frictionRow.ang1 = ang1; - - createDriveOrLimit(frictionRow, 0.f, -transmissionForce, transmissionForce, false, false, - deltaVA, deltaVB, recipResponse); - } - - if (j.motion[i] == PxArticulationMotion::eLIMITED) - { - //Do linear limits... - const PxReal jointPos = data.mJointPosition[jointDatum.jointOffset + dofId]; - const PxReal lowLimit = j.limits[i].low; - const PxReal highLimit = j.limits[i].high; - - Dy::SolverConstraint1DExt* prismaticRows = &constraints[cIndex]; - cIndex += 2; - - prismaticRows[0].lin0 = -axis; - prismaticRows[0].lin1 = -axis; - prismaticRows[0].ang0 = -ang0; - prismaticRows[0].ang1 = -ang1; - prismaticRows[1].lin0 = axis; - prismaticRows[1].lin1 = axis; - prismaticRows[1].ang0 = ang0; - prismaticRows[1].ang1 = ang1; - - createDriveOrLimit(prismaticRows[0], (jointPos - lowLimit)*recipDt, 0.f, PX_MAX_F32, false, true, -deltaVA, -deltaVB, recipResponse); - createDriveOrLimit(prismaticRows[1], (highLimit - jointPos)*recipDt, 0.f, PX_MAX_F32, false, true, deltaVA, deltaVB, recipResponse); - - } - - if (hasDrive) - { - PxReal targetVelocity = jointDatum.targetJointVelocity[dofId]; - PxReal targetPos = jointDatum.targetJointPosition[dofId]; - const PxReal jointPos = -data.mJointPosition[jointDatum.jointOffset + dofId]; - - Dy::SolverConstraint1DExt& c = constraints[cIndex++]; - - c.lin0 = axis; - c.lin1 = axis; - c.ang0 = ang0; - c.ang1 = ang1; - - createSpringDrive(c, jointPos + targetPos, -targetVelocity, j.drives[i].maxForce, - j.drives[i].stiffness, j.drives[i].damping, dt, -deltaVA, -deltaVB, unitResponse); - } - - - } - - dofId++; - } - } - - if (lockedAxes) - { - const PxQuat qB2qA = cA2w.q.getConjugate() * cB2w.q; - PxVec3 row[3]; - computeJacobianAxes(row, cA2w.q, cB2w.q); - - PxReal err[] = { -qB2qA.x, -qB2qA.y, -qB2qA.z }; - - for (PxU32 i = PxArticulationAxis::eTWIST; i <= PxArticulationAxis::eSWING2; ++i) - { - //Get axis, then add lock constraint... - if (j.motion[i] == PxArticulationMotion::eLOCKED) - { - const PxVec3 axis = row[i]; - PxReal error = err[i]; - Dy::SolverConstraint1DExt& lockRow = constraints[cIndex]; - cIndex++; - - //const PxVec3 axis = link.bodyCore->body2World.rotate(jointDatum.motionMatrix[i].top); - - lockRow.lin0 = PxVec3(0.f); - lockRow.lin1 = PxVec3(0.f); - lockRow.ang0 = axis; - lockRow.ang1 = axis; - - Cm::SpatialVectorV deltaVA, deltaVB; - FeatherstoneArticulation::getImpulseSelfResponse(links, fixBase, Z, data, - links[linkID].parent, Cm::SpatialVector(PxVec3(0), axis), deltaVA, - linkID, Cm::SpatialVector(PxVec3(0), -axis), deltaVB); - - //Now add in friction rows, then limit rows, then drives... - - PxReal unitResponse = unsimdRef(deltaVA).angular.dot(axis) - unsimdRef(deltaVB).angular.dot(axis); - - const PxReal recipResponse = unitResponse > DY_ARTICULATION_MIN_RESPONSE ? 1.0f / unitResponse : 0.0f; - - - createDriveOrLimit(lockRow, error*recipDt, -PX_MAX_F32, PX_MAX_F32, false, false, deltaVA, deltaVB, recipResponse); - } - } - } - - - *(desc.constraint + getConstraintLength(desc)) = 0; - - PX_ASSERT(cIndex == constraintCount); - acCount += constraintCount; - } - - return descCount; - } - -#endif - -#if 0 - - static PxU32 getConstraintLength(const PxSolverConstraintDesc& desc) - { - return PxU32(desc.constraintLengthOver16 << 4); - } - - - PxU32 FeatherstoneArticulation::setupSolverConstraintsTGS(const ArticulationSolverDesc& articDesc, - PxcConstraintBlockStream& stream, - PxSolverConstraintDesc* constraintDesc, - PxReal dt, - PxReal invDt, - PxReal totalDt, - PxU32& acCount, - PxsConstraintBlockManager& constraintBlockManager, - Cm::SpatialVectorF* Z) - { - - PX_PROFILE_ZONE("Articulations:setupSolverConstraintsTGS", 0); - FeatherstoneArticulation* articulation = static_cast(articDesc.articulation); - ArticulationData& data = articulation->mArticulationData; - - const PxU32 solverDataSize = articDesc.solverDataSize; - - PX_UNUSED(dt); - acCount = 0; - - const bool fixBase = data.getCore()->flags & PxArticulationFlag::eFIX_BASE; - - const PxU32 linkCount = data.getLinkCount(); - ArticulationLink* links = data.getLinks(); - //ArticulationLinkData* linkData = data.getLinkData(); - ArticulationJointCoreData* jointData = data.getJointData(); - PxU32 descCount = 0; - const PxReal recipDt = invDt; - - const PxConstraintInvMassScale ims(1.0f, 1.0f, 1.0f, 1.0f); - - - Cm::SpatialVectorF* jointTransmittedForce = data.getTransmittedForces(); - - //for (PxU16 linkID = PxU16(linkCount-1); linkID>=1; linkID--) - for (PxU16 linkID = 1; linkID < linkCount; linkID++) - { - const ArticulationLink& link = links[linkID]; - //const ArticulationLinkData& linkDatum = linkData[linkID]; - const ArticulationJointCoreData& jointDatum = data.getJointData(linkID); - const ArticulationLink& pLink = links[link.parent]; - - const ArticulationJointCore& j = static_cast(*links[linkID].inboundJoint); - - //const bool jointDrive = (j.driveType != PxArticulationJointDriveType::eNONE); - - bool hasFriction = j.frictionCoefficient > 0.f; - - const PxReal fCoefficient = j.frictionCoefficient * dt; - const PxReal transmissionForce = jointTransmittedForce[linkID].magnitude() * fCoefficient; - - PxU32 limitedRows = jointDatum.limitedAxes * 2u; - - PxU8 driveRows = 0; - - for (PxU32 i = 0; i < PxArticulationAxis::eCOUNT; ++i) - { - if (j.motion[i] != PxArticulationMotion::eLOCKED && j.drives[i].maxForce > 0.f && (j.drives[i].stiffness > 0.f || j.drives[i].damping > 0.f)) - driveRows++; - } - - PxU8 frictionRows = hasFriction ? PxU8(jointData[linkID].dof) : PxU8(0); - - PxU32 lockedAxes = jointDatum.lockedAxes; - - - const PxU8 constraintCount = PxU8(limitedRows + driveRows + frictionRows + lockedAxes); - if (!constraintCount) - continue; - - const PxTransform cA2w = pLink.bodyCore->body2World.transform(j.parentPose); - const PxTransform cB2w = link.bodyCore->body2World.transform(j.childPose); - - //const PxTransform cB2cA = cA2w.transformInv(cB2w); - - PxSolverConstraintDesc& desc = constraintDesc[descCount++]; - - desc.articulationA = articulation; - desc.linkIndexA = Ps::to16(links[linkID].parent); - desc.articulationALength = Ps::to16(solverDataSize); - - desc.articulationB = articulation; - desc.linkIndexB = linkID; - desc.articulationBLength = Ps::to16(solverDataSize); - - const PxU32 constraintLength = sizeof(SolverConstraint1DHeaderStep) + - sizeof(SolverConstraint1DExtStep) * constraintCount; - - PX_ASSERT(0 == (constraintLength & 0x0f)); - desc.constraintLengthOver16 = Ps::to16(constraintLength / 16); - - desc.constraint = stream.reserve(constraintLength + 16u, constraintBlockManager); - - desc.writeBack = NULL; - - SolverConstraint1DHeaderStep* header = reinterpret_cast(desc.constraint); - SolverConstraint1DExtStep* constraints = reinterpret_cast(desc.constraint + sizeof(SolverConstraint1DHeaderStep)); - - init(*header, constraintCount, true, 0.f, ims); - - header->rAWorld = cA2w.p - pLink.bodyCore->body2World.p; - header->rBWorld = cB2w.p - link.bodyCore->body2World.p; - header->rALocal = j.parentPose.p; - header->rBLocal = j.childPose.p; - - PxU32 cIndex = 0; - - PxU32 dofId = 0; - - for (PxU32 i = 0; i < PxArticulationAxis::eX; ++i) - { - if (j.motion[i] != PxArticulationMotion::eLOCKED) - { - bool hasDrive = (j.motion[i] != PxArticulationMotion::eLOCKED && j.drives[i].maxForce > 0.f && (j.drives[i].stiffness > 0.f || j.drives[i].damping > 0.f)); - - if (j.motion[i] == PxArticulationMotion::eLIMITED || hasDrive || frictionRows) - { - //Impulse response vector and axes are common for all constraints on this axis besides locked axis!!! - const PxVec3 axis = link.bodyCore->body2World.rotate(jointDatum.motionMatrix[dofId].top); - - Cm::SpatialVectorV deltaVA, deltaVB; - FeatherstoneArticulation::getImpulseSelfResponse(links, fixBase, Z, data, - links[linkID].parent, Cm::SpatialVector(PxVec3(0), axis), deltaVA, - linkID, Cm::SpatialVector(PxVec3(0), -axis), deltaVB); - - //Now add in friction rows, then limit rows, then drives... - - PxReal unitResponse = unsimdRef(deltaVA).angular.dot(axis) - unsimdRef(deltaVB).angular.dot(axis); - - const PxReal recipResponse = unitResponse > DY_ARTICULATION_MIN_RESPONSE ? 1.0f / unitResponse : 0.0f; - - - if (frictionRows) - { - Dy::SolverConstraint1DExtStep& frictionRow = constraints[cIndex]; - cIndex++; - - frictionRow.lin0 = PxVec3(0.f); - frictionRow.lin1 = PxVec3(0.f); - frictionRow.ang0 = axis; - frictionRow.ang1 = axis; - - - createDriveOrLimit(frictionRow, 0.f, -transmissionForce, transmissionForce, false, 0.f, 0.f, 0.f, false, - deltaVA, deltaVB, recipResponse); - } - - if (j.motion[i] == PxArticulationMotion::eLIMITED) - { - const PxReal jointPos = data.mJointPosition[jointDatum.jointOffset + dofId]; - const PxReal lowLimit = j.limits[i].low; - const PxReal highLimit = j.limits[i].high; - - articulation->createHardLimitTGS(constraints[cIndex++], -axis, jointPos - lowLimit, recipDt, -deltaVA, -deltaVB, recipResponse); - articulation->createHardLimitTGS(constraints[cIndex++], axis, highLimit - jointPos, recipDt, deltaVA, deltaVB, recipResponse); - } - - if (hasDrive) - { - PxReal targetVelocity = jointDatum.targetJointVelocity[dofId]; - PxReal targetPos = jointDatum.targetJointPosition[dofId]; - const PxReal jointPos = data.mJointPosition[jointDatum.jointOffset + dofId]; - - Dy::SolverConstraint1DExtStep& c = constraints[cIndex++]; - - c.lin0 = PxVec3(0); - c.lin1 = PxVec3(0); - c.ang0 = axis; - c.ang1 = axis; - - createSpringDrive(c, targetPos - jointPos, -targetVelocity, j.drives[i].maxForce, - j.drives[i].stiffness, j.drives[i].damping, dt, totalDt, deltaVA, deltaVB, unitResponse); - } - - - - } - dofId++; - } - } - - for (PxU32 i = PxArticulationAxis::eX; i < PxArticulationAxis::eCOUNT; ++i) - { - if (j.motion[i] != PxArticulationMotion::eLOCKED) - { - bool hasDrive = (j.motion[i] != PxArticulationMotion::eLOCKED && j.drives[i].maxForce > 0.f && (j.drives[i].stiffness > 0.f || j.drives[i].damping > 0.f)); - - if (j.motion[i] == PxArticulationMotion::eLIMITED || hasDrive || frictionRows) - { - - - //Impulse response vector and axes are common for all constraints on this axis besides locked axis!!! - const PxVec3 axis = link.bodyCore->body2World.rotate(jointDatum.motionMatrix[dofId].bottom); - const PxVec3 ang0 = (cA2w.p - pLink.bodyCore->body2World.p).cross(axis); - const PxVec3 ang1 = (cB2w.p - pLink.bodyCore->body2World.p).cross(axis); - - Cm::SpatialVectorV deltaVA, deltaVB; - FeatherstoneArticulation::getImpulseSelfResponse(links, fixBase, Z, data, - links[linkID].parent, Cm::SpatialVector(axis, ang0), deltaVA, - linkID, Cm::SpatialVector(-axis, -ang1), deltaVB); - - //Now add in friction rows, then limit rows, then drives... - - PxReal unitResponse = unsimdRef(deltaVA).linear.dot(axis) + unsimdRef(deltaVA).angular.dot(ang0) - unsimdRef(deltaVB).linear.dot(axis) - - unsimdRef(deltaVB).angular.dot(ang1); - - const PxReal recipResponse = unitResponse> DY_ARTICULATION_MIN_RESPONSE ? 1.0f / unitResponse : 0.0f; - - - if (frictionRows) - { - Dy::SolverConstraint1DExtStep& frictionRow = constraints[cIndex]; - cIndex++; - - frictionRow.lin0 = axis; - frictionRow.lin1 = axis; - frictionRow.ang0 = ang0; - frictionRow.ang1 = ang1; - - createDriveOrLimit(frictionRow, 0.f, -transmissionForce, transmissionForce, false, 0.f, 0.f, 0.f, false, - deltaVA, deltaVB, recipResponse); - } + constraints->frictionForceCoefficient = isTGSSolver ? 0.f : 1.f; if (j.motion[i] == PxArticulationMotion::eLIMITED) { - //Do linear limits... - const PxReal jointPos = data.mJointPosition[jointDatum.jointOffset + dofId]; - const PxReal lowLimit = j.limits[i].low; - const PxReal highLimit = j.limits[i].high; - - Dy::SolverConstraint1DExtStep* prismaticRows = &constraints[cIndex]; - cIndex += 2; - - prismaticRows[0].lin0 = -axis; - prismaticRows[0].lin1 = -axis; - prismaticRows[0].ang0 = -ang0; - prismaticRows[0].ang1 = -ang1; - prismaticRows[1].lin0 = axis; - prismaticRows[1].lin1 = axis; - prismaticRows[1].ang0 = ang0; - prismaticRows[1].ang1 = ang1; - - createDriveOrLimit(prismaticRows[0], (jointPos - lowLimit), 0.f, PX_MAX_F32, false, 100.f, 0.f, 0.7f*recipDt, true, -deltaVA, -deltaVB, recipResponse); - createDriveOrLimit(prismaticRows[1], (highLimit - jointPos), 0.f, PX_MAX_F32, false, 100.f, 0.f, 0.7f*recipDt, true, deltaVA, deltaVB, recipResponse); + constraints->lowLimit = j.limits[i].low; + constraints->highLimit = j.limits[i].high; + } + else + { + constraints->lowLimit = -PX_MAX_F32; + constraints->highLimit = PX_MAX_F32; } if (hasDrive) { - PxReal targetVelocity = jointDatum.targetJointVelocity[dofId]; - PxReal targetPos = jointDatum.targetJointPosition[dofId]; - const PxReal jointPos = data.mJointPosition[jointDatum.jointOffset + dofId]; + const PxReal targetVelocity = -jointTranDatum.targetJointVelocity[dofId]; + PxReal targetPos = jointTranDatum.targetJointPosition[dofId]; + PxReal jointPos = jPosition[dofId]; + + //KS - clamp drive target within limits - no point in having 2 parts fight against each-other + if (j.motion[i] == PxArticulationMotion::eLIMITED) + targetPos = PxClamp(targetPos, j.limits[i].low, j.limits[i].high); - Dy::SolverConstraint1DExtStep& c = constraints[cIndex++]; + PxReal x = 0.f, x2 = 0.f; - c.lin0 = axis; - c.lin1 = axis; - c.ang0 = ang0; - c.ang1 = ang1; + PxReal stiffness = j.drives[i].stiffness; + PxReal damping = j.drives[i].damping; - createSpringDrive(c, targetPos - jointPos, -targetVelocity, j.drives[i].maxForce, - j.drives[i].stiffness, j.drives[i].damping, dt, totalDt, -deltaVA, -deltaVB, unitResponse); - } + PxArticulationDriveType::Enum type = j.drives[i].driveType; + + if (type == PxArticulationDriveType::eTARGET) + { + stiffness = 1e+25f; + damping = 0.f; + type = PxArticulationDriveType::eFORCE; + } + else if (type == PxArticulationDriveType::eVELOCITY) + { + damping = 1e+25f; + stiffness = 0.f; + type = PxArticulationDriveType::eFORCE; + } + + const PxReal a = dt * (dt * stiffness + damping); + const PxReal b = dt * (damping * targetVelocity + stiffness * (targetPos - jointPos)); + const PxReal a2 = stepDt * (stepDt * stiffness + damping); + + PxReal vm2 = 0.f; + + switch (type) + { + case PxArticulationDriveType::eFORCE: + { + x = unitResponse > 0.f ? 1.0f / (1.0f + a*unitResponse) : 0.f; + x2 = unitResponse > 0.f ? 1.0f / (1.0f + a2*unitResponse) : 0.f; + constraints->driveTargetVel = x * b; + constraints->driveVelMultiplier = -x*a; + vm2 = x2*a2; + break; + } + case PxArticulationDriveType::eACCELERATION: + { + x = 1.0f / (1.0f + a); + x2 = 1.0f / (1.0f + a2); + constraints->driveTargetVel = x * b*recipResponse; + constraints->driveVelMultiplier = -x*a*recipResponse; + vm2 = x2*a2*recipResponse; + break; + } + //KS - this is required to avoid a warning on Linux + case PxArticulationDriveType::eTARGET: + case PxArticulationDriveType::eVELOCITY: + case PxArticulationDriveType::eNONE: + break; + + } + const PxReal im = 1.f - x; + const PxReal im2 = 1.f-x2; + constraints->driveBiasCoefficient = 0.f;//invDt*erp*im2*recipResponse; + constraints->driveTarget = jointPos; + constraints->driveImpulseMultiplier = im; + constraints->maxDriveForce = j.drives[i].maxForce* maxForceScale; + constraints->driveForce = 0.f; + constraints->driveBackPropagateScale = vm2*unitResponse*im2*erp; + } + else + { + constraints->driveTargetVel = 0.f; + constraints->driveTarget = 0.f; + constraints->driveBiasCoefficient = 0.f; + constraints->driveVelMultiplier = 0.f; + constraints->driveImpulseMultiplier = 0.f; + constraints->maxDriveForce = 0.f; + constraints->driveForce = 0.f; + constraints->driveBackPropagateScale = 0.f; + } } dofId++; } - } + } - if (lockedAxes) + if (jointDatum.lockedAxes) { - const PxQuat qB2qA = cA2w.q.getConjugate() * cB2w.q; PxVec3 row[3]; - computeJacobianAxes(row, cA2w.q, cB2w.q); + computeArticJacobianAxes(row, cA2w.q, cB2w.q); PxReal err[] = { -qB2qA.x, -qB2qA.y, -qB2qA.z }; @@ -3255,44 +2828,108 @@ namespace Dy //Get axis, then add lock constraint... if (j.motion[i] == PxArticulationMotion::eLOCKED) { - Dy::SolverConstraint1DExtStep& lockRow = constraints[cIndex]; - cIndex++; + //const PxVec3 axis = row[i].getNormalized(); + //PxReal error = 2.f*PxAsin(err[i]); + //PxReal error = 4.f*PxAtan2(err[i], 1.f+qB2qA.w); const PxVec3 axis = row[i]; PxReal error = err[i]; - lockRow.lin0 = PxVec3(0.f); - lockRow.lin1 = PxVec3(0.f); - lockRow.ang0 = row[i]; - lockRow.ang1 = row[i]; - Cm::SpatialVectorV deltaVA, deltaVB; FeatherstoneArticulation::getImpulseSelfResponse(links, fixBase, Z, data, - links[linkID].parent, Cm::SpatialVector(PxVec3(0), row[i]), deltaVA, - linkID, Cm::SpatialVector(PxVec3(0), -row[i]), deltaVB); + links[linkID].parent, Cm::SpatialVector(PxVec3(0), axis), deltaVA, + linkID, Cm::SpatialVector(PxVec3(0), -axis), deltaVB); + + const Cm::SpatialVector& deltaV0 = unsimdRef(deltaVA); + const Cm::SpatialVector& deltaV1 = unsimdRef(deltaVB); + + const PxReal r0 = deltaV0.angular.dot(axis); + const PxReal r1 = deltaV1.angular.dot(axis); + + const PxReal unitResponse = r0 - r1; - PxReal unitResponse = unsimdRef(deltaVA).angular.dot(row[i]) - unsimdRef(deltaVB).angular.dot(row[i]); + const PxReal recipResponse = unitResponse > DY_ARTICULATION_MIN_RESPONSE ? 1.0f / (cfm+unitResponse) : 0.0f; - const PxReal recipResponse = unitResponse> DY_ARTICULATION_MIN_RESPONSE ? 1.0f / unitResponse : 0.0f; + const PxU32 count = data.mInternalLockedAxes.size(); + data.mInternalLockedAxes.forceSize_Unsafe(count + 1); + ArticulationInternalLockedAxis* locks = &data.mInternalLockedAxes[count]; - createDriveOrLimit(lockRow, error, -PX_MAX_F32, PX_MAX_F32, false, 30.f, 0.f, 0.7f*invDt, false, deltaVA, deltaVB, recipResponse); - lockRow.angularErrorScale = 1.f; + locks->axis = axis; + locks->deltaVA.top = unsimdRef(deltaVA).angular; + locks->deltaVA.bottom = unsimdRef(deltaVA).linear; + locks->deltaVB.top = unsimdRef(deltaVB).angular; + locks->deltaVB.bottom = unsimdRef(deltaVB).linear; + locks->recipResponse = recipResponse; + locks->error = error; + locks->biasScale = invDt*erp;//*0.7f; + dofId++; } } } + jointDatum.dofInternalConstraintMask = dofMask; + } + + for (ArticulationBitField children = link.children; children != 0; children &= (children - 1)) + { + //index of child of link h on path to link linkID + const PxU32 child = ArticulationLowestSetBit(children); + + setupInternalConstraintsRecursive(links, linkCount, fixBase, data, Z, stepDt, dt, invDt, erp, cfm, isTGSSolver, child, maxForceScale); + + } + } + + + void FeatherstoneArticulation::setupInternalConstraints( + ArticulationLink* links, + const PxU32 linkCount, + const bool fixBase, + ArticulationData& data, + Cm::SpatialVectorF* Z, + PxReal stepDt, + PxReal dt, + PxReal invDt, + PxReal erp, + bool isTGSSolver) + { + PX_UNUSED(linkCount); + + const PxReal cfm = DY_ARTICULATION_CFM; + + data.mInternalConstraints.forceSize_Unsafe(0); + data.mInternalConstraints.reserve(data.getDofs()); + + data.mInternalLockedAxes.forceSize_Unsafe(0); + data.mInternalLockedAxes.reserve(data.getLocks()); + const PxReal maxForceScale = data.getArticulationFlags() & PxArticulationFlag::eDRIVE_LIMITS_ARE_FORCES ? dt : 1.f; + for (ArticulationBitField children = links[0].children; children != 0; children &= (children - 1)) + { + //index of child of link h on path to link linkID + const PxU32 child = ArticulationLowestSetBit(children); - *(desc.constraint + getConstraintLength(desc)) = 0; + setupInternalConstraintsRecursive(links, linkCount, fixBase, data, Z, stepDt, dt, invDt, erp, cfm, isTGSSolver, child, maxForceScale); - PX_ASSERT(cIndex == constraintCount); - acCount += constraintCount; } + } + + + PxU32 FeatherstoneArticulation::setupSolverConstraints( + ArticulationLink* links, + const PxU32 linkCount, + const bool fixBase, + ArticulationData& data, + Cm::SpatialVectorF* Z, + PxU32& acCount) + { + acCount = 0; + + setupInternalConstraints(links, linkCount, fixBase, data, Z, data.getDt(), data.getDt(), 1.f / data.getDt(), 1.f, false); - return descCount; + return 0; } -#else PxU32 FeatherstoneArticulation::setupSolverConstraintsTGS(const ArticulationSolverDesc& articDesc, PxcConstraintBlockStream& /*stream*/, @@ -3314,13 +2951,11 @@ namespace Dy const PxU32 linkCount = thisArtic->mArticulationData.getLinkCount(); const bool fixBase = thisArtic->mArticulationData.getArticulationFlags() & PxArticulationFlag::eFIX_BASE; - thisArtic->setupInternalConstraints(links, linkCount, fixBase, thisArtic->mArticulationData, Z, totalDt, invDt, 0.7f, true); + thisArtic->setupInternalConstraints(links, linkCount, fixBase, thisArtic->mArticulationData, Z, dt, totalDt, invDt, 0.7f, true); return 0; } -#endif - void FeatherstoneArticulation::createHardLimitTGS( SolverConstraint1DExtStep& s, const PxVec3& axis, @@ -3390,7 +3025,7 @@ namespace Dy void FeatherstoneArticulation::teleportLinks(ArticulationData& data) { - jcalc(data); + jcalc(data, true); ArticulationLink* links = mArticulationData.getLinks(); @@ -3420,11 +3055,13 @@ namespace Dy const PxVec3 childOffset = -joint->childPose.p; const PxVec3 parentOffset = joint->parentPose.p; + const PxQuat relativeQuat = mArticulationData.mRelativeQuat[linkID]; + switch (joint->jointType) { case PxArticulationJointType::ePRISMATIC: { - newParentToChild = joint->relativeQuat; + newParentToChild = relativeQuat; const PxVec3 e = newParentToChild.rotate(parentOffset); const PxVec3 d = childOffset; @@ -3441,7 +3078,7 @@ namespace Dy if (jointRotation.w < 0) //shortest angle. jointRotation = -jointRotation; - newParentToChild = (jointRotation * joint->relativeQuat).getNormalized(); + newParentToChild = (jointRotation * relativeQuat).getNormalized(); const PxVec3 e = newParentToChild.rotate(parentOffset); const PxVec3 d = childOffset; @@ -3454,13 +3091,41 @@ namespace Dy case PxArticulationJointType::eSPHERICAL: { PxQuat jointRotation(PxIdentity); - for (PxU32 d = jointDatum.dof; d > 0; --d) + + if (jointDatum.dof < 3) + { + for (PxU32 d = jointDatum.dof; d > 0; --d) + { + PxQuat deltaRot(-jPosition[d - 1], data.mMotionMatrix[linkID][d - 1].top); + jointRotation = jointRotation * deltaRot; + } + } + else { - PxQuat deltaRot(jPosition[d - 1], data.mMotionMatrix[linkID][d - 1].top); - jointRotation = jointRotation * deltaRot; + PxVec3 ang(0.f); + for (PxU32 d = 0; d < jointDatum.dof; ++d) + { + ang += data.mMotionMatrix[linkID][d].top * -jPosition[d]; + } + jointRotation = Ps::exp(ang).getNormalized(); + +#if PX_DEBUG + PxReal radians; + PxVec3 axis; + jointRotation.toRadiansAndUnitAxis(radians, axis); + + + for (PxU32 d = 0; d < jointDatum.dof; ++d) + { + PxReal ang2 = data.mMotionMatrix[linkID][d].top.dot(axis)*radians; + PxReal diff2 = ang2 + jPosition[d]; + PX_ASSERT(PxAbs(diff2) < 1e-3f); + } +#endif } - newParentToChild = (jointRotation * joint->relativeQuat).getNormalized(); + + newParentToChild = (jointRotation * relativeQuat).getNormalized(); const PxVec3 e = newParentToChild.rotate(parentOffset); const PxVec3 d = childOffset; @@ -3470,7 +3135,7 @@ namespace Dy case PxArticulationJointType::eFIX: { //this is fix joint so joint don't have velocity - newParentToChild = joint->relativeQuat; + newParentToChild = relativeQuat; const PxVec3 e = newParentToChild.rotate(parentOffset); const PxVec3 d = childOffset; @@ -3490,15 +3155,65 @@ namespace Dy } } - void FeatherstoneArticulation::jcalc(ArticulationData& data) + void FeatherstoneArticulation::computeLinkVelocities(ArticulationData& data) + { + jcalc(data, true); + + ArticulationLink* links = data.getLinks(); + const PxU32 linkCount = data.getLinkCount(); + + const PxReal* jointVelocities = data.mJointVelocity.begin(); + + for (PxU32 linkID = 1; linkID < linkCount; ++linkID) + { + const ArticulationLink& link = links[linkID]; + + PxsBodyCore& bodyCore = *link.bodyCore; + + PxTransform body2World = bodyCore.body2World; + + ArticulationLink& plink = links[link.parent]; + const PxsBodyCore& pbodyCore = *plink.bodyCore; + + Cm::SpatialVectorF parentVel(pbodyCore.angularVelocity, pbodyCore.linearVelocity); + + PxTransform pBody2World = pbodyCore.body2World; + + const PxVec3 rw = body2World.p - pBody2World.p; + + Cm::SpatialVectorF vel = FeatherstoneArticulation::translateSpatialVector(-rw,parentVel); + + if (jointVelocities) + { + ArticulationJointCoreData& jointDatum = data.getJointData(linkID); + const PxReal* jVelocity = &jointVelocities[jointDatum.jointOffset]; + + Cm::UnAlignedSpatialVector deltaV = Cm::UnAlignedSpatialVector::Zero(); + for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) + { + deltaV += data.mMotionMatrix[linkID][ind] * jVelocity[ind]; + } + + vel.top += body2World.q.rotate(deltaV.top); + vel.bottom += body2World.q.rotate(deltaV.bottom); + } + + bodyCore.linearVelocity = vel.bottom; + bodyCore.angularVelocity = vel.top; + + } + } + + void FeatherstoneArticulation::jcalc(ArticulationData& data, bool forceUpdate) { - if (getDirty()) + if (getDirty() || forceUpdate) { ArticulationLink* links = data.getLinks(); ArticulationJointCoreData* jointData = data.getJointData(); + ArticulationJointTargetData* jointTranData = data.getJointTranData(); const PxU32 linkCount = data.getLinkCount(); - PxU32 totalDof = 0; + PxU8 totalDof = 0; bool hasSphericalJoint = false; for (PxU32 linkID = 1; linkID < linkCount; ++linkID) @@ -3506,12 +3221,13 @@ namespace Dy ArticulationLink& link = links[linkID]; ArticulationJointCore* joint = link.inboundJoint; ArticulationJointCoreData& jointDatum = jointData[linkID]; + ArticulationJointTargetData& jointTranDatum = jointTranData[linkID]; PX_CHECK_AND_RETURN(joint->jointType != PxArticulationJointType::eUNDEFINED, "FeatherstoneArticulation::jcalc application need to define valid joint type and motion"); - jointDatum.computeJointDof(joint, false); - joint->setJointPose(jointDatum, data.mMotionMatrix[linkID]); - jointDatum.setJointVelocityDrive(joint); - jointDatum.setJointPoseDrive(joint); + jointDatum.computeJointDof(joint, forceUpdate); + joint->setJointPose(jointDatum, data.mMotionMatrix[linkID], forceUpdate, mArticulationData.mRelativeQuat[linkID]); + jointTranDatum.setJointVelocityDrive(joint); + jointTranDatum.setJointPoseDrive(joint); if (joint->jointType == PxArticulationJointType::eSPHERICAL) hasSphericalJoint = true; @@ -3547,19 +3263,16 @@ namespace Dy const PxReal m = core.inverseMass == 0.f ? 0.f : 1.0f / core.inverseMass; - SpatialMatrix& spatialArticulatedInertia = data.mSpatialArticulatedInertia[linkID]; - - //construct mass matric - spatialArticulatedInertia.topLeft = PxMat33(PxZero); - //linkDatum.spatialArticulatedInertia.bottomRight = PxMat33(PxZero); - spatialArticulatedInertia.topRight = PxMat33::createDiagonal(PxVec3(m)); + SpatialMatrix& worldArticulatedInertia = data.mWorldSpatialArticulatedInertia[linkID]; //construct inertia matrix - PxMat33& I = spatialArticulatedInertia.bottomLeft; const PxVec3 inertiaTensor = PxVec3(ii.x == 0.f ? 0.f : (1.f / ii.x), ii.y == 0.f ? 0.f : (1.f / ii.y), ii.z == 0.f ? 0.f : (1.f / ii.z)); - I = PxMat33::createDiagonal(inertiaTensor); - //linkDatum.spatialInertia = linkDatum.spatialArticulatedInertia; + PxMat33 rot(data.getLink(linkID).bodyCore->body2World.q); + + worldArticulatedInertia.topLeft = PxMat33(PxZero); + worldArticulatedInertia.topRight = PxMat33::createDiagonal(PxVec3(m)); + Cm::transformInertiaTensor(inertiaTensor, rot, worldArticulatedInertia.bottomLeft); } } @@ -3570,33 +3283,41 @@ namespace Dy Cm::SpatialVectorF* spatialZAForces = scratchData.spatialZAVectors; Cm::SpatialVector* externalAccels = scratchData.externalAccels; + const PxReal invDt = data.mDt < 1e-6f ? PX_MAX_F32 : 1.f/data.mDt; + for (PxU32 linkID = 0; linkID < data.getLinkCount(); ++linkID) { ArticulationLink& link = data.getLink(linkID); const PxsBodyCore& core = *link.bodyCore; - const PxTransform& body2World = core.body2World; + //const PxTransform& body2World = core.body2World; - //PxMat33& I = linkDatum.spatialArticulatedInertia.bottomLeft; + PxMat33& I = data.mWorldSpatialArticulatedInertia[linkID].bottomLeft; //construct spatial zero acceleration Cm::SpatialVectorF& z = spatialZAForces[linkID]; - Cm::SpatialVectorF v; - v.top = body2World.rotateInv(motionVelocities[linkID].top); - v.bottom = body2World.rotateInv(motionVelocities[linkID].bottom); + //Cm::SpatialVectorF v; + //v.top = motionVelocities[linkID].top; + //v.bottom = motionVelocities[linkID].bottom; - PxVec3 gravLinAccel = PxVec3(0.f); + //KS - limit the magnitude of the angular velocity that contributes to the geometric term. This is a + //v^2 term and can become unstable if it is too large! + PxVec3 v = motionVelocities[linkID].top; + PxReal mag = v.normalize(); + mag = PxMin(mag, invDt); + v *= mag; + + PxVec3 gravLinAccel(0.f); if(!core.disableGravity) - gravLinAccel = -body2World.rotateInv(gravity); + gravLinAccel = -gravity; - const PxReal m = core.inverseMass == 0.f ? 0.f : 1.0f / core.inverseMass; + PX_ASSERT(core.inverseMass != 0.f); - const PxVec3& ii = core.inverseInertia; + const PxReal m = 1.0f / core.inverseMass; - const PxVec3 inertiaTensor(ii.x == 0.f ? 0.f : (1.f / ii.x), ii.y == 0.f ? 0.f : (1.f / ii.y), ii.z == 0.f ? 0.f : (1.f / ii.z)); z.top = (gravLinAccel * m); - z.bottom = v.top.cross(inertiaTensor.multiply(v.top)); + z.bottom = v.cross(I * v); PX_ASSERT(z.top.isFinite()); PX_ASSERT(z.bottom.isFinite()); @@ -3605,11 +3326,11 @@ namespace Dy { const Cm::SpatialVector& externalAccel = externalAccels[linkID]; - const PxVec3 exLinAccel = -body2World.rotateInv(externalAccel.linear); - const PxVec3 exAngAccel = -body2World.rotateInv(externalAccel.angular); + const PxVec3 exLinAccel = -externalAccel.linear; + const PxVec3 exAngAccel = -externalAccel.angular; z.top += (exLinAccel * m); - z.bottom += inertiaTensor.multiply(exAngAccel); + z.bottom += I * exAngAccel; } } @@ -3619,7 +3340,7 @@ namespace Dy void FeatherstoneArticulation::computeD(ArticulationData& data, ScratchData& scratchData, Cm::SpatialVectorF* Z, Cm::SpatialVectorF* DeltaV) { - const Cm::SpatialVectorF* motionVelocities = scratchData.motionVelocities; + Cm::SpatialVectorF* motionVelocities = scratchData.motionVelocities; Cm::SpatialVectorF* dragImpulse = Z; @@ -3636,7 +3357,7 @@ namespace Dy const ArticulationLink& link = data.getLink(linkID); const PxsBodyCore& core = *link.bodyCore; - const PxTransform& body2World = core.body2World; + //const PxTransform& body2World = core.body2World; const PxReal m = core.inverseMass == 0.f ? 0.f : 1.0f / core.inverseMass; @@ -3646,8 +3367,8 @@ namespace Dy Cm::SpatialVectorF& d = dragImpulse[linkID]; Cm::SpatialVectorF v; - v.top = body2World.rotateInv(motionVelocities[linkID].top); - v.bottom = body2World.rotateInv(motionVelocities[linkID].bottom); + v.top = motionVelocities[linkID].top; + v.bottom = motionVelocities[linkID].bottom; if (core.linearDamping > 0.f || core.angularDamping > 0.f) { @@ -3655,7 +3376,7 @@ namespace Dy const PxReal angDamp = PxMin(core.angularDamping*dt, 1.f); d.top += (v.bottom * linDamp*m) -ZAForces[linkID].top * dt * linDamp; - d.bottom += I.multiply(v.top* angDamp) -ZAForces[linkID].bottom * dt * angDamp; + d.bottom += core.body2World.rotate(I.multiply(core.body2World.rotateInv(v.top)* angDamp)) -ZAForces[linkID].bottom * dt * angDamp; bAppliedImpusle = true; } @@ -3670,7 +3391,7 @@ namespace Dy if (angMag > maxAng) { const PxReal scale = 1.f - PxSqrt(maxAng) / PxSqrt(angMag); - const PxVec3 tmpaccelerationAng = (I.multiply(v.top)*scale); + const PxVec3 tmpaccelerationAng = core.body2World.rotate((I.multiply(core.body2World.rotateInv(v.top))*scale)); PX_UNUSED(tmpaccelerationAng); d.bottom += tmpaccelerationAng; @@ -3706,6 +3427,35 @@ namespace Dy } } } + + ////Last ditch effort - clamp velocities.. + //for (PxU32 linkID = 0; linkID < data.getLinkCount(); ++linkID) + //{ + // const ArticulationLink& link = data.getLink(linkID); + + // const PxsBodyCore& core = *link.bodyCore; + // Cm::SpatialVectorF v; + // v.top = motionVelocities[linkID].top; + // v.bottom = motionVelocities[linkID].bottom; + + // const PxReal maxAng = core.maxAngularVelocitySq; + // const PxReal maxLin = core.maxLinearVelocitySq; + + // const PxReal angMag = v.top.magnitudeSquared(); + // const PxReal linMag = v.bottom.magnitudeSquared(); + + // if (angMag > maxAng) + // { + // PxReal scale = PxSqrt(maxAng) / PxSqrt(angMag); + // motionVelocities[linkID].top = v.top*scale; + + // } + // if (linMag > maxLin) + // { + // PxReal scale = PxSqrt(maxLin) / PxSqrt(linMag); + // motionVelocities[linkID].bottom = v.bottom*scale; + // } + //} } //compute coriolis and centrifugal term @@ -3723,18 +3473,16 @@ namespace Dy const ArticulationLink& link = data.getLink(linkID); const ArticulationLinkData& linkDatum = data.getLinkData(linkID); const ArticulationJointCoreData& jointDatum = data.getJointData(linkID); - PX_UNUSED(linkDatum); const PxReal* jVelocity = &jointVelocities[jointDatum.jointOffset]; - PX_UNUSED(jVelocity); Cm::SpatialVectorF& coriolis = coriolisVectors[linkID]; + //const PxTransform& body2World = link.bodyCore->body2World; //transform parent link's angular velocity into current link's body space - const PxVec3 parentAngular = scratchData.motionVelocities[link.parent].top; - const PxTransform& body2World = link.bodyCore->body2World; - const PxVec3 pAngular = body2World.q.rotateInv(parentAngular); - PxVec3 torque = pAngular.cross(pAngular.cross(linkDatum.r)); + const PxVec3 pAngular = scratchData.motionVelocities[link.parent].top; + + PxVec3 torque = pAngular.cross(pAngular.cross(linkDatum.rw)); //PX_ASSERT(parentAngular.magnitude() < 100.f); @@ -3742,10 +3490,13 @@ namespace Dy if (jointDatum.dof > 0) { Cm::SpatialVectorF relVel(PxVec3(0.f), PxVec3(0.f)); + //const PxReal maxJVel = joint->maxJointVelocity; for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { - const PxReal jV = jVelocity[ind]; - relVel += data.mMotionMatrix[linkID][ind] * jV; + //Clamp joint velocity used in coriolis terms to reduce chances of unstable feed-back loops + const PxReal jV = jVelocity[ind];//PxClamp(jVelocity[ind], -maxJVel, maxJVel); + relVel.top += data.mWorldMotionMatrix[linkID][ind].top * jV; + relVel.bottom += data.mWorldMotionMatrix[linkID][ind].bottom * jV; } const PxVec3 aVec = relVel.top; force = pAngular.cross(aVec); @@ -3761,16 +3512,11 @@ namespace Dy PX_ASSERT(force.isFinite()); PX_ASSERT(torque.isFinite()); - coriolis = Cm::SpatialVectorF(force, torque); + coriolis = Cm::SpatialVectorF(force, torque);//.rotateInv(body2World); } } - static PxMat33 constructSkewSymmetricMatrix(const PxVec3 r) - { - return PxMat33( PxVec3(0.0f, r.z, -r.y), - PxVec3(-r.z, 0.0f, r.x), - PxVec3(r.y, -r.x, 0.0f)); - } + void FeatherstoneArticulation::computeRelativeTransformC2P(ArticulationData& data) { @@ -3790,21 +3536,26 @@ namespace Dy const PxsBodyCore& pBodyCore = *pLink.bodyCore; const PxTransform& pBody2World = pBodyCore.body2World; - const PxTransform tC2P = pBody2World.transformInv(body2World).getNormalized(); + //const PxTransform tC2P = pBody2World.transformInv(body2World).getNormalized(); - SpatialTransform& child2Parent = data.mChildToParent[linkID]; - - child2Parent.R = PxMat33(tC2P.q); - child2Parent.q = tC2P.q; linkDatum.r = body2World.rotateInv(body2World.p - pBody2World.p);//body space of link i linkDatum.rw =body2World.p - pBody2World.p; + + const SpatialSubspaceMatrix& motionMatrix = data.mMotionMatrix[linkID]; + SpatialSubspaceMatrix& worldMotionMatrix = data.mWorldMotionMatrix[linkID]; - //child to parent rotation matrix - const PxMat33& c2p = child2Parent.R; - //r is in link body space - const PxMat33 skewMatrixPR = -constructSkewSymmetricMatrix(linkDatum.r); - //rotation matrix cToP's inverse is rotation matrix pToC - child2Parent.T = c2p * (-skewMatrixPR); + + + const PxU32 nbColumns = motionMatrix.getNumColumns(); + worldMotionMatrix.setNumColumns(nbColumns); + for (PxU32 i = 0; i < nbColumns; ++i) + { + const Cm::UnAlignedSpatialVector worldRow = motionMatrix.getColumns()[i].rotate(body2World); + + worldMotionMatrix.setColumn(i, worldRow.top, worldRow.bottom); + //Compute and store world joint axis! + data.mJointTranData[linkID].worldJointAxis[i] = data.mJointData[linkID].jointAxis[i].rotate(body2World); + } #if FEATURESTONE_DEBUG { @@ -3836,17 +3587,10 @@ namespace Dy const PxTransform& body2World = bodyCore.body2World; - const PxTransform tC2B = bBody2World.transformInv(body2World).getNormalized(); - linkDatum.childToBase.R = PxMat33(tC2B.q); - linkDatum.childToBase.q = tC2B.q; - const PxVec3 r = body2World.rotateInv(body2World.p - bBody2World.p);//body space of link i + const PxVec3 rw = body2World.p - bBody2World.p;//body space of link i - //child to parent rotation matrix - const PxMat33& c2b = data.mChildToParent[linkID].R; - //r is in link body space - const PxMat33 skewMatrixPR = -constructSkewSymmetricMatrix(r); //rotation matrix cToP's inverse is rotation matrix pToC - linkDatum.childToBase.T = c2b * (-skewMatrixPR); + linkDatum.childToBase = rw; } } @@ -3889,7 +3633,8 @@ namespace Dy nCols = (fixBase ? 0 : 6) + totalDofs; nRows = (fixBase ? 0 : 6) + jointCount * 6; - auto jacobian = [&](PxU32 row, PxU32 col) -> PxReal & { return cache.denseJacobian[nCols * row + col]; } ; +// auto jacobian = [&](PxU32 row, PxU32 col) -> PxReal & { return cache.denseJacobian[nCols * row + col]; } ; + #define jacobian(row, col) cache.denseJacobian[nCols * (row) + (col)] PxU32 destRow = 0; PxU32 destCol = 0; @@ -3999,7 +3744,7 @@ namespace Dy //diagonal block: for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { - const Cm::SpatialVectorF& v = mArticulationData.mMotionMatrix[linkID][ind]; + const Cm::UnAlignedSpatialVector& v = mArticulationData.mMotionMatrix[linkID][ind]; const PxVec3 ang = body2World.rotate(v.top); const PxVec3 lin = body2World.rotate(v.bottom); @@ -4029,6 +3774,7 @@ namespace Dy destRow += 6; } + #undef jacobian #if 0 //Enable this if you want to compare results of this function with results of computeLinkVelocities(). @@ -4103,12 +3849,18 @@ namespace Dy { motionVelocities[0] = Cm::SpatialVectorF(PxVec3(0.f), PxVec3(0.f)); motionAccelerations[0] = Cm::SpatialVectorF(PxVec3(0.f), PxVec3(0.f)); + } else { motionVelocities[0] = Cm::SpatialVectorF(core0.angularVelocity, core0.linearVelocity); + + //PX_ASSERT(core0.angularVelocity.isFinite() && PxAbs(core0.angularVelocity.x) < 10000.f && PxAbs(core0.angularVelocity.y) < 10000.f && PxAbs(core0.angularVelocity.z) < 10000.f); + //PX_ASSERT(core0.linearVelocity.isFinite() && PxAbs(core0.linearVelocity.x) < 10000.f && PxAbs(core0.linearVelocity.y) < 10000.f && PxAbs(core0.linearVelocity.z) < 10000.f); } + data.mRootPreMotionVelocity = motionVelocities[0]; + for (PxU32 linkID = 1; linkID < linkCount; ++linkID) { const ArticulationLink& link = links[linkID]; @@ -4117,36 +3869,27 @@ namespace Dy linkDatum.maxPenBias = bodyCore.maxPenBias; - //SpatialTransform p2c = linkDatum.childToParent.getTranspose(); - - //motionVelocites[linkID] = p2c * motionVelocites[link.parent]; - //motionVelocites[linkID] = motionVelocites[link.parent]; - /*motionVelocities[linkID].top = motionVelocities[link.parent].top; - motionVelocities[linkID].bottom = motionVelocities[link.parent].bottom + motionVelocities[link.parent].top.cross(linkDatum.rw);*/ - - PxVec3 ang = motionVelocities[link.parent].top; - PxVec3 lin = motionVelocities[link.parent].bottom + motionVelocities[link.parent].top.cross(linkDatum.rw); - const PxTransform& body2World = bodyCore.body2World; + Cm::SpatialVectorF vel = FeatherstoneArticulation::translateSpatialVector(-linkDatum.rw, motionVelocities[link.parent]); if (jointVelocities) { ArticulationJointCoreData& jointDatum = data.getJointData(linkID); - //const PxReal* const jV = &jointVelocity[linkID * 6]; const PxReal* jVelocity = &jointVelocities[jointDatum.jointOffset]; - Cm::SpatialVectorF deltaV = Cm::SpatialVectorF::Zero(); + Cm::UnAlignedSpatialVector deltaV = Cm::UnAlignedSpatialVector::Zero(); for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { - //KS - TODO - only hack for rotational constraints!!! - //jVelocity[ind] = PxClamp(jVelocity[ind], -100.f, 100.f); - deltaV += data.mMotionMatrix[linkID][ind] * jVelocity[ind]; + deltaV += data.mWorldMotionMatrix[linkID][ind] * jVelocity[ind]; } - ang += body2World.rotate(deltaV.top); - lin += body2World.rotate(deltaV.bottom); + vel.top += deltaV.top; + vel.bottom += deltaV.bottom; } - motionVelocities[linkID] = Cm::SpatialVectorF(ang, lin); + //PX_ASSERT(vel.top.isFinite() && PxAbs(vel.top.x) < 10000.f && PxAbs(vel.top.y) < 10000.f && PxAbs(vel.top.z) < 10000.f); + //PX_ASSERT(vel.bottom.isFinite() && PxAbs(vel.bottom.x) < 10000.f && PxAbs(vel.bottom.y) < 10000.f && PxAbs(vel.bottom.z) < 10000.f); + + motionVelocities[linkID] = vel; } } @@ -4359,19 +4102,20 @@ namespace Dy //const ArticulationLink& plink = links[link.parent]; ArticulationLinkData& linkDatum = mArticulationData.getLinkData(linkID); - PxTransform* transforms = mArticulationData.mPreTransform.begin(); + //PxTransform* transforms = mArticulationData.mPreTransform.begin(); PX_UNUSED(linkDatum); const ArticulationJointCoreData& jointDatum = mArticulationData.getJointData(linkID); + // const ArticulationJointTargetData& jointTranDatum = mArticulationData.getJointTranData(linkID); Cm::SpatialVectorF i1(PxVec3(0.f), PxVec3(0.f)); //We know the absolute parentDeltaV from the call to this function so no need to modify it. Cm::SpatialVectorF parentV = parentDeltaV + mArticulationData.mMotionVelocities[link.parent]; - Cm::SpatialVectorF parentVelContrib = propagateVelocityTestImpulse(mArticulationData.mChildToParent[linkID], - mArticulationData.mSpatialArticulatedInertia[linkID], mArticulationData.mInvStIs[linkID], mArticulationData.mMotionMatrix[linkID], mArticulationData.getSpatialZAVector(linkID), parentDeltaV.rotateInv(transforms[link.parent])).rotate(transforms[linkID]); + Cm::SpatialVectorF parentVelContrib = propagateVelocityTestImpulseW(linkDatum.rw, + mArticulationData.mWorldSpatialArticulatedInertia[linkID], mArticulationData.mInvStIs[linkID], mArticulationData.mWorldMotionMatrix[linkID], mArticulationData.getSpatialZAVector(linkID), parentDeltaV); Cm::SpatialVectorF childV = mArticulationData.mMotionVelocities[linkID] + parentVelContrib; @@ -4379,6 +4123,10 @@ namespace Dy Cm::SpatialVectorF dv1 = parentVelContrib; + PxU32 tempDofId = dofId; + + const PxReal maxJointVel = link.inboundJoint->maxJointVelocity; + //If we have any internal constraints to process (parent/child limits/locks/drives) if (jointDatum.dofInternalConstraintMask || jointDatum.lockedAxes) { @@ -4390,18 +4138,26 @@ namespace Dy ArticulationInternalConstraint& constraint = mArticulationData.mInternalConstraints[dofId++]; PxReal jointP = jPosition[dof]; + //printf("LinkId %i JointPosition = %f\n", linkID, jointP); + PxReal driveTarget = constraint.driveTarget; if (!constraint.isLinearConstraint) { //Clamp jointP within +/- PxPi if (jointP > PxTwoPi) + { jointP -= 2.f*PxTwoPi; + driveTarget -= 2.f*PxTwoPi; + } else if (jointP < -PxTwoPi) + { jointP += 2.f*PxTwoPi; + driveTarget += 2.f*PxTwoPi; + } } - PxReal error = ((constraint.driveTarget + constraint.driveTargetVel*constraint.response*elapsedTime) - jointP); - + PxReal error = ((driveTarget + constraint.driveTargetVel*constraint.response*elapsedTime) - jointP); + PxReal jointV = constraint.row1.innerProduct(childV) - constraint.row0.innerProduct(parentV); const PxReal appliedFriction = constraint.frictionForce*constraint.frictionForceCoefficient; @@ -4429,6 +4185,8 @@ namespace Dy driveDeltaF += frictionDeltaF; + //printf("LinkID %i driveDeltaV = %f, jointV = %f\n", linkID, driveDeltaF, jointV); + PxReal deltaF = 0.f; @@ -4437,21 +4195,25 @@ namespace Dy if(!velocityIteration) { PxReal futureP = jointP + jointV * dt; - if (futureP > constraint.highLimit) + if (jointP > constraint.highLimit || futureP > constraint.highLimit) { PxReal erp = jointP > constraint.highLimit ? constraint.erp : 1.f; limited = true; PxReal deltaV = (constraint.highLimit - futureP)*invDt*erp; + PxReal newJointV = PxClamp(jointV + deltaV, -maxJointVel, maxJointVel); + deltaV = newJointV - jointV; deltaF = PxMin(constraint.highImpulse + deltaV * constraint.recipResponse, 0.f) - constraint.highImpulse; constraint.highImpulse += deltaF; } - else if (futureP < constraint.lowLimit) + else if (jointP < constraint.lowLimit || futureP < constraint.lowLimit) { PxReal erp = jointP < constraint.lowLimit ? constraint.erp : 1.f; limited = true; PxReal deltaV = (constraint.lowLimit - futureP)*invDt*erp; + PxReal newJointV = PxClamp(jointV + deltaV, -maxJointVel, maxJointVel); + deltaV = newJointV - jointV; deltaF = PxMax(constraint.lowImpulse + deltaV * constraint.recipResponse, 0.f) - constraint.lowImpulse; constraint.lowImpulse += deltaF; } @@ -4483,8 +4245,8 @@ namespace Dy i1.top -= constraint.row1.top * deltaF; i1.bottom -= constraint.row1.bottom * deltaF; - const Cm::UnAlignedSpatialVector deltaVP = -constraint.deltaVA * deltaF; - const Cm::UnAlignedSpatialVector deltaVC = -constraint.deltaVB * deltaF; + const Cm::UnAlignedSpatialVector deltaVP = constraint.deltaVA * (-deltaF); + const Cm::UnAlignedSpatialVector deltaVC = constraint.deltaVB * (-deltaF); parentV += Cm::SpatialVectorF(deltaVP.top, deltaVP.bottom); childV += Cm::SpatialVectorF(deltaVC.top, deltaVC.bottom); @@ -4511,6 +4273,10 @@ namespace Dy if (!velocityIteration) deltaV += (lockAxis.error - deltaJointP) * lockAxis.biasScale; + //Clamp in the off chance that we are applying an insanely huge angular velocity to correct a large joint error + PxReal newJV = PxClamp(jointV + deltaV, -maxJointVel, maxJointVel); + deltaV = newJV - jointV; + PxReal deltaF = deltaV * lockAxis.recipResponse; if (deltaF != 0.f) @@ -4520,8 +4286,8 @@ namespace Dy i0.bottom += lockAxis.axis * deltaF; i1.bottom -= lockAxis.axis * deltaF; - const Cm::UnAlignedSpatialVector tDeltaVP = -lockAxis.deltaVA * deltaF; - const Cm::UnAlignedSpatialVector tDeltaVC = -lockAxis.deltaVB * deltaF; + const Cm::UnAlignedSpatialVector tDeltaVP = lockAxis.deltaVA * (-deltaF); + const Cm::UnAlignedSpatialVector tDeltaVC = lockAxis.deltaVB * (-deltaF); const Cm::SpatialVectorF deltaVP = Cm::SpatialVectorF(tDeltaVP.top, tDeltaVP.bottom); const Cm::SpatialVectorF deltaVC = Cm::SpatialVectorF(tDeltaVC.top, tDeltaVC.bottom); @@ -4549,34 +4315,82 @@ namespace Dy solveStaticConstraint(desc, childV, i1, dv1, deltaMotion, deltaQ, isTGS, elapsedTime, velocityIteration ? 0.f : -PX_MAX_F32); } - - //Rotate my impulses into local space - i1 = i1.rotateInv(transforms[linkID]); - //Sum up impulses propagated to me from children (these will be in my space) - for (ArticulationBitField children = link.children; children != 0;) + if (link.children) { - const PxU32 child = ArticulationLowestSetBit(children); - Cm::SpatialVectorF childImp = solveInternalConstraintRecursive(dt, invDt, impulses, DeltaV, velocityIteration, isTGS, elapsedTime, child, dv1, dofId, lockId); - i1 += childImp; - - //Now work out how those impulses impacted my velocity (if we have a next child) - children &= (children - 1); - if (children != 0) + Cm::SpatialVectorF extraForces(PxVec3(0.f), PxVec3(0.f)); + for (ArticulationBitField children = link.children; children != 0;) { - //Propagate the childImp to my dv1 so that the next constraint gets to see an updated velocity state based - //on the propagation of the child velocities - dv1 += mArticulationData.mResponseMatrix[linkID].getResponse(-childImp).rotate(transforms[linkID]); + const PxU32 child = ArticulationLowestSetBit(children); + Cm::SpatialVectorF childImp = solveInternalConstraintRecursive(dt, invDt, impulses, DeltaV, velocityIteration, isTGS, elapsedTime, child, dv1, dofId, lockId); + + if(0) + { + if (jointDatum.dofInternalConstraintMask || jointDatum.lockedAxes) + { + for (PxU32 dof = 0; dof < jointDatum.dof; ++dof) + { + if (jointDatum.dofInternalConstraintMask & (1 << dof)) + { + //Force back from child links + ArticulationInternalConstraint& constraint = mArticulationData.mInternalConstraints[tempDofId + dof]; + + const Cm::UnAlignedSpatialVector& sa = mArticulationData.mMotionMatrix[linkID][dof]; + const PxReal stZ = sa.innerProduct(childImp); + + //OK. Now subtract the change in vel... + PxReal unclampedForce = constraint.driveImpulseMultiplier *constraint.driveForce + stZ*constraint.driveBackPropagateScale; + + PxReal clampedForce = PxClamp(unclampedForce, -constraint.maxDriveForce, constraint.maxDriveForce); + + PxReal driveDeltaF = (clampedForce - constraint.driveForce); + + constraint.driveForce = clampedForce; + + //Now apply that force back on itself... + + Cm::UnAlignedSpatialVector impulse0 = constraint.row0 * driveDeltaF; + Cm::UnAlignedSpatialVector impulse1 = constraint.row1 * driveDeltaF; + + childImp.top -= impulse0.top; + childImp.bottom -= impulse0.bottom; + extraForces.top -= impulse1.top; + extraForces.bottom -= impulse1.bottom; + //childImpulses.bottom -= jointDatum.jointAxis[dof] * propagatedForce; + + } + } + } + } + + i1 += childImp; + + //Now work out how those impulses impacted my velocity (if we have a next child) + children &= (children - 1); + if (children != 0) + { + //Propagate the childImp to my dv1 so that the next constraint gets to see an updated velocity state based + //on the propagation of the child velocities + Cm::SpatialVectorF deltaV = mArticulationData.mResponseMatrixW[linkID].getResponse(-childImp); + dv1 += deltaV; + + } } + //Cm::SpatialVectorF parentImpulses = extraForces.rotate(transforms[linkID]);//propagateImpulse(mArticulationData.mIsInvD[linkID], mArticulationData.mChildToParent[linkID], mArticulationData.mMotionMatrix[linkID], extraForces).rotate(transforms[link.parent]); + + //(1) project impulses onto joints. Resist motion around driven axes (where possible). + //Allow rest to propagate through the system... + i0.top += extraForces.top; + i0.bottom += extraForces.bottom; } + //Store my impulses (including the propagation of any child links' impulses) impulses[linkID] = i1; - //Then return the parent impulse + propagation of this impulse! - return Cm::SpatialVectorF(i0.top, i0.bottom).rotateInv(transforms[link.parent]) + - propagateImpulse(mArticulationData.mIsInvD[linkID], mArticulationData.mChildToParent[linkID], mArticulationData.mMotionMatrix[linkID], i1); + return Cm::SpatialVectorF(i0.top, i0.bottom) + + propagateImpulseW(mArticulationData.mIsInvDW[linkID], linkDatum.rw, mArticulationData.mWorldMotionMatrix[linkID], i1); } @@ -4597,7 +4411,7 @@ namespace Dy ArticulationLink* links = mArticulationData.getLinks(); Cm::SpatialVectorF* baseVelocities = mArticulationData.getMotionVelocities(); - PxTransform* transforms = mArticulationData.mPreTransform.begin(); + //PxTransform* transforms = mArticulationData.mPreTransform.begin(); Cm::SpatialVectorF* deferredZ = mArticulationData.getSpatialZAVectors(); @@ -4609,10 +4423,11 @@ namespace Dy if (!fixBase) { - Cm::SpatialVectorF temp = mArticulationData.getBaseInvSpatialArticulatedInertia() * (-deferredZ[0]); - - const PxTransform& body2World0 = transforms[0]; - rootLinkDeltaV = temp.rotate(body2World0); + //Cm::SpatialVectorF temp = mArticulationData.getBaseInvSpatialArticulatedInertia() * (-deferredZ[0]); + //const PxTransform& body2World0 = transforms[0]; + //rootLinkDeltaV = temp.rotate(body2World0); + //temp is now in world space! + rootLinkDeltaV = mArticulationData.getBaseInvSpatialArticulatedInertiaW() * (-deferredZ[0]); } rootLinkV = rootLinkDeltaV + baseVelocities[0]; @@ -4634,8 +4449,9 @@ namespace Dy solveStaticConstraint(desc, rootLinkV, im0, rootLinkDeltaV, deltaMotion, deltaQ, isTGS, elapsedTime, minPenetration); } - im0.top = transforms[0].rotateInv(im0.top); - im0.bottom = transforms[0].rotateInv(im0.bottom); + //Impulses and deferredZ are now in world space, not link space! + /*im0.top = transforms[0].rotateInv(im0.top); + im0.bottom = transforms[0].rotateInv(im0.bottom);*/ } } @@ -4656,10 +4472,13 @@ namespace Dy //There's an impulse, we have to work out how it impacts our velocity (only if required (we have more children to traverse))! if (!fixBase && children != 0) { - Cm::SpatialVectorF temp = mArticulationData.getBaseInvSpatialArticulatedInertia() * (-imp); + /*Cm::SpatialVectorF temp = mArticulationData.getBaseInvSpatialArticulatedInertia() * (-imp); const PxTransform& body2World0 = transforms[0]; - rootLinkDeltaV += temp.rotate(body2World0); + rootLinkDeltaV += temp.rotate(body2World0);*/ + + //Impulses and deltaVs are all now in world space + rootLinkDeltaV += mArticulationData.getBaseInvSpatialArticulatedInertiaW() * (-imp); } } @@ -4674,7 +4493,6 @@ namespace Dy { for (PxU32 i = 0; i < count; ++i) { - deferredZ[i] += impulses[i]; } mArticulationData.mJointDirty = true; @@ -4716,11 +4534,13 @@ namespace Dy const PxVec3 childOffset = -joint->childPose.p; const PxVec3 parentOffset = joint->parentPose.p; + const PxQuat relativeQuat = mArticulationData.mRelativeQuat[linkID]; + switch (joint->jointType) { case PxArticulationJointType::ePRISMATIC: { - newParentToChild = joint->relativeQuat; + newParentToChild = relativeQuat; const PxVec3 e = newParentToChild.rotate(parentOffset); const PxVec3 d = childOffset; @@ -4737,7 +4557,7 @@ namespace Dy if (jointRotation.w < 0) //shortest angle. jointRotation = -jointRotation; - newParentToChild = (jointRotation * joint->relativeQuat).getNormalized(); + newParentToChild = (jointRotation * relativeQuat).getNormalized(); const PxVec3 e = newParentToChild.rotate(parentOffset); const PxVec3 d = childOffset; @@ -4771,7 +4591,7 @@ namespace Dy newWorldQ = Ps::exp(worldAngVel) * oldTransform.q; - newParentToChild = (newWorldQ.getConjugate() * joint->relativeQuat * pBody2World.q).getNormalized(); + newParentToChild = (newWorldQ.getConjugate() * relativeQuat * pBody2World.q).getNormalized(); const PxVec3 e = newParentToChild.rotate(parentOffset); const PxVec3 d = childOffset; @@ -4783,7 +4603,7 @@ namespace Dy case PxArticulationJointType::eFIX: { //this is fix joint so joint don't have velocity - newParentToChild = joint->relativeQuat; + newParentToChild = relativeQuat; const PxVec3 e = newParentToChild.rotate(parentOffset); const PxVec3 d = childOffset; diff --git a/physx/source/lowleveldynamics/src/DyFeatherstoneArticulationLink.h b/physx/source/lowleveldynamics/src/DyFeatherstoneArticulationLink.h index 9412ac472..f59974861 100644 --- a/physx/source/lowleveldynamics/src/DyFeatherstoneArticulationLink.h +++ b/physx/source/lowleveldynamics/src/DyFeatherstoneArticulationLink.h @@ -47,27 +47,22 @@ namespace physx class ArticulationLinkData { + const static PxU32 MaxJointRows = 3; public: ArticulationLinkData() { maxPenBias = 0.f; } - Cm::SpatialVectorF Is[6];//stI is the transpose of Is - SpatialTransform childToBase; + Cm::SpatialVectorF IsW[MaxJointRows];//stI is the transpose of Is + PxVec3 childToBase; PxVec3 r; //vector from parent com to child com PxVec3 rw; //vector from parent com to child com - PxReal qstZIc[6];//jointForce - stZIc + PxReal qstZIc[MaxJointRows];//jointForce - stZIc PxReal maxPenBias; }; - struct ArticSolverData - { - SpatialTransform childToParent; - PxReal invStIs[6][6]; - }; - }//namespace Dy } diff --git a/physx/source/lowleveldynamics/src/DyFeatherstoneForwardDynamic.cpp b/physx/source/lowleveldynamics/src/DyFeatherstoneForwardDynamic.cpp index 94364ae66..689bbe79d 100644 --- a/physx/source/lowleveldynamics/src/DyFeatherstoneForwardDynamic.cpp +++ b/physx/source/lowleveldynamics/src/DyFeatherstoneForwardDynamic.cpp @@ -123,14 +123,15 @@ namespace Dy { for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { - Cm::SpatialVectorF& sa = mArticulationData.mMotionMatrix[linkID][ind]; - linkDatum.Is[ind] = mArticulationData.mSpatialArticulatedInertia[linkID] * sa; + const Cm::UnAlignedSpatialVector tmp = mArticulationData.mWorldSpatialArticulatedInertia[linkID] * mArticulationData.mWorldMotionMatrix[linkID][ind]; + linkDatum.IsW[ind].top = tmp.top; + linkDatum.IsW[ind].bottom = tmp.bottom; } } //compute inertia contribution part - SpatialMatrix FeatherstoneArticulation::computePropagateSpatialInertia(const PxU8 jointType, ArticulationLinkData& linkDatum, ArticulationJointCoreData& jointDatum, - const SpatialMatrix& articulatedInertia, InvStIs& invStIs, IsInvD& isInvD, const SpatialSubspaceMatrix& motionMatrix) + SpatialMatrix FeatherstoneArticulation::computePropagateSpatialInertia(const PxU8 jointType, ArticulationJointCoreData& jointDatum, + const SpatialMatrix& articulatedInertia, const Cm::SpatialVectorF* linkIs, InvStIs& invStIs, IsInvD& isInvD, const SpatialSubspaceMatrix& motionMatrix) { SpatialMatrix spatialInertia; @@ -139,11 +140,11 @@ namespace Dy case PxArticulationJointType::ePRISMATIC: case PxArticulationJointType::eREVOLUTE: { - const Cm::SpatialVectorF& sa = motionMatrix[0]; + const Cm::UnAlignedSpatialVector& sa = motionMatrix[0]; - Cm::SpatialVectorF& Is = linkDatum.Is[0]; + const Cm::SpatialVectorF& Is = linkIs[0]; - const PxReal stIs = sa.innerProduct(linkDatum.Is[0]); + const PxReal stIs = sa.innerProduct(Is); const PxReal iStIs = (stIs > /*PX_EPS_REAL*/1e-5f) ? (1.f / stIs) : 0.f; @@ -165,16 +166,16 @@ namespace Dy { #if FEATHERSTONE_DEBUG //This is for debugging - Temp6x6Matrix bigInertia(linkDatum.spatialArticulatedInertia); - Temp6x3Matrix bigS(jointDatum.motionMatrix.getColumns()); + Temp6x6Matrix bigInertia(articulatedInertia); + Temp6x3Matrix bigS(motionMatrix.getColumns()); Temp6x3Matrix bigIs = bigInertia * bigS; for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { - Cm::SpatialVectorF tempIs = bigInertia * jointDatum.motionMatrix[ind]; + Cm::SpatialVectorF tempIs = bigInertia * motionMatrix[ind]; - PX_ASSERT(isSpatialVectorEqual(tempIs, linkDatum.Is[ind])); + PX_ASSERT(isSpatialVectorEqual(tempIs, linkIs[ind])); PX_ASSERT(bigIs.isColumnEqual(ind, tempIs)); @@ -185,8 +186,8 @@ namespace Dy { for (PxU32 ind2 = 0; ind2 < jointDatum.dof; ++ind2) { - const Cm::SpatialVectorF& sa = motionMatrix[ind2]; - D[ind][ind2] = sa.innerProduct(linkDatum.Is[ind]); + const Cm::UnAlignedSpatialVector& sa = motionMatrix[ind2]; + D[ind][ind2] = sa.innerProduct(linkIs[ind]); } } @@ -211,13 +212,13 @@ namespace Dy for (PxU32 ind2 = 0; ind2 < jointDatum.dof; ++ind2) { - Cm::SpatialVectorF& Is = linkDatum.Is[ind2]; + const Cm::SpatialVectorF& Is = linkIs[ind2]; isID += Is * invStIs.invStIs[ind][ind2]; } isInvD.isInvD[ind] = isID; #if FEATHERSTONE_DEBUG - const bool equal = bigIsInvD.isColumnEqual(ind, linkDatum.IsInvD[ind]); + const bool equal = bigIsInvD.isColumnEqual(ind, isInvD.isInvD[ind]); PX_ASSERT(equal); #endif } @@ -234,7 +235,7 @@ namespace Dy Cm::SpatialVectorF sat = Cm::SpatialVectorF(sa.bottom, sa.top); Cm::SpatialVectorF tstI = transpose6x6 * sat; #endif - Cm::SpatialVectorF& Is = linkDatum.Is[ind]; + const Cm::SpatialVectorF& Is = linkIs[ind]; #if FEATHERSTONE_DEBUG Cm::SpatialVectorF temp(Is.bottom, Is.top); @@ -295,21 +296,17 @@ namespace Dy computeIs(linkDatum, jointDatum, linkID); //(I - Is*Inv(sIs)*sI) - SpatialMatrix spatialInertia = computePropagateSpatialInertia(link.inboundJoint->jointType, - linkDatum, jointDatum, data.mSpatialArticulatedInertia[linkID], data.mInvStIs[linkID], data.mIsInvD[linkID], data.mMotionMatrix[linkID]); + SpatialMatrix spatialInertiaW = computePropagateSpatialInertia(link.inboundJoint->jointType, + jointDatum, data.mWorldSpatialArticulatedInertia[linkID], linkDatum.IsW, data.mInvStIs[linkID], data.mIsInvDW[linkID], data.mWorldMotionMatrix[linkID]); //transform spatial inertia into parent space - FeatherstoneArticulation::transformInertia(data.mChildToParent[linkID], spatialInertia); - //PX_ASSERT(spatialInertia.isTranspose(spatialInertia.topLeft, spatialInertia.bottomRight)); - - //accumulate child's articulated spatial inertia to the parent's articulated spatial inertia - data.mSpatialArticulatedInertia[link.parent] += spatialInertia; + FeatherstoneArticulation::translateInertia(constructSkewSymmetricMatrix(linkDatum.rw), spatialInertiaW); + + data.mWorldSpatialArticulatedInertia[link.parent] += spatialInertiaW; } //cache base link inverse spatial inertia - //ArticulationLinkData& bLinkDatum = linkData[0]; - //data.mBaseInvSpatialArticulatedInertia = data.mSpatialArticulatedInertia[0].invertInertia(); - data.mSpatialArticulatedInertia[0].invertInertiaV(data.mBaseInvSpatialArticulatedInertia); + data.mWorldSpatialArticulatedInertia[0].invertInertiaV(data.mBaseInvSpatialArticulatedInertiaW); } void FeatherstoneArticulation::computeArticulatedResponseMatrix(ArticulationData& data) @@ -331,34 +328,29 @@ namespace Dy const bool fixBase = data.getArticulationFlags() & PxArticulationFlag::eFIX_BASE; //(1) impulse response vector for root link - - SpatialImpulseResponseMatrix* responses = data.getImpulseResponseMatrix(); + SpatialImpulseResponseMatrix* responsesW = data.getImpulseResponseMatrixWorld(); if (fixBase) { //Fixed base, so response is zero - PxMemZero(responses, sizeof(SpatialImpulseResponseMatrix)); + PxMemZero(responsesW, sizeof(SpatialImpulseResponseMatrix)); } else { //Compute impulse response matrix. Compute the impulse response of unit responses on all 6 axes... - - const SpatialMatrix& inverseArticulatedInertia = data.mBaseInvSpatialArticulatedInertia; + const SpatialMatrix& inverseArticulatedInertiaW = data.mBaseInvSpatialArticulatedInertiaW; for (PxU32 i = 0; i < 6; ++i) { - // Cm::SpatialVectorF vec = Cm::SpatialVectorF::Zero(); vec[i] = 1.f; - - Cm::SpatialVectorF resp = inverseArticulatedInertia * vec; - - responses[0].rows[i] = resp; - + responsesW[0].rows[i] = inverseArticulatedInertiaW * vec; } } for (PxU32 linkID = 1; linkID < linkCount; ++linkID) { + PxVec3 offset = data.getLinkData(linkID).rw; + for (PxU32 i = 0; i < 6; ++i) { //Impulse has to be negated! @@ -369,15 +361,16 @@ namespace Dy ArticulationLink& tLink = links[linkID]; //(1) Propagate impulse to parent - Cm::SpatialVectorF Zp = FeatherstoneArticulation::propagateImpulse(data.mIsInvD[linkID], data.mChildToParent[linkID], - data.mMotionMatrix[linkID], temp); //(2) Get deltaV response for parent - Cm::SpatialVectorF zR = -responses[tLink.parent].getResponse(Zp); + Cm::SpatialVectorF Zp = FeatherstoneArticulation::propagateImpulseW(data.mIsInvDW[linkID], offset, + data.mWorldMotionMatrix[linkID], temp); //(2) Get deltaV response for parent + Cm::SpatialVectorF zR = -responsesW[tLink.parent].getResponse(Zp); + //(3) Compute deltaV response for this link based on response from parent and original impulse - Cm::SpatialVectorF deltaV = FeatherstoneArticulation::propagateVelocityTestImpulse(data.mChildToParent[linkID], - data.mSpatialArticulatedInertia[linkID], data.mInvStIs[linkID], data.mMotionMatrix[linkID], temp, zR); + Cm::SpatialVectorF deltaV = FeatherstoneArticulation::propagateVelocityTestImpulseW(offset, + data.mWorldSpatialArticulatedInertia[linkID], data.mInvStIs[linkID], data.mWorldMotionMatrix[linkID], temp, zR); //Store in local space (required for propagation - responses[linkID].rows[i] = deltaV; + responsesW[linkID].rows[i] = deltaV; } } } @@ -404,7 +397,7 @@ namespace Dy ArticulationJointCoreData& jointDatum = jointData[linkID]; //calculate spatial zero acceleration force, this can move out of the loop - Cm::SpatialVectorF Ic = data.mSpatialArticulatedInertia[linkID] * coriolisVectors[linkID]; + Cm::SpatialVectorF Ic = data.mWorldSpatialArticulatedInertia[linkID] * coriolisVectors[linkID]; Cm::SpatialVectorF ZIc = articulatedZA[linkID] + Ic; const PxReal* jF = &jointForces[jointDatum.jointOffset]; @@ -412,7 +405,7 @@ namespace Dy Cm::SpatialVectorF ZA(PxVec3(0.f), PxVec3(0.f)); for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { - const Cm::SpatialVectorF& sa = data.mMotionMatrix[linkID][ind]; + const Cm::UnAlignedSpatialVector& sa = data.mWorldMotionMatrix[linkID][ind]; const PxReal stZ = sa.innerProduct(ZIc); //link.qstZIc[ind] = jF[ind] - stZ; @@ -420,22 +413,22 @@ namespace Dy linkDatum.qstZIc[ind] = qstZic; PX_ASSERT(PxIsFinite(qstZic)); - ZA += data.mIsInvD[linkID].isInvD[ind] * qstZic; + ZA += data.mIsInvDW[linkID].isInvD[ind] * qstZic; } //accumulate childen's articulated zero acceleration force to parent's articulated zero acceleration ZA += ZIc; - articulatedZA[link.parent] += data.mChildToParent[linkID] * ZA; + articulatedZA[link.parent] += FeatherstoneArticulation::translateSpatialVector(linkDatum.rw, ZA); } } - void FeatherstoneArticulation::computeJointAcceleration(ArticulationLinkData& linkDatum, ArticulationJointCoreData& jointDatum, + void FeatherstoneArticulation::computeJointAccelerationW(ArticulationLinkData& linkDatum, ArticulationJointCoreData& jointDatum, const Cm::SpatialVectorF& pMotionAcceleration, PxReal* jointAcceleration, const PxU32 linkID) - { + { PxReal tJAccel[6]; for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { //stI * pAcceleration - const PxReal temp = linkDatum.Is[ind].innerProduct(pMotionAcceleration); + const PxReal temp = linkDatum.IsW[ind].innerProduct(pMotionAcceleration); tJAccel[ind] = (linkDatum.qstZIc[ind] - temp); } @@ -470,7 +463,7 @@ namespace Dy if (!fixBase) { //ArticulationLinkData& baseLinkDatum = data.getLinkData(0); - SpatialMatrix invInertia = data.mBaseInvSpatialArticulatedInertia;//baseLinkDatum.spatialArticulatedInertia.invertInertia(); + SpatialMatrix invInertia = data.mBaseInvSpatialArticulatedInertiaW;//baseLinkDatum.spatialArticulatedInertia.invertInertia(); #if FEATHERSTONE_DEBUG SpatialMatrix result = invInertia * baseLinkDatum.spatialArticulatedInertia; @@ -480,8 +473,8 @@ namespace Dy PX_ASSERT(isIdentity); PX_UNUSED(isIdentity); #endif - ArticulationLink& baseLink = data.getLink(0); - const PxTransform& body2World = baseLink.bodyCore->body2World; + //ArticulationLink& baseLink = data.getLink(0); + //const PxTransform& body2World = baseLink.bodyCore->body2World; motionAccelerations[0] = -(invInertia * spatialZAForces[0]); Cm::SpatialVectorF deltaV = motionAccelerations[0] * dt; @@ -489,8 +482,8 @@ namespace Dy //Cm::SpatialVectorF oldMotionVel = motionVelocities[0]; //Cm::SpatialVectorF oldVel = motionVelocities[0]; - motionVelocities[0].top += body2World.rotate(deltaV.top); - motionVelocities[0].bottom += body2World.rotate(deltaV.bottom); + motionVelocities[0].top += deltaV.top; + motionVelocities[0].bottom += deltaV.bottom; } #if FEATHERSTONE_DEBUG else @@ -513,19 +506,22 @@ namespace Dy for (PxU32 linkID = 1; linkID < linkCount; ++linkID) { ArticulationLink& link = data.getLink(linkID); + //ArticulationLink& plink = data.getLink(link.parent); ArticulationLinkData& linkDatum = data.getLinkData(linkID); ArticulationJointCore& joint = *link.inboundJoint; PX_UNUSED(joint); - SpatialTransform p2C = data.mChildToParent[linkID].getTranspose(); - Cm::SpatialVectorF pMotionAcceleration = p2C * motionAccelerations[link.parent]; + //const SpatialTransform& p2C = data.mChildToParent[linkID].getTranspose(); + //Cm::SpatialVectorF pMotionAcceleration = (p2C * motionAccelerations[link.parent].rotateInv(plink.bodyCore->body2World)); + + Cm::SpatialVectorF pMotionAcceleration = FeatherstoneArticulation::translateSpatialVector(-linkDatum.rw, motionAccelerations[link.parent]); ArticulationJointCoreData& jointDatum = data.getJointData(linkID); //calculate jointAcceleration PxReal* jA = &jointAccelerations[jointDatum.jointOffset]; - computeJointAcceleration(linkDatum, jointDatum, pMotionAcceleration, jA, linkID); + computeJointAccelerationW(linkDatum, jointDatum, pMotionAcceleration, jA, linkID); //printf("jA %f\n", jA[0]); Cm::SpatialVectorF motionAcceleration(PxVec3(0.f), PxVec3(0.f)); @@ -541,19 +537,19 @@ namespace Dy } jointVelocity[ind] = jVel; - motionAcceleration += data.mMotionMatrix[linkID][ind] * jA[ind]; + motionAcceleration.top += data.mWorldMotionMatrix[linkID][ind].top * jA[ind]; + motionAcceleration.bottom += data.mWorldMotionMatrix[linkID][ind].bottom * jA[ind]; } //KS - can we just work out velocities by projecting out the joint velocities instead of accumulating all this? motionAccelerations[linkID] = pMotionAcceleration + coriolisVectors[linkID] + motionAcceleration; PX_ASSERT(motionAccelerations[linkID].isFinite()); - const PxTransform body2World = link.bodyCore->body2World; + //const PxTransform body2World = link.bodyCore->body2World; //motionVelocities[linkID] += motionAccelerations[linkID] * dt; const Cm::SpatialVectorF deltaV = motionAccelerations[linkID] * dt; - motionVelocities[linkID].top += body2World.rotate(deltaV.top); - motionVelocities[linkID].bottom += body2World.rotate(deltaV.bottom); + motionVelocities[linkID] += deltaV; } } @@ -568,10 +564,12 @@ namespace Dy for (PxU32 linkID = startIndex; linkID > 1; --linkID) { - ArticulationLink& link = data.getLink(linkID); + const ArticulationLink& link = data.getLink(linkID); + const ArticulationLinkData& linkDatum = data.getLinkData(linkID); //joint force transmitted from parent to child - transmittedForce[link.parent] += data.mChildToParent[linkID] * transmittedForce[linkID]; + //transmittedForce[link.parent] += data.mChildToParent[linkID] * transmittedForce[linkID]; + transmittedForce[link.parent] += FeatherstoneArticulation::translateSpatialVector(linkDatum.rw, transmittedForce[linkID]); } transmittedForce[0] = Cm::SpatialVectorF::Zero(); @@ -652,20 +650,17 @@ namespace Dy { ArticulationLink& link = links[linkID]; PxsBodyCore& core = *link.bodyCore; - - const PxTransform& body2World = core.body2World; - + Cm::SpatialVector& externalAccel = acceleration[linkID]; - const PxVec3 linkGravity = body2World.rotateInv(gravity); - PxVec3 linearAccel = body2World.rotateInv(externalAccel.linear); + PxVec3 linearAccel = externalAccel.linear; if(!core.disableGravity) - linearAccel += linkGravity; + linearAccel += gravity; - PxVec3 angularAccel = body2World.rotateInv(externalAccel.angular); + PxVec3 angularAccel = externalAccel.angular; Cm::SpatialVectorF a(angularAccel, linearAccel); - Z[linkID] = data.mSpatialArticulatedInertia[linkID] * a * -dt; + Z[linkID] = data.mWorldSpatialArticulatedInertia[linkID] * a * -dt; externalAccel.linear = PxVec3(0.f); externalAccel.angular = PxVec3(0.f); } @@ -673,7 +668,7 @@ namespace Dy for (PxU32 linkID = PxU32(linkCount - 1); linkID > 0; --linkID) { ArticulationLink& tLink = links[linkID]; - Z[tLink.parent] += FeatherstoneArticulation::propagateImpulse(data.mIsInvD[linkID], data.mChildToParent[linkID], data.mMotionMatrix[linkID], Z[linkID]); + Z[tLink.parent] += FeatherstoneArticulation::propagateImpulseW(data.mIsInvDW[linkID], data.mLinksData[linkID].rw, data.mWorldMotionMatrix[linkID], Z[linkID]); } if (fixBase) @@ -684,7 +679,7 @@ namespace Dy { //ArticulationLinkData& hLinkDatum = linkData[0]; - SpatialMatrix inverseArticulatedInertia = data.mSpatialArticulatedInertia[0].getInverse(); + SpatialMatrix inverseArticulatedInertia = data.mWorldSpatialArticulatedInertia[0].getInverse(); deltaV[0] = inverseArticulatedInertia * (-Z[0]); motionVelcities[0] += deltaV[0]; @@ -697,8 +692,8 @@ namespace Dy ArticulationLink& tLink = links[linkID]; ArticulationJointCoreData& tJointDatum = jointData[linkID]; PxReal* jV = &jointDeltaVelocities[tJointDatum.jointOffset]; - deltaV[linkID] = FeatherstoneArticulation::propagateVelocity(data.mChildToParent[linkID], - data.mSpatialArticulatedInertia[linkID], data.mInvStIs[linkID], data.mMotionMatrix[linkID], Z[linkID], jV, deltaV[tLink.parent]); + deltaV[linkID] = FeatherstoneArticulation::propagateVelocityW(data.mLinksData[linkID].rw, + data.mWorldSpatialArticulatedInertia[linkID], data.mInvStIs[linkID], data.mWorldMotionMatrix[linkID], Z[linkID], jV, deltaV[tLink.parent]); motionVelcities[linkID] += deltaV[linkID]; PX_ASSERT(motionVelcities[linkID].isFinite()); } @@ -729,7 +724,11 @@ namespace Dy ArticulationData& data = articulation->mArticulationData; data.setDt(dt); - return articulation->computeUnconstrainedVelocitiesInternal(acCount, gravity, Z, deltaV); + articulation->computeUnconstrainedVelocitiesInternal(gravity, Z, deltaV); + + const bool fixBase = data.getArticulationFlags() & PxArticulationFlag::eFIX_BASE; + + return articulation->setupSolverConstraints(data.getLinks(), data.getLinkCount(), fixBase, data, Z, acCount); } void FeatherstoneArticulation::computeUnconstrainedVelocitiesTGS( @@ -743,7 +742,7 @@ namespace Dy ArticulationData& data = articulation->mArticulationData; data.setDt(dt); - return articulation->computeUnconstrainedVelocitiesTGSInternal(gravity, Z, DeltaV); + articulation->computeUnconstrainedVelocitiesInternal(gravity, Z, DeltaV); } //void FeatherstoneArticulation::computeCounteractJointForce(const ArticulationSolverDesc& desc, ScratchData& /*scratchData*/, const PxVec3& gravity) @@ -839,8 +838,7 @@ namespace Dy computeLinkAcceleration(mArticulationData, scratchData); } - PxU32 FeatherstoneArticulation::computeUnconstrainedVelocitiesInternal( - PxU32& acCount, + void FeatherstoneArticulation::computeUnconstrainedVelocitiesInternal( const PxVec3& gravity, Cm::SpatialVectorF* Z, Cm::SpatialVectorF* DeltaV) { @@ -850,9 +848,7 @@ namespace Dy PxMemZero(mArticulationData.mNbStaticConstraints.begin(), mArticulationData.mNbStaticConstraints.size()*sizeof(PxU32)); - ArticulationLink* links = mArticulationData.getLinks(); const PxU32 linkCount = mArticulationData.getLinkCount(); - const bool fixBase = mArticulationData.getArticulationFlags() & PxArticulationFlag::eFIX_BASE; mArticulationData.init(); @@ -899,117 +895,40 @@ namespace Dy mArticulationData.mPreTransform[a] = mArticulationData.getLink(a).bodyCore->body2World; mArticulationData.mDeltaQ[a] = PxQuat(PxIdentity); } - - return setupSolverConstraints(links, linkCount, fixBase, mArticulationData, Z, acCount); - } - - void FeatherstoneArticulation::computeUnconstrainedVelocitiesTGSInternal(const PxVec3& gravity, - Cm::SpatialVectorF* Z, Cm::SpatialVectorF* DeltaV) - { - //PX_PROFILE_ZONE("Articulations:computeUnconstrainedVelocitiesSS", 0); - const PxU32 linkCount = mArticulationData.getLinkCount(); - - mStaticConstraints.forceSize_Unsafe(0); - PxMemZero(mArticulationData.mNbStaticConstraints.begin(), mArticulationData.mNbStaticConstraints.size() * sizeof(PxU32)); - - mArticulationData.init(); - - jcalc(mArticulationData); - - ScratchData scratchData; - scratchData.motionVelocities = mArticulationData.getMotionVelocities(); - scratchData.motionAccelerations = mArticulationData.getMotionAccelerations(); - scratchData.coriolisVectors = mArticulationData.getCorioliseVectors(); - scratchData.spatialZAVectors = mArticulationData.getSpatialZAVectors(); - scratchData.jointAccelerations = mArticulationData.getJointAccelerations(); - scratchData.jointVelocities = mArticulationData.getJointVelocities(); - scratchData.jointPositions = mArticulationData.getJointPositions(); - scratchData.jointForces = mArticulationData.getJointForces(); - scratchData.externalAccels = mArticulationData.getExternalAccelerations(); - - for (PxU32 a = 0; a < mArticulationData.getLinkCount(); ++a) - { - mArticulationData.mAccumulatedPoses[a] = mArticulationData.getLink(a).bodyCore->body2World; - mArticulationData.mPreTransform[a] = mArticulationData.getLink(a).bodyCore->body2World; - mArticulationData.mDeltaQ[a] = PxQuat(PxIdentity); - } - - updateArticulation(scratchData, gravity, Z, DeltaV); - - scratchData.spatialZAVectors = mArticulationData.getTransmittedForces(); - computeZAForceInv(mArticulationData, scratchData); - computeJointTransmittedFrictionForce(mArticulationData, scratchData, Z, DeltaV); - - //zero zero acceleration vector in the articulation data so that we can use this buffer to accumulated - //impulse for the contacts/constraints in the PGS/TGS solvers - PxMemZero(mArticulationData.getSpatialZAVectors(), sizeof(Cm::SpatialVectorF) * linkCount); - - //the dirty flag is used in inverse dynamic - mArticulationData.setDataDirty(true); - - - mArticulationData.mAccumulatedDt = 0.f; } void FeatherstoneArticulation::enforcePrismaticLimits(PxReal* jPosition, ArticulationJointCore* joint) { - if (joint->prismaticLimited) + const PxU32 dofId = joint->dofIds[0]; + if (joint->motion[dofId] == PxArticulationMotion::eLIMITED) { - if (jPosition[0] < (joint->limits[joint->dofIds[0]].low)) - jPosition[0] = joint->limits[joint->dofIds[0]].low; + if (jPosition[0] < (joint->limits[dofId].low)) + jPosition[0] = joint->limits[dofId].low; - if (jPosition[0] > (joint->limits[joint->dofIds[0]].high)) - jPosition[0] = joint->limits[joint->dofIds[0]].high; + if (jPosition[0] > (joint->limits[dofId].high)) + jPosition[0] = joint->limits[dofId].high; } } - PxQuat computeSphericalJointPositions(ArticulationJointCore* joint, + PxQuat computeSphericalJointPositions(const PxQuat relativeQuat, const PxQuat newRot, const PxQuat pBody2WorldRot, - PxReal* jPositions) + PxReal* jPositions, const SpatialSubspaceMatrix& motionMatrix) { PxQuat newParentToChild = (newRot.getConjugate() * pBody2WorldRot).getNormalized(); - const PxQuat cA2w = pBody2WorldRot * joint->parentPose.q; - PxQuat cB2w = newRot * joint->childPose.q; - - if (cA2w.dot(cB2w)<0.0f) // minimum dist quat (equiv to flipping cB2bB.q, which we don't use anywhere) - cB2w = -cB2w; - - const PxQuat cB2cA = cA2w.getConjugate() * cB2w; - - //tan(t / 2) = sin(t) / (1 + cos t), so this is the quarter angle - /*PxQuat twist, swing1, swing2; - - separateSwingTwist2(cB2cA, twist, swing1, swing2); - - const PxReal theta0 = PxAtan2(twist.x, (1.f + twist.w)) * 4.f; - const PxReal theta1 = PxAtan2(swing1.y, (1.f + swing1.w)) * 4.f; - const PxReal theta2 = PxAtan2(swing2.z, (1.f + swing2.w)) * 4.f; */ - - PxQuat twist, swing; + PxQuat jointRotation = newParentToChild * relativeQuat.getConjugate(); - Ps::separateSwingTwist(cB2cA, swing, twist); + PxReal radians; + PxVec3 axis; + jointRotation.toRadiansAndUnitAxis(radians, axis); - const PxReal theta0 = PxAtan2(twist.x, (1.f + twist.w)) * 4.f; - const PxReal theta1 = PxAtan2(swing.y, (1.f + swing.w)) * 4.f; - const PxReal theta2 = PxAtan2(swing.z, (1.f + swing.w)) * 4.f; + axis *= radians; + for (PxU32 d = 0; d < 3; ++d) + { + jPositions[d] = -motionMatrix[d].top.dot(axis); + } - PxU32 dofIndex = 0; - if (joint->motion[PxArticulationAxis::eTWIST] != PxArticulationMotion::eLOCKED) - jPositions[dofIndex++] = theta0; - if (joint->motion[PxArticulationAxis::eSWING1] != PxArticulationMotion::eLOCKED) - jPositions[dofIndex++] = theta1; - if (joint->motion[PxArticulationAxis::eSWING2] != PxArticulationMotion::eLOCKED) - jPositions[dofIndex++] = theta2; - - if (joint->motion[PxArticulationAxis::eTWIST] == PxArticulationMotion::eLOCKED) - jPositions[dofIndex++] = theta0; - if (joint->motion[PxArticulationAxis::eSWING1] == PxArticulationMotion::eLOCKED) - jPositions[dofIndex++] = theta1; - if (joint->motion[PxArticulationAxis::eSWING2] == PxArticulationMotion::eLOCKED) - jPositions[dofIndex++] = theta2; - return newParentToChild; } @@ -1032,8 +951,8 @@ namespace Dy ArticulationLink& pLink = links[link.parent]; //const PxTransform pBody2World = pLink.bodyCore->body2World; - computeSphericalJointPositions(joint, link.bodyCore->body2World.q, - pLink.bodyCore->body2World.q, jPositions); + computeSphericalJointPositions(data.mRelativeQuat[linkID], link.bodyCore->body2World.q, + pLink.bodyCore->body2World.q, jPositions, data.getMotionMatrix(linkID)); } else if (joint->jointType == PxArticulationJointType::eREVOLUTE) { @@ -1122,23 +1041,19 @@ namespace Dy //} - void FeatherstoneArticulation::propagateVelocitiesDown( - ArticulationData& data, PxReal* jointDeltaVelocities, - Cm::SpatialVectorF* motionVelocities, PxReal* jointVelocities) + void FeatherstoneArticulation::updateJointProperties(const PxReal* jointDeltaVelocities, + const Cm::SpatialVectorF* motionVelocities, PxReal* jointVelocities, PxReal* jointAccelerations) { - PX_UNUSED(data); using namespace Dy; ArticulationLink* links = mArticulationData.getLinks(); - PxTransform* preTransforms = mArticulationData.getPreTransform(); - PX_UNUSED(preTransforms); - PX_UNUSED(motionVelocities); - ArticulationJointCoreData* jointData = mArticulationData.getJointData(); const PxU32 linkCount = mArticulationData.getLinkCount(); + const PxReal invDt = 1.f / mArticulationData.getDt(); + for (PxU32 linkID = 1; linkID < linkCount; ++linkID) { ArticulationLink& link = links[linkID]; @@ -1153,7 +1068,8 @@ namespace Dy ArticulationJointCoreBase& joint = *link.inboundJoint; PxReal* jVelocity = &jointVelocities[jointDatum.jointOffset]; - PxReal* jDeltaVelocity = &jointDeltaVelocities[jointDatum.jointOffset]; + PxReal* jAccel = &jointAccelerations[jointDatum.jointOffset]; + const PxReal* jDeltaVelocity = &jointDeltaVelocities[jointDatum.jointOffset]; switch (joint.jointType) { @@ -1161,6 +1077,7 @@ namespace Dy case PxArticulationJointType::eREVOLUTE: { jVelocity[0] += jDeltaVelocity[0]; + jAccel[0] += jDeltaVelocity[0] * invDt; break; } case PxArticulationJointType::eSPHERICAL: @@ -1170,32 +1087,22 @@ namespace Dy for (PxU32 i = 0; i < jointDatum.dof; ++i) { jVelocity[i] += jDeltaVelocity[i]; + jAccel[i] += jDeltaVelocity[i] * invDt; } } else { - PxReal jVel0 = jVelocity[0]; - PxReal jVel1 = jVelocity[1]; - PxReal jVel2 = jVelocity[2]; - - //PxReal jTmpVel[3] = {jVel0 + jDeltaVelocity[0], jVel1 + jDeltaVelocity[1], jVel2 + jDeltaVelocity[2]}; + PxReal jTmpVel[3] = { jVelocity[0], jVelocity[1], jVelocity[2] }; PxVec3 worldRelAngVel = motionVelocities[linkID].top - motionVelocities[parent].top; computeSphericalJointVelocities(joint, body2World.q, worldRelAngVel, jVelocity); - //computeSphericalJointVelocities(data.mMotionMatrix[linkID], body2World.q, worldRelAngVel, jVelocity); - - jDeltaVelocity[0] = jVel0 - jVelocity[0]; - jDeltaVelocity[1] = jVel1 - jVelocity[1]; - jDeltaVelocity[2] = jVel2 - jVelocity[2]; - - /*for (PxU32 i = 0; i < 3; ++i) + for (PxU32 i = 0; i < 3; ++i) { - PxReal delta = jVelocity[i] - jTmpVel[i]; - PX_ASSERT(PxAbs(delta) < 1e-3f); - }*/ - + const PxReal jDeltaV = jTmpVel[i] - jVelocity[i]; + jointAccelerations[i] += jDeltaV * invDt; + } } break; @@ -1206,6 +1113,102 @@ namespace Dy } } + void FeatherstoneArticulation::recomputeAccelerations(const PxReal dt) + { + ArticulationJointCoreData* jointData = mArticulationData.getJointData(); + + const PxU32 linkCount = mArticulationData.getLinkCount(); + + Cm::SpatialVectorF* motionAccels = mArticulationData.getMotionAccelerations(); + PxReal* jDeltaVelocities = mArticulationData.getJointDeltaVelocities(); + + const PxReal invDt = 1.f / dt; + + const bool fixBase = mArticulationData.getArticulationFlags() & PxArticulationFlag::eFIX_BASE; + + //compute root link accelerations + if (fixBase) + { + motionAccels[0] = Cm::SpatialVectorF::Zero(); + } + else + { + + Cm::SpatialVectorF tAccel = (mArticulationData.getMotionVelocity(0) - mArticulationData.mRootPreMotionVelocity) * invDt; + motionAccels[0].top = tAccel.top; + motionAccels[0].bottom = tAccel.bottom; + } + + for (PxU32 linkID = 1; linkID < linkCount; ++linkID) + { + ArticulationJointCoreData& jointDatum = jointData[linkID]; + + PxReal* jDeltaVelocity = &jDeltaVelocities[jointDatum.jointOffset]; + + for (PxU32 i = 0; i < jointDatum.dof; ++i) + { + const PxReal deltaAccel = jDeltaVelocity[i] * invDt; + motionAccels[linkID].top += mArticulationData.mWorldMotionMatrix[linkID][i].top * deltaAccel; + motionAccels[linkID].bottom += mArticulationData.mWorldMotionMatrix[linkID][i].bottom * deltaAccel; + } + } + } + + Cm::SpatialVector FeatherstoneArticulation::recomputeAcceleration(const PxU32 linkId, const PxReal dt) const + { + ArticulationLink* links = mArticulationData.getLinks(); + + Cm::SpatialVectorF tMotionAccel; + const PxReal invDt = 1.f / dt; + if (linkId == 0) + { + const bool fixBase = mArticulationData.getArticulationFlags() & PxArticulationFlag::eFIX_BASE; + if (fixBase) + { + tMotionAccel = Cm::SpatialVectorF::Zero(); + } + else + { + ArticulationLink& baseLink = links[0]; + PxTransform& body2World = baseLink.bodyCore->body2World; + + Cm::SpatialVectorF tAccel = (mArticulationData.getMotionVelocity(0) - mArticulationData.mRootPreMotionVelocity) * invDt; + tMotionAccel.top = body2World.rotate(tAccel.top); + tMotionAccel.bottom = body2World.rotate(tAccel.bottom); + } + } + else + { + + ArticulationJointCoreData* jointData = mArticulationData.getJointData(); + + const Cm::SpatialVectorF* motionAccels = mArticulationData.getMotionAccelerations(); + const PxReal* jDeltaVelocities = mArticulationData.getJointDeltaVelocities(); + + ArticulationLink& link = links[linkId]; + + ArticulationJointCoreData& jointDatum = jointData[linkId]; + + PxTransform& body2World = link.bodyCore->body2World; + + const PxReal* jDeltaVelocity = &jDeltaVelocities[jointDatum.jointOffset]; + + + for (PxU32 i = 0; i < jointDatum.dof; ++i) + { + const PxReal deltaAccel = jDeltaVelocity[i] * invDt; + tMotionAccel.top = motionAccels[linkId].top + mArticulationData.mMotionMatrix[linkId][i].top * deltaAccel; + tMotionAccel.bottom = motionAccels[linkId].bottom + mArticulationData.mMotionMatrix[linkId][i].bottom * deltaAccel; + } + + tMotionAccel.top = body2World.rotate(tMotionAccel.top); + tMotionAccel.bottom = body2World.rotate(tMotionAccel.bottom); + } + + return Cm::SpatialVector(tMotionAccel.bottom, tMotionAccel.top); + + } + void FeatherstoneArticulation::propagateLinksDown(ArticulationData& data, PxReal* jointDeltaVelocities, PxReal* jointPositions, Cm::SpatialVectorF* motionVelocities) @@ -1218,6 +1221,8 @@ namespace Dy ArticulationJointCoreData* jointData = mArticulationData.getJointData(); + const PxQuat* const PX_RESTRICT relativeQuats = mArticulationData.mRelativeQuat.begin(); + const PxU32 linkCount = mArticulationData.getLinkCount(); const PxReal dt = data.getDt(); @@ -1250,6 +1255,8 @@ namespace Dy PxTransform& body2World = link.bodyCore->body2World; + const PxQuat relativeQuat = relativeQuats[linkID]; + switch (joint->jointType) { case PxArticulationJointType::ePRISMATIC: @@ -1260,7 +1267,7 @@ namespace Dy enforcePrismaticLimits(jPosition, joint); - newParentToChild = joint->relativeQuat; + newParentToChild = relativeQuat; const PxVec3 e = newParentToChild.rotate(parentOffset); const PxVec3 d = childOffset; @@ -1290,7 +1297,7 @@ namespace Dy if (jointRotation.w < 0) //shortest angle. jointRotation = -jointRotation; - newParentToChild = (jointRotation * joint->relativeQuat).getNormalized(); + newParentToChild = (jointRotation * relativeQuat).getNormalized(); const PxVec3 e = newParentToChild.rotate(parentOffset); const PxVec3 d = childOffset; @@ -1326,7 +1333,7 @@ namespace Dy if (jointRotation.w < 0) //shortest angle. jointRotation = -jointRotation; - newParentToChild = newParentToChild * (jointRotation * joint->relativeQuat).getNormalized(); + newParentToChild = newParentToChild * (jointRotation * relativeQuat).getNormalized(); } const PxVec3 e = newParentToChild.rotate(parentOffset); const PxVec3 d = childOffset; @@ -1347,8 +1354,8 @@ namespace Dy jPos[1] = jPosition[1] + (jVelocity[1] + jDeltaVelocity[1])*dt; jPos[2] = jPosition[2] + (jVelocity[2] + jDeltaVelocity[2])*dt;*/ - newParentToChild = computeSphericalJointPositions(joint, newWorldQ, - pBody2World.q, jPosition); + newParentToChild = computeSphericalJointPositions(data.mRelativeQuat[linkID], newWorldQ, + pBody2World.q, jPosition, data.getMotionMatrix(linkID)); /*for (PxU32 i = 0; i < 3; ++i) { @@ -1368,7 +1375,7 @@ namespace Dy case PxArticulationJointType::eFIX: { //this is fix joint so joint don't have velocity - newParentToChild = joint->relativeQuat; + newParentToChild = relativeQuat; const PxVec3 e = newParentToChild.rotate(parentOffset); const PxVec3 d = childOffset; @@ -1409,11 +1416,8 @@ namespace Dy Cm::SpatialVector* externalAccels = data.getExternalAccelerations(); Cm::SpatialVector zero = Cm::SpatialVector::zero(); - if (integrateJointPositions) - data.setDt(dt); - else - data.setDt(0.f); - + data.setDt(dt); + PxTransform* preTransforms = data.getPreTransform(); if (articulation->mHasSphericalJoint) @@ -1429,14 +1433,9 @@ namespace Dy } } - const bool fixBase = data.getArticulationFlags() & PxArticulationFlag::eFIX_BASE; - - ArticulationLink& baseLink = links[0]; - - PxsBodyCore* baseBodyCore = baseLink.bodyCore; - if (!integrateJointPositions) { + //TGS for (PxU32 linkID = 0; linkID < linkCount; ++linkID) { links[linkID].bodyCore->body2World = data.mAccumulatedPoses[linkID].getNormalized(); @@ -1446,6 +1445,9 @@ namespace Dy } else { + const bool fixBase = data.getArticulationFlags() & PxArticulationFlag::eFIX_BASE; + + //PGS if (!fixBase) { //body2World store new body transform integrated from solver linear/angular velocity @@ -1458,39 +1460,25 @@ namespace Dy updateRootBody(posVel, preTrans, data, dt); } - else if(!integrateJointPositions) - { - baseBodyCore->body2World = data.mAccumulatedPoses[0]; - } - //using the original joint velocities and delta velocities changed in the positional iter to update joint position/body transform articulation->propagateLinksDown(data, data.getPosIterJointDeltaVelocities(), data.getJointPositions(), data.getPosIterMotionVelocities()); } //update joint velocities/accelerations due to contacts/constraints - if (data.mJointDirty && integrateJointPositions) + if (data.mJointDirty) { //update delta joint velocity and motion velocity due to velocity iteration changes Cm::SpatialVectorF deltaV[64]; + //update motionVelocities PxcFsFlushVelocity(*articulation, deltaV); - - //update joint velocity/accelerations PxReal* jointVelocities = data.getJointVelocities(); PxReal* jointAccelerations = data.getJointAccelerations(); PxReal* jointDeltaVelocities = data.getJointDeltaVelocities(); - articulation->propagateVelocitiesDown(data, jointDeltaVelocities, data.getMotionVelocities(), jointVelocities); - - const PxU32 totalDofs = data.getDofs(); - const PxReal invDt = 1.f / dt; - for (PxU32 i = 0; i < totalDofs; ++i) - { - //jointVelocities[i] += jointDeltaVelocities[i]; - jointAccelerations[i] += jointDeltaVelocities[i] * invDt; - } + articulation->updateJointProperties(jointDeltaVelocities, motionVelocities, jointVelocities, jointAccelerations); } for (PxU32 linkID = 0; linkID < linkCount; ++linkID) @@ -1505,143 +1493,6 @@ namespace Dy } } - //void FeatherstoneArticulation::updateBodies(const ArticulationSolverDesc& desc, PxReal dt, bool integrateJointPositions) - //{ - // PX_PROFILE_ZONE("Articulations:updateBodies", 0); - // FeatherstoneArticulation* articulation = static_cast(desc.articulation); - // ArticulationData& data = articulation->mArticulationData; - // ArticulationLink* links = data.getLinks(); - // const PxU32 linkCount = data.getLinkCount(); - - // Cm::SpatialVectorF* motionVelocities = data.getMotionVelocities(); - // Cm::SpatialVector* externalAccels = data.getExternalAccelerations(); - // Cm::SpatialVector zero = Cm::SpatialVector::zero(); - - // if (data.mJointDirty || (!integrateJointPositions)) - // { - // //printf("============collision change joint velocity============\n"); - // - // if (data.mJointDirty) - // { - // Cm::SpatialVectorF deltaV[64]; - - // PxcFsFlushVelocity(*articulation, deltaV); - // } - - // PxTransform* preTransforms = data.getPreTransform(); - - // if (integrateJointPositions) - // data.setDt(dt); - // else - // data.setDt(0.f); - - // //update joint velocity/accelerations due to contact - // PxReal* jointVelocities = data.getJointVelocities(); - // PxReal* jointAccelerations = data.getJointAccelerations(); - // PxReal* jointDeltaVelocities = data.getJointDeltaVelocities(); - // const PxU32 totalDofs = data.getDofs(); - // const PxReal invDt = 1.f / dt; - // for (PxU32 i = 0; i < totalDofs; ++i) - // { - // jointVelocities[i] += jointDeltaVelocities[i]; - // jointAccelerations[i] += jointDeltaVelocities[i] * invDt; - // //printf("jV %f\n", jointVelocities[i]); - // } - - // if (articulation->mHasSphericalJoint) - // { - // for (PxU32 i = 0; i < linkCount; ++i) - // { - // ArticulationLink& link = links[i]; - - // PxsBodyCore* bodyCore = link.bodyCore; - - // //record link's previous transform - // preTransforms[i] = bodyCore->body2World; - // } - // } - - // const bool fixBase = data.getCore()->flags & PxArticulationFlag::eFIX_BASE; - - // ArticulationLink& baseLink = links[0]; - - // PxsBodyCore* baseBodyCore = baseLink.bodyCore; - - // if (!fixBase) - // { - - // - - // //body2World store new body transform integrated from solver linear/angular velocity - // if (integrateJointPositions) - // { - // ArticulationLink& link = links[0]; - - // const PxTransform& preTrans = link.bodyCore->body2World; - - // Cm::SpatialVectorF& posVel = data.getPosIterMotionVelocity(0); - - // updateRootBody(posVel, preTrans, data, dt); - // } - // else - // { - // baseBodyCore->body2World = data.mAccumulatedPoses[0]; - // } - - // Cm::SpatialVectorF& motionVelocity = motionVelocities[0]; - // PX_ASSERT(motionVelocity.top.isFinite()); - // PX_ASSERT(motionVelocity.bottom.isFinite()); - - // baseBodyCore->linearVelocity = motionVelocity.bottom; - // baseBodyCore->angularVelocity = motionVelocity.top; - // } - - - // articulation->propagateLinksDown(data, data.getPosIterJointDeltaVelocities(), data.getJointPositions(), data.getPosIterMotionVelocities()); - - // //zero all the external accelerations - // externalAccels[0] = zero; - - // for (PxU32 linkID = 1; linkID < linkCount; ++linkID) - // { - // ArticulationLink& link = links[linkID]; - // PxsBodyCore* bodyCore = link.bodyCore; - - // bodyCore->linearVelocity = motionVelocities[linkID].bottom; - // bodyCore->angularVelocity = motionVelocities[linkID].top; - - // externalAccels[linkID] = zero; - // } - // } - // else - // { - // for (PxU32 i = 0; i < linkCount; ++i) - // { - // ArticulationLink& link = links[i]; - - // PxsBodyCore* bodyCore = link.bodyCore; - - // //record link's unconstrainted integrated transform - // bodyCore->body2World = data.mTempData.mLinkTransform[i]; - - // } - - // for (PxU32 linkID = 0; linkID < linkCount; ++linkID) - // { - // ArticulationLink& link = links[linkID]; - // PxsBodyCore* bodyCore = link.bodyCore; - - // bodyCore->linearVelocity = motionVelocities[linkID].bottom; - // bodyCore->angularVelocity = motionVelocities[linkID].top; - // - // //zero all the external accelerations - // externalAccels[linkID] = zero; - // - // } - // } - - //} - void FeatherstoneArticulation::updateRootBody(const Cm::SpatialVectorF& motionVelocity, const PxTransform& preTransform, ArticulationData& data, const PxReal dt) { @@ -1666,10 +1517,6 @@ namespace Dy baseBodyCore->body2World = PxTransform(newP, (deltaQ* preTransform.q).getNormalized()); - //ML: we are going to store the motionVelocity back later - /* baseBodyCore->linearVelocity = motionVelocity.bottom; - baseBodyCore->angularVelocity = motionVelocity.top;*/ - PX_ASSERT(baseBodyCore->body2World.isFinite() && baseBodyCore->body2World.isValid()); } @@ -1760,7 +1607,7 @@ namespace Dy if (!fixBase) { - SpatialMatrix inverseArticulatedInertia = mArticulationData.mSpatialArticulatedInertia[0].getInverse(); + SpatialMatrix inverseArticulatedInertia = mArticulationData.mWorldSpatialArticulatedInertia[0].getInverse(); motionAccelerations[0] = -(inverseArticulatedInertia * spatialZAForces[0]); } #if FEATHERSTONE_DEBUG @@ -1779,18 +1626,21 @@ namespace Dy ArticulationLinkData& linkDatum = mArticulationData.getLinkData(linkID); //SpatialTransform p2C = linkDatum.childToParent.getTranspose(); - Cm::SpatialVectorF pMotionAcceleration = mArticulationData.mChildToParent[linkID].transposeTransform(motionAccelerations[link.parent]); + //Cm::SpatialVectorF pMotionAcceleration = mArticulationData.mChildToParent[linkID].transposeTransform(motionAccelerations[link.parent]); + + Cm::SpatialVectorF pMotionAcceleration = FeatherstoneArticulation::translateSpatialVector(-linkDatum.rw, motionAccelerations[link.parent]); ArticulationJointCoreData& jointDatum = mArticulationData.getJointData(linkID); //calculate jointAcceleration PxReal* jA = &jointAccelerations[jointDatum.jointOffset]; - computeJointAcceleration(linkDatum, jointDatum, pMotionAcceleration, jA, linkID); + computeJointAccelerationW(linkDatum, jointDatum, pMotionAcceleration, jA, linkID); Cm::SpatialVectorF motionAcceleration(PxVec3(0.f), PxVec3(0.f)); for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { - motionAcceleration += mArticulationData.mMotionMatrix[linkID][ind] * jA[ind]; + motionAcceleration.top += mArticulationData.mWorldMotionMatrix[linkID][ind].top * jA[ind]; + motionAcceleration.bottom += mArticulationData.mWorldMotionMatrix[linkID][ind].bottom * jA[ind]; } motionAccelerations[linkID] = pMotionAcceleration + coriolisVectors[linkID] + motionAcceleration; diff --git a/physx/source/lowleveldynamics/src/DyFeatherstoneInverseDynamic.cpp b/physx/source/lowleveldynamics/src/DyFeatherstoneInverseDynamic.cpp index f8814b7b1..a3473041e 100644 --- a/physx/source/lowleveldynamics/src/DyFeatherstoneInverseDynamic.cpp +++ b/physx/source/lowleveldynamics/src/DyFeatherstoneInverseDynamic.cpp @@ -69,10 +69,7 @@ namespace Dy { ArticulationLink& link = data.getLink(linkID); - SpatialTransform p2c = data.mChildToParent[linkID].getTranspose(); - - //parent's motion acceleration into child space - Cm::SpatialVectorF pMotionAcceleration = p2c * motionAccelerations[link.parent]; + Cm::SpatialVectorF pMotionAcceleration = translateSpatialVector(-data.getLinkData(linkID).rw, motionAccelerations[link.parent]); Cm::SpatialVectorF motionAcceleration(PxVec3(0.f), PxVec3(0.f)); @@ -82,7 +79,8 @@ namespace Dy const PxReal* jAcceleration = &jointAccelerations[jointDatum.jointOffset]; for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { - motionAcceleration += data.mMotionMatrix[linkID][ind] * jAcceleration[ind]; + motionAcceleration.top += data.mWorldMotionMatrix[linkID][ind].top * jAcceleration[ind]; + motionAcceleration.bottom += data.mWorldMotionMatrix[linkID][ind].bottom * jAcceleration[ind]; } } @@ -103,8 +101,8 @@ namespace Dy ArticulationLink& link = data.getLink(linkID); //joint force - //pLink.spatialZAForce += link.childToParent * link.spatialZAForce; - spatialZAForces[link.parent] += data.mChildToParent[linkID] * spatialZAForces[linkID]; + + spatialZAForces[link.parent] += translateSpatialVector(data.getLinkData(linkID).rw, spatialZAForces[linkID]); ArticulationJointCoreData& jointDatum = data.getJointData(linkID); //compute generalized force @@ -112,7 +110,7 @@ namespace Dy for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { - force[ind] = data.mMotionMatrix[linkID][ind].innerProduct(spatialZAForces[linkID]); + force[ind] = data.mWorldMotionMatrix[linkID][ind].innerProduct(spatialZAForces[linkID]); } } } @@ -138,7 +136,7 @@ namespace Dy Cm::SpatialVectorF Ia; - Ia.bottom = motionAccelerations[linkID].top.multiply(inertiaTensor); + Ia.bottom = core.body2World.rotate(core.body2World.rotateInv(motionAccelerations[linkID].top).multiply(inertiaTensor)); Ia.top = motionAccelerations[linkID].bottom * m; biasForce[linkID] +=Ia; @@ -166,9 +164,10 @@ namespace Dy spatialInertia.topRight = PxMat33::createDiagonal(PxVec3(m)); //construct inertia matrix + PxMat33 rot(data.getLink(linkID).bodyCore->body2World.q); PxMat33& I = spatialInertia.bottomLeft; const PxVec3 inertiaTensor = PxVec3(ii.x == 0.f ? 0.f : (1.f / ii.x), ii.y == 0.f ? 0.f : (1.f / ii.y), ii.z == 0.f ? 0.f : (1.f / ii.z)); - I = PxMat33::createDiagonal(inertiaTensor); + Cm::transformInertiaTensor(inertiaTensor, rot, I); } } @@ -187,29 +186,15 @@ namespace Dy { ArticulationLink& link = links[linkID]; - const SpatialTransform& c2p = data.mChildToParent[linkID]; - const SpatialTransform p2c = c2p.getTranspose(); - Dy::SpatialMatrix cSpatialInertia = compositeSpatialInertia[linkID]; - - PxMat33 tl = c2p.R * cSpatialInertia.topLeft; - PxMat33 tr = c2p.R * cSpatialInertia.topRight; - PxMat33 bl = c2p.T * cSpatialInertia.topLeft + c2p.R * cSpatialInertia.bottomLeft; - PxMat33 br = c2p.T * cSpatialInertia.topRight + c2p.R * cSpatialInertia.getBottomRight(); - - cSpatialInertia.topLeft = tl * p2c.R + tr * p2c.T; - cSpatialInertia.topRight = tr * p2c.R; - cSpatialInertia.bottomLeft = bl * p2c.R + br * p2c.T; - - //aligned inertia - cSpatialInertia.bottomLeft = (cSpatialInertia.bottomLeft + cSpatialInertia.bottomLeft.getTranspose()) * 0.5f; + translateInertia(FeatherstoneArticulation::constructSkewSymmetricMatrix(data.mLinksData[linkID].rw), cSpatialInertia); //compute parent's composite spatial inertia compositeSpatialInertia[link.parent] += cSpatialInertia; //compute zero acceleration force. This is the force that would be required to support the //motion of all the bodies in childen set if root node acceleration happened to be zero - zaForce[link.parent] += c2p * zaForce[linkID]; + zaForce[link.parent] += translateSpatialVector(data.getLinkData(linkID).rw, zaForce[linkID]); } } @@ -230,9 +215,9 @@ namespace Dy { ArticulationLink& link = links[linkID]; - const SpatialTransform p2c = data.mChildToParent[linkID].getTranspose(); + //const SpatialTransform p2c = data.mChildToParent[linkID].getTranspose(); - motionAccelerations[linkID] = p2c * motionAccelerations[link.parent]; + motionAccelerations[linkID] = translateSpatialVector(-data.mLinksData[linkID].rw, motionAccelerations[link.parent]); zaForce[linkID] = compositeSpatialInertia[linkID] * motionAccelerations[linkID] + zaForce[linkID]; @@ -242,7 +227,7 @@ namespace Dy for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { - jForce[ind] = data.mMotionMatrix[linkID][ind].innerProduct(zaForce[linkID]); + jForce[ind] = data.mWorldMotionMatrix[linkID][ind].innerProduct(zaForce[linkID]); } } } @@ -294,39 +279,63 @@ namespace Dy } - void FeatherstoneArticulation::applyCacheToDest(ArticulationData& data, PxArticulationCache& cache, + bool FeatherstoneArticulation::applyCacheToDest(ArticulationData& data, PxArticulationCache& cache, PxReal* jVelocities, PxReal* jAccelerations, PxReal* jPositions, PxReal* jointForces, const PxArticulationCacheFlags flag) { + bool needsScheduling = !mGPUDirtyFlags; + if (flag & PxArticulationCache::eVELOCITY) { copyJointData(data, jVelocities, cache.jointVelocity); + mGPUDirtyFlags |= ArticulationDirtyFlag::eDIRTY_VELOCITIES; } if (flag & PxArticulationCache::eACCELERATION) { copyJointData(data, jAccelerations, cache.jointAcceleration); + mGPUDirtyFlags |= ArticulationDirtyFlag::eDIRTY_ACCELERATIONS; } if (flag & PxArticulationCache::eROOT) { ArticulationLink& rLink = mArticulationData.getLink(0); - rLink.bodyCore->body2World = cache.rootLinkData->transform * rLink.bodyCore->getBody2Actor(); - rLink.bodyCore->linearVelocity = cache.rootLinkData->worldLinVel; - rLink.bodyCore->angularVelocity = cache.rootLinkData->worldAngVel; + if (flag & PxArticulationCache::ePOSITION) + rLink.bodyCore->body2World = cache.rootLinkData->transform * rLink.bodyCore->getBody2Actor(); + if (flag & PxArticulationCache::eVELOCITY) + { + rLink.bodyCore->linearVelocity = cache.rootLinkData->worldLinVel; + rLink.bodyCore->angularVelocity = cache.rootLinkData->worldAngVel; + } + mGPUDirtyFlags |= ArticulationDirtyFlag::eDIRTY_ROOT; } if (flag & PxArticulationCache::ePOSITION) { copyJointData(data, jPositions, cache.jointPosition); - //update link's position based on the joint position - teleportLinks(data); + //When we update the joint positions, we also have to update the link state, so need to make links + //dirty! + mGPUDirtyFlags |= (ArticulationDirtyFlag::eDIRTY_POSITIONS); } if (flag & PxArticulationCache::eFORCE) { copyJointData(data, jointForces, cache.jointForce); + mGPUDirtyFlags |= ArticulationDirtyFlag::eDIRTY_FORCES; + } + + if ((flag & PxArticulationCache::ePOSITION)) + { + //update link's position based on the joint position + teleportLinks(data); + } + + if ((flag & PxArticulationCache::eVELOCITY) || (flag & PxArticulationCache::ePOSITION)) + { + computeLinkVelocities(data); } + + return needsScheduling; } void FeatherstoneArticulation::packJointData(const PxReal* maximum, PxReal* reduced) @@ -393,12 +402,11 @@ namespace Dy void FeatherstoneArticulation::initializeCommonData() { + jcalc(mArticulationData); computeRelativeTransformC2P(mArticulationData); computeRelativeTransformC2B(mArticulationData); - jcalc(mArticulationData); - computeSpatialInertia(mArticulationData); mArticulationData.setDataDirty(false); @@ -453,11 +461,9 @@ namespace Dy PxsBodyCore& core = *link.bodyCore; - const PxTransform& body2World = core.body2World; - const PxReal m = 1.0f / core.inverseMass; - const PxVec3 linkGravity = body2World.rotateInv(tGravity); + const PxVec3 linkGravity = tGravity; spatialZAForces[linkID].top = m*linkGravity; spatialZAForces[linkID].bottom = PxVec3(0.f); @@ -1003,9 +1009,6 @@ namespace Dy PxU32 linkID1 = linkID1_; - const PxTransform& transform0 = data.getLink(linkID0_).bodyCore->body2World; - const PxTransform& transform1 = data.getLink(linkID1_).bodyCore->body2World; - for (i0 = linkID0, i1 = linkID1; i0 != i1;) // find common path { if (i0 i1;) { const PxU32 id = stack[index]; - v = FeatherstoneArticulation::propagateVelocity(data.mChildToParent[id], data.mSpatialArticulatedInertia[id], - data.mInvStIs[id], data.getMotionMatrix(id), Z[id], jointVelocities, v); + v = FeatherstoneArticulation::propagateVelocityW(data.getLinkData(id).rw, data.mWorldSpatialArticulatedInertia[id], + data.mInvStIs[id], data.getWorldMotionMatrix(id), Z[id], jointVelocities, v); } + //Replace everything to here with the impulse response matrix multiply + Cm::SpatialVectorF dv1 = v; for (PxU32 index = i1; (index--) > i0;) { const PxU32 id = stack[index]; - dv1 = FeatherstoneArticulation::propagateVelocity(data.mChildToParent[id], data.mSpatialArticulatedInertia[id], - data.mInvStIs[id], data.getMotionMatrix(id), Z[id], jointVelocities, dv1); + dv1 = FeatherstoneArticulation::propagateVelocityW(data.getLinkData(id).rw, data.mWorldSpatialArticulatedInertia[id], + data.mInvStIs[id], data.getWorldMotionMatrix(id), Z[id], jointVelocities, v); } Cm::SpatialVectorF dv0 = v; for (PxU32 index = i0; (index--) > 0;) { const PxU32 id = stack[index]; - dv0 = FeatherstoneArticulation::propagateVelocity(data.mChildToParent[id], data.mSpatialArticulatedInertia[id], - data.mInvStIs[id], data.getMotionMatrix(id), Z[id], jointVelocities, dv0); + dv0 = FeatherstoneArticulation::propagateVelocityW(data.getLinkData(id).rw, data.mWorldSpatialArticulatedInertia[id], + data.mInvStIs[id], data.getWorldMotionMatrix(id), Z[id], jointVelocities, v); } - deltaV0.linear = transform0.rotate(dv0.bottom); - deltaV0.angular = transform0.rotate(dv0.top); + deltaV0.linear = dv0.bottom; + deltaV0.angular = dv0.top; - deltaV1.linear = transform1.rotate(dv1.bottom); - deltaV1.angular = transform1.rotate(dv1.top); + deltaV1.linear = dv1.bottom; + deltaV1.angular = dv1.top; } void FeatherstoneArticulation::getImpulseSelfResponseInv(const bool fixBase, @@ -1102,25 +1109,20 @@ namespace Dy { PX_ASSERT(linkID0 == link.parent); PX_ASSERT(linkID0 < linkID1); - - ArticulationLink& pLink = links[linkID0]; - + //impulse is in world space const Cm::SpatialVector& imp1 = impulse1; const Cm::SpatialVector& imp0 = impulse0; - PxTransform& pBody2World = pLink.bodyCore->body2World; - Cm::SpatialVectorF pImpulse(pBody2World.rotateInv(imp0.linear), pBody2World.rotateInv(imp0.angular)); + Cm::SpatialVectorF pImpulse(imp0.linear, imp0.angular); PX_ASSERT(linkID0 == link.parent); - - PxTransform& body2World = link.bodyCore->body2World; - + //initialize child link spatial zero acceleration impulse - Cm::SpatialVectorF Z1(-body2World.rotateInv(imp1.linear), -body2World.rotateInv(imp1.angular)); + Cm::SpatialVectorF Z1(-imp1.linear, -imp1.angular); //this calculate parent link spatial zero acceleration impulse - Cm::SpatialVectorF Z0 = FeatherstoneArticulation::propagateImpulse(mArticulationData.mIsInvD[linkID1], mArticulationData.mChildToParent[linkID1], mArticulationData.mMotionMatrix[linkID1], Z1); + Cm::SpatialVectorF Z0 = FeatherstoneArticulation::propagateImpulseW(mArticulationData.mIsInvDW[linkID1], mArticulationData.getLinkData(linkID1).rw, mArticulationData.mWorldMotionMatrix[linkID1], Z1); //in parent space const Cm::SpatialVectorF impulseDif = pImpulse - Z0; @@ -1132,15 +1134,15 @@ namespace Dy delV0 = FeatherstoneArticulation::getImpulseResponseWithJ(linkID0, fixBase, mArticulationData, Z, impulseDif, jointVelocities); //calculate velocity change for child link - delV1 = FeatherstoneArticulation::propagateVelocity(mArticulationData.mChildToParent[linkID1], - mArticulationData.mSpatialArticulatedInertia[linkID1], mArticulationData.mInvStIs[linkID1], - mArticulationData.mMotionMatrix[linkID1], Z1, jointVelocities, delV0); + delV1 = FeatherstoneArticulation::propagateVelocityW(mArticulationData.getLinkData(linkID1).rw, + mArticulationData.mWorldSpatialArticulatedInertia[linkID1], mArticulationData.mInvStIs[linkID1], + mArticulationData.mWorldMotionMatrix[linkID1], Z1, jointVelocities, delV0); //translate delV0 and delV1 into world space again - deltaV0.linear = pBody2World.rotate(delV0.bottom); - deltaV0.angular = pBody2World.rotate(delV0.top); - deltaV1.linear = body2World.rotate(delV1.bottom); - deltaV1.angular = body2World.rotate(delV1.top); + deltaV0.linear = delV0.bottom; + deltaV0.angular = delV0.top; + deltaV1.linear = delV1.bottom; + deltaV1.angular = delV1.top; } else { @@ -1166,27 +1168,23 @@ namespace Dy ArticulationJointCoreData* jointData = mArticulationData.getJointData(); const PxU32 linkCount = mArticulationData.getLinkCount(); - //transform p(impluse) from work space to the local space of link - ArticulationLink& link = links[linkID]; - PxTransform& body2World = link.bodyCore->body2World; - //make sure all links' spatial zero acceleration impulse are zero PxMemZero(Z, sizeof(Cm::SpatialVectorF) * linkCount); - Z[linkID] = Cm::SpatialVectorF(-body2World.rotateInv(impulse.linear), -body2World.rotateInv(impulse.angular)); + Z[linkID] = Cm::SpatialVectorF(-impulse.linear, -impulse.angular); for (PxU32 i = linkID; i; i = links[i].parent) { ArticulationLink& tLink = links[i]; //ArticulationLinkData& tLinkDatum = linkData[i]; - Z[tLink.parent] = propagateImpulse(mArticulationData.mIsInvD[i], mArticulationData.mChildToParent[i], - mArticulationData.mMotionMatrix[i], Z[i]); + Z[tLink.parent] = propagateImpulseW(mArticulationData.mIsInvDW[i], mArticulationData.mLinksData[i].rw, + mArticulationData.mWorldMotionMatrix[i], Z[i]); } //set velocity change of the root link to be zero Cm::SpatialVectorF deltaV = Cm::SpatialVectorF(PxVec3(0.f), PxVec3(0.f)); if (!fixBase) - deltaV = mArticulationData.mBaseInvSpatialArticulatedInertia * (-Z[0]); + deltaV = mArticulationData.mBaseInvSpatialArticulatedInertiaW * (-Z[0]); for (ArticulationBitField i = links[linkID].pathToRoot - 1; i; i &= (i - 1)) { @@ -1197,8 +1195,8 @@ namespace Dy PxReal* jVelocity = &jointVelocities[tJointDatum.jointOffset]; PX_ASSERT(links[index].parent < index); - deltaV = propagateVelocity(mArticulationData.mChildToParent[index], mArticulationData.mSpatialArticulatedInertia[index], - mArticulationData.mInvStIs[index], mArticulationData.mMotionMatrix[index], Z[index], jVelocity, deltaV); + deltaV = propagateVelocityW(mArticulationData.mLinksData[index].rw, mArticulationData.mWorldSpatialArticulatedInertia[index], + mArticulationData.mInvStIs[index], mArticulationData.mWorldMotionMatrix[index], Z[index], jVelocity, deltaV); } return deltaV; @@ -1764,7 +1762,7 @@ namespace Dy for (PxU32 ind2 = 0; ind2 < jointDatum.dof; ++ind2) { const PxU32 col = jointDatum.jointOffset + ind2; - const Cm::SpatialVectorF& sa = data.getMotionMatrix(linkID)[ind2]; + const Cm::UnAlignedSpatialVector& sa = data.getWorldMotionMatrix(linkID)[ind2]; massMatrix[row + col] = sa.innerProduct(tf); } } @@ -1776,7 +1774,8 @@ namespace Dy { for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { - f[ind] = data.getChildToParent(j) * f[ind]; + //f[ind] = data.getChildToParent(j) * f[ind]; + f[ind] = FeatherstoneArticulation::translateSpatialVector(data.getLinkData(j).rw, f[ind]); } //assign j to the parent link @@ -1788,7 +1787,7 @@ namespace Dy for (PxU32 ind = 0; ind < pJointDatum.dof; ++ind) { - const Cm::SpatialVectorF& sa = data.getMotionMatrix(j)[ind]; + const Cm::UnAlignedSpatialVector& sa = data.getWorldMotionMatrix(j)[ind]; const PxU32 col = pJointDatum.jointOffset + ind; for (PxU32 ind2 = 0; ind2 < jointDatum.dof; ++ind2) @@ -1797,7 +1796,7 @@ namespace Dy Cm::SpatialVectorF& fcol = f[ind2]; - massMatrix[row + col] = fcol.innerProduct(sa); + massMatrix[row + col] = sa.innerProduct(fcol); } } @@ -1850,7 +1849,7 @@ namespace Dy Dy::SpatialMatrix cSpatialInertia = compositeSpatialInertia[i]; //transform current link's spatial inertia to parent's space - FeatherstoneArticulation::transformInertia(mArticulationData.mChildToParent[i], cSpatialInertia); + FeatherstoneArticulation::translateInertia(FeatherstoneArticulation::constructSkewSymmetricMatrix(mArticulationData.mLinksData[i].rw), cSpatialInertia); //compute parent's composite spatial inertia compositeSpatialInertia[link.parent] += cSpatialInertia; @@ -1861,8 +1860,10 @@ namespace Dy for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { - Cm::SpatialVectorF& sa = mArticulationData.mMotionMatrix[i][ind]; - F[ind] = tSpatialInertia* sa; + Cm::UnAlignedSpatialVector& sa = mArticulationData.mWorldMotionMatrix[i][ind]; + Cm::UnAlignedSpatialVector tmp = tSpatialInertia* sa; + F[ind].top = tmp.top; + F[ind].bottom = tmp.bottom; } //Hii, Hij, Hji @@ -1902,7 +1903,7 @@ namespace Dy Dy::SpatialMatrix cSpatialInertia = compositeSpatialInertia[i]; //transform current link's spatial inertia to parent's space - FeatherstoneArticulation::transformInertia(mArticulationData.mChildToParent[i], cSpatialInertia); + FeatherstoneArticulation::translateInertia(FeatherstoneArticulation::constructSkewSymmetricMatrix(mArticulationData.mLinksData[i].rw), cSpatialInertia); //compute parent's composite spatial inertia compositeSpatialInertia[link.parent] += cSpatialInertia; @@ -1915,8 +1916,10 @@ namespace Dy for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { - Cm::SpatialVectorF& sa = mArticulationData.mMotionMatrix[i][ind]; - f[ind] = tSpatialInertia* sa; + Cm::UnAlignedSpatialVector& sa = mArticulationData.mWorldMotionMatrix[i][ind]; + Cm::UnAlignedSpatialVector tmp = tSpatialInertia* sa; + f[ind].top = tmp.top; + f[ind].bottom = tmp.bottom; } //Hii, Hij, Hji @@ -1927,7 +1930,7 @@ namespace Dy for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { - f[ind] = fDatum.childToBase * f[ind]; + f[ind] = translateSpatialVector(fDatum.childToBase, f[ind]); } } @@ -1974,21 +1977,20 @@ namespace Dy ArticulationLink& link = mArticulationData.getLink(linkID); ArticulationJointCoreData& jointDatum = mArticulationData.getJointData(linkID); - SpatialTransform p2c = mArticulationData.mChildToParent[linkID].getTranspose(); - //parent motion accelerations into child space - Cm::SpatialVectorF accel = p2c * motionAccelerations[link.parent]; + Cm::SpatialVectorF accel = translateSpatialVector(-mArticulationData.getLinkData(linkID).rw, motionAccelerations[link.parent]); const PxReal* jAcceleration = &jointAccelerations[jointDatum.jointOffset]; for (PxU32 ind = 0; ind < jointDatum.dof; ++ind) { - accel += mArticulationData.mMotionMatrix[linkID][ind] * jAcceleration[ind]; + accel.top += mArticulationData.mWorldMotionMatrix[linkID][ind].top * jAcceleration[ind]; + accel.bottom += mArticulationData.mWorldMotionMatrix[linkID][ind].bottom * jAcceleration[ind]; } motionAccelerations[linkID] = accel; - spatialZAForces[linkID] = mArticulationData.mSpatialArticulatedInertia[linkID] * accel; + spatialZAForces[linkID] = mArticulationData.mWorldSpatialArticulatedInertia[linkID] * accel; } computeGeneralizedForceInv(mArticulationData, scratchData); diff --git a/physx/source/lowleveldynamics/src/DyTGSContactPrep.cpp b/physx/source/lowleveldynamics/src/DyTGSContactPrep.cpp index 83a8dbaff..bd5e5f057 100644 --- a/physx/source/lowleveldynamics/src/DyTGSContactPrep.cpp +++ b/physx/source/lowleveldynamics/src/DyTGSContactPrep.cpp @@ -1911,34 +1911,34 @@ void setSolverConstantsStep(PxReal& error, if (c.flags & Px1DConstraintFlag::eSPRING) { - error = geomError; + error = 0.f; - PxReal a = dt * (dt*c.mods.spring.stiffness + c.mods.spring.damping); - PxReal b = dt*(c.mods.spring.damping * c.velocityTarget /*- c.mods.spring.stiffness * geomError*/); + PxReal a = totalDt * (totalDt*c.mods.spring.stiffness + c.mods.spring.damping); + PxReal b = totalDt*(c.mods.spring.damping * c.velocityTarget - c.mods.spring.stiffness * geomError); + PxReal a2 = dt * (dt*c.mods.spring.stiffness + c.mods.spring.damping); maxBias = biasClamp; + PxReal x2; if (c.flags & Px1DConstraintFlag::eACCELERATION_SPRING) { - PxReal x = 1.0f / (1.0f + a); + const PxReal x = 1.0f / (1.0f + a); + x2 = 1.0f/(1.0f + a2); targetVel = x * b; velMultiplier = -x * a; - biasScale = -x * c.mods.spring.stiffness*dt; - //KS - impulse multiplier for TGS solver is 1 because we consider each pass to be a separate step, with the solver computing the impulse proportional to the step dt. - //Alternatively, we could consider the spring over totalDt and then use an impulseMultiplier of 1-x, but this would require the bias to be constant to allow the constraint - //to produce stiff results if the number of iterations was large - impulseMultiplier = 1.0f; + impulseMultiplier = 1.0f - x; } else { - PxReal x = 1.0f / (1.0f + a*unitResponse); + const PxReal x = 1.0f / (1.0f + a*unitResponse); + x2 = 1.0f / (1.0f + a2*unitResponse); targetVel = x * b*unitResponse; velMultiplier = -x*a*unitResponse; - //KS - impulse multiplier for TGS solver is 1 because we consider each pass to be a separate step, with the solver computing the impulse proportional to the step dt. - //Alternatively, we could consider the spring over totalDt and then use an impulseMultiplier of 1-x, but this would require the bias to be constant to allow the constraint - //to produce stiff results if the number of iterations was large - biasScale = -x * c.mods.spring.stiffness*unitResponse*dt; - impulseMultiplier = 1.0f; + impulseMultiplier = 1.0f - x; } + const PxReal im2 = 1.f - x2; + biasScale = -recipdt*erp*im2; + + } else @@ -2096,8 +2096,8 @@ PxU32 setupSolverConstraintStep( PxReal unitResponse; PxReal normalVel = 0.0f; - PxReal angSpeedLimit = 100.f; - PxReal linSpeedLimit = 1000.f; + PxReal angSpeedLimit = invTotalDt*1.5f; + PxReal linSpeedLimit = invTotalDt*15.f; PxReal vel0, vel1; @@ -2134,6 +2134,8 @@ PxU32 setupSolverConstraintStep( } else { + //KS - we reduce lin speed limit with articulations to avoid instabilities + linSpeedLimit = invTotalDt*1.5f; linearErp = 0.7f; erp = 0.7f; const SolverExtBodyStep eb0(reinterpret_cast(prepDesc.body0), prepDesc.body0TxI, prepDesc.bodyData0, desc.linkIndexA); diff --git a/physx/source/lowleveldynamics/src/DyTGSDynamics.cpp b/physx/source/lowleveldynamics/src/DyTGSDynamics.cpp index fbe02e2a8..ce76f380a 100644 --- a/physx/source/lowleveldynamics/src/DyTGSDynamics.cpp +++ b/physx/source/lowleveldynamics/src/DyTGSDynamics.cpp @@ -382,8 +382,23 @@ void DynamicsTGSContext::setDescFromIndices(PxSolverConstraintDesc& desc, IG::Ed { PX_ASSERT(node1.isArticulation()); Dy::ArticulationV* a = islandSim.getLLArticulation(node1); - desc.articulationA = a; - desc.linkIndexA = Ps::to16(node1.articulationLinkId()); + + Dy::ArticulationLinkHandle handle; + PxU8 type; + + a->fillIndexedManager(node1.articulationLinkId(), handle, type); + + if (type == PxsIndexedInteraction::eARTICULATION) + { + desc.articulationA = a; + desc.linkIndexA = Ps::to16(node1.articulationLinkId()); + } + else + { + desc.tgsBodyA = &mWorldSolverBodyVel; + desc.linkIndexA = PxSolverConstraintDesc::NO_LINK; + } + desc.bodyADataIndex = 0; } else @@ -411,8 +426,23 @@ void DynamicsTGSContext::setDescFromIndices(PxSolverConstraintDesc& desc, IG::Ed { PX_ASSERT(node2.isArticulation()); Dy::ArticulationV* b = islandSim.getLLArticulation(node2); - desc.articulationB = b; - desc.linkIndexB = Ps::to16(node2.articulationLinkId()); + + Dy::ArticulationLinkHandle handle; + PxU8 type; + + b->fillIndexedManager(node2.articulationLinkId(), handle, type); + + if (type == PxsIndexedInteraction::eARTICULATION) + { + desc.articulationB = b; + desc.linkIndexB = Ps::to16(node2.articulationLinkId()); + } + else + { + desc.tgsBodyB = &mWorldSolverBodyVel; + desc.linkIndexB = PxSolverConstraintDesc::NO_LINK; + } + desc.bodyBDataIndex = 0; } else @@ -902,8 +932,8 @@ void DynamicsTGSContext::prepareBodiesAndConstraints(const SolverIslandObjectsSt //Is it an articulation or not??? if (node1.getNodeType() == IG::Node::eARTICULATION_TYPE) { - indexedManager.indexType0 = PxsIndexedInteraction::eARTICULATION; - indexedManager.solverBody0 = size_t(node1.getArticulation()) | nodeIndex1.articulationLinkId(); + const PxU32 linkId = nodeIndex1.articulationLinkId(); + node1.getArticulation()->fillIndexedManager(linkId, indexedManager.articulation0, indexedManager.indexType0); } else { @@ -933,8 +963,8 @@ void DynamicsTGSContext::prepareBodiesAndConstraints(const SolverIslandObjectsSt //Is it an articulation or not??? if (node2.getNodeType() == IG::Node::eARTICULATION_TYPE) { - indexedManager.indexType1 = PxsIndexedInteraction::eARTICULATION; - indexedManager.solverBody1 = size_t(node2.getArticulation()) | nodeIndex2.articulationLinkId(); + const PxU32 linkId = nodeIndex2.articulationLinkId(); + node2.getArticulation()->fillIndexedManager(linkId, indexedManager.articulation1, indexedManager.indexType1); } else { @@ -1133,8 +1163,24 @@ void DynamicsTGSContext::createSolverConstraints(PxSolverConstraintDesc* contact blockDesc.hasForceThresholds = !!(unit.flags & PxcNpWorkUnitFlag::eFORCE_THRESHOLD); blockDesc.disableStrongFriction = !!(unit.flags & PxcNpWorkUnitFlag::eDISABLE_STRONG_FRICTION); blockDesc.bodyState0 = (unit.flags & PxcNpWorkUnitFlag::eARTICULATION_BODY0) ? PxSolverContactDesc::eARTICULATION : PxSolverContactDesc::eDYNAMIC_BODY; - blockDesc.bodyState1 = (unit.flags & PxcNpWorkUnitFlag::eARTICULATION_BODY1) ? PxSolverContactDesc::eARTICULATION : (unit.flags & PxcNpWorkUnitFlag::eHAS_KINEMATIC_ACTOR) ? PxSolverContactDesc::eKINEMATIC_BODY : - ((unit.flags & PxcNpWorkUnitFlag::eDYNAMIC_BODY1) ? PxSolverContactDesc::eDYNAMIC_BODY : PxSolverContactDesc::eSTATIC_BODY); + if (unit.flags & PxcNpWorkUnitFlag::eARTICULATION_BODY1) + { + //kinematic link + if (desc.linkIndexB == 0xffff) + { + blockDesc.bodyState1 = PxSolverContactDesc::eSTATIC_BODY; + } + else + { + blockDesc.bodyState1 = PxSolverContactDesc::eARTICULATION; + } + } + else + { + blockDesc.bodyState1 = (unit.flags & PxcNpWorkUnitFlag::eHAS_KINEMATIC_ACTOR) ? PxSolverContactDesc::eKINEMATIC_BODY : + ((unit.flags & PxcNpWorkUnitFlag::eDYNAMIC_BODY1) ? PxSolverContactDesc::eDYNAMIC_BODY : PxSolverContactDesc::eSTATIC_BODY); + } + //blockDesc.flags = unit.flags; PxReal maxImpulse0 = (unit.flags & PxcNpWorkUnitFlag::eARTICULATION_BODY0) ? static_cast(unit.rigidCore0)->maxContactImpulse : data0.maxContactImpulse; @@ -1331,7 +1377,7 @@ void writeBackContact4(const PxConstraintBatchHeader& hdr, const PxSolverConstra void writeBack1D4(const PxConstraintBatchHeader& hdr, const PxSolverConstraintDesc* PX_RESTRICT desc, SolverContext* cache); -TGSWriteBackMethod g_WritebackTGSMethods[] +TGSWriteBackMethod g_WritebackTGSMethods[] = { 0, writeBackContact, // DY_SC_TYPE_RB_CONTACT @@ -1363,7 +1409,7 @@ void solveConcludeContactExtBlock(const PxConstraintBatchHeader& hdr, const PxSo void solveConclude1DBlockExt(const PxConstraintBatchHeader& hdr, const PxSolverConstraintDesc* desc, const PxTGSSolverBodyTxInertia* const txInertias, const PxReal elapsedTime, SolverContext& cache); -TGSSolveConcludeMethod g_SolveConcludeTGSMethods[] +TGSSolveConcludeMethod g_SolveConcludeTGSMethods[] = { 0, solveConcludeContactBlock, // DY_SC_TYPE_RB_CONTACT @@ -2232,7 +2278,7 @@ class PartitionTask : public Cm::Task { PxU32 descCount = mThreadContext.mNumDifferentBodyConstraints; - PxU32 selfConstraintDescCount = mThreadContext.contactDescArraySize - mThreadContext.mNumDifferentBodyConstraints; + PxU32 selfConstraintDescCount = mThreadContext.contactDescArraySize - (mThreadContext.mNumDifferentBodyConstraints + mThreadContext.mNumStaticConstraints); Ps::Array& accumulatedConstraintsPerPartition = mThreadContext.mConstraintsPerPartition; @@ -2827,7 +2873,6 @@ void DynamicsTGSContext::iterativeSolveIslandParallel(const SolverIslandObjectsS d.articulation->solveInternalConstraints(stepDt, invStepDt, threadContext.mZVector.begin(), threadContext.mDeltaV.begin(), false, true, elapsedTime); - ArticulationPImpl::updateDeltaMotion(d, stepDt, cache.deltaV); nbArticsProcessed++; diff --git a/physx/source/physx/src/NpActor.h b/physx/source/physx/src/NpActor.h index 63139a0c8..50346ae2c 100644 --- a/physx/source/physx/src/NpActor.h +++ b/physx/source/physx/src/NpActor.h @@ -119,16 +119,20 @@ template PxU32 getConnectors(NpConnectorType::Enum type, T** userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const { PxU32 nbConnectors = 0; + PxU32 virtualIndex = 0; if(mConnectorArray) { for(PxU32 i=0; i < mConnectorArray->size(); i++) { NpConnector& c = (*mConnectorArray)[i]; - if (c.mType == type && nbConnectors < bufferSize && i>=startIndex) + if (c.mType == type && nbConnectors < bufferSize) { - userBuffer[nbConnectors] = static_cast(c.mObject); - nbConnectors++; + if (virtualIndex++ >= startIndex) + { + userBuffer[nbConnectors] = static_cast(c.mObject); + nbConnectors++; + } } } } diff --git a/physx/source/physx/src/NpArticulationLink.cpp b/physx/source/physx/src/NpArticulationLink.cpp index bb97cda65..bf68ac404 100644 --- a/physx/source/physx/src/NpArticulationLink.cpp +++ b/physx/source/physx/src/NpArticulationLink.cpp @@ -469,6 +469,14 @@ static PX_FORCE_INLINE void separateSwingTwist(const PxQuat& q, PxQuat& twist, P swing2 = swing.z != 0.f ? PxQuat(0.f, 0.f, swing.z, swing.w).getNormalized() : PxQuat(PxIdentity); } +void NpArticulationLink::setKinematicLink(const bool value) +{ + NP_WRITE_CHECK(NpActor::getOwnerScene(*this)); + + getScbBodyFast().getScBody().setKinematicLink(value); + +} + void NpArticulationLink::visualizeJoint(PxConstraintVisualizer& jointViz) { NpArticulationLink* parent = getParent(); diff --git a/physx/source/physx/src/NpArticulationLink.h b/physx/source/physx/src/NpArticulationLink.h index b03b94ac5..e6c782287 100644 --- a/physx/source/physx/src/NpArticulationLink.h +++ b/physx/source/physx/src/NpArticulationLink.h @@ -148,6 +148,7 @@ class NpArticulationLink : public NpArticulationLinkT public: PX_INLINE NpArticulationLink* const* getChildren() { return mChildLinks.empty() ? NULL : &mChildLinks.front(); } + void setKinematicLink(const bool value); #if PX_ENABLE_DEBUG_VISUALIZATION public: diff --git a/physx/source/physx/src/NpArticulationReducedCoordinate.cpp b/physx/source/physx/src/NpArticulationReducedCoordinate.cpp index 29bbd21bc..67e6a0235 100644 --- a/physx/source/physx/src/NpArticulationReducedCoordinate.cpp +++ b/physx/source/physx/src/NpArticulationReducedCoordinate.cpp @@ -145,7 +145,7 @@ void NpArticulationReducedCoordinate::applyCache(PxArticulationCache& cache, con mImpl.mArticulation.getScArticulation().applyCache(cache, flag); - if (flag & PxArticulationCache::ePOSITION) + if ((flag & PxArticulationCache::ePOSITION)) { const PxU32 linkCount = mImpl.mArticulationLinks.size(); @@ -158,6 +158,21 @@ void NpArticulationReducedCoordinate::applyCache(PxArticulationCache& cache, con } } + if ((flag & PxArticulationCache::ePOSITION) || (flag & PxArticulationCache::eVELOCITY)) + { + const PxU32 linkCount = mImpl.mArticulationLinks.size(); + + for (PxU32 i = 0; i < linkCount; ++i) + { + NpArticulationLink* link = mImpl.mArticulationLinks[i]; + //in the lowlevel articulation, we have already updated bodyCore's linear/angular velocity + const PxVec3 internalLinVel = link->getScbBodyFast().getScBody().getLinearVelocity(); + const PxVec3 internalAngVel = link->getScbBodyFast().getScBody().getAngularVelocity(); + link->getScbBodyFast().setLinearVelocity(internalLinVel); + link->getScbBodyFast().setAngularVelocity(internalAngVel); + } + } + mImpl.wakeUpInternal(false, autowake); } @@ -406,6 +421,26 @@ void NpArticulationReducedCoordinate::teleportRootLink(const PxTransform& pose, root->setGlobalPoseInternal(pose, autowake); } +PxSpatialVelocity NpArticulationReducedCoordinate::getLinkVelocity(const PxU32 linkId) +{ + PX_CHECK_AND_RETURN_VAL(mImpl.getAPIScene(), "PxArticulationReducedCoordinate::getLinkVelocity: object must be in a scene", PxSpatialVelocity()); + PX_CHECK_AND_RETURN_VAL(linkId < 64, "PxArticulationReducedCoordinate::getLinkVelocity index is not valid.", PxSpatialVelocity()); + + NP_READ_CHECK(mImpl.getOwnerScene()); + + return mImpl.mArticulation.getScArticulation().getLinkVelocity(linkId); +} + +PxSpatialVelocity NpArticulationReducedCoordinate::getLinkAcceleration(const PxU32 linkId) +{ + PX_CHECK_AND_RETURN_VAL(mImpl.getAPIScene(), "PxArticulationReducedCoordinate::getLinkAcceleration: object must be in a scene", PxSpatialVelocity()); + PX_CHECK_AND_RETURN_VAL(linkId < 64, "PxArticulationReducedCoordinate::getLinkAcceleration index is not valid.", PxSpatialVelocity()); + + NP_READ_CHECK(mImpl.getOwnerScene()); + + return mImpl.mArticulation.getScArticulation().getLinkAcceleration(linkId); +} + NpArticulationReducedCoordinate::~NpArticulationReducedCoordinate() { NpFactory::getInstance().onArticulationRelease(this); diff --git a/physx/source/physx/src/NpArticulationReducedCoordinate.h b/physx/source/physx/src/NpArticulationReducedCoordinate.h index 44f26aaea..89dd1bb67 100644 --- a/physx/source/physx/src/NpArticulationReducedCoordinate.h +++ b/physx/source/physx/src/NpArticulationReducedCoordinate.h @@ -117,6 +117,7 @@ namespace physx virtual void computeJointForce(PxArticulationCache& cache) const; + virtual void computeDenseJacobian(PxArticulationCache& cache, PxU32& nRows, PxU32& nCols) const; virtual void computeCoefficientMatrix(PxArticulationCache& cache) const; @@ -137,6 +138,9 @@ namespace physx virtual void teleportRootLink(const PxTransform& pose, bool autowake); + virtual PxSpatialVelocity getLinkVelocity(const PxU32 linkId); + virtual PxSpatialVelocity getLinkAcceleration(const PxU32 linkId); + virtual const char* getConcreteTypeName() const { return "PxArticulationReducedCoordinate"; } //--------------------------------------------------------------------------------- diff --git a/physx/source/physx/src/NpRigidDynamic.cpp b/physx/source/physx/src/NpRigidDynamic.cpp index 39ccd5716..897027125 100644 --- a/physx/source/physx/src/NpRigidDynamic.cpp +++ b/physx/source/physx/src/NpRigidDynamic.cpp @@ -50,7 +50,7 @@ void NpRigidDynamic::requiresObjects(PxProcessPxBaseCallback& c) void NpRigidDynamic::preExportDataReset() { NpRigidDynamicT::preExportDataReset(); - if (isKinematic()) + if (isKinematic() && NpActor::getAPIScene(*this)) { //Restore dynamic data in case the actor is configured as a kinematic. //otherwise we would loose the data for switching the kinematic actor back to dynamic diff --git a/physx/source/physx/src/NpScene.cpp b/physx/source/physx/src/NpScene.cpp index ac129b084..c56eb02a1 100644 --- a/physx/source/physx/src/NpScene.cpp +++ b/physx/source/physx/src/NpScene.cpp @@ -988,6 +988,11 @@ void NpScene::addArticulationInternal(PxArticulationBase& npa) //add loop joints if (npa.getConcreteType() == PxConcreteType::eARTICULATION_REDUCED_COORDINATE) { + + if ((scbArt.getScArticulation().getArticulationFlags() & PxArticulationFlag::eFIX_BASE)) + { + rootLink->setKinematicLink(true); + } //This method will prepare link data for the gpu mScene.getScScene().addArticulationSimControl(scbArt.getScArticulation()); @@ -1064,12 +1069,6 @@ void NpScene::removeArticulationInternal(PxArticulationBase& npa, bool wakeOnLos mScene.getScScene().resetSpeculativeCCDArticulationLink(index.index()); } - if (npa.getConcreteType() == PxConcreteType::eARTICULATION_REDUCED_COORDINATE) - { - Scb::Articulation& scbArt = npa.getImpl()->getScbArticulation(); - mScene.getScScene().removeArticulationSimControl(scbArt.getScArticulation()); - } - // Remove articulation mScene.removeArticulation(npa.getImpl()->getScbArticulation()); removeFromArticulationList(npa); diff --git a/physx/source/physx/src/NpSceneQueries.cpp b/physx/source/physx/src/NpSceneQueries.cpp index 631ec8648..73f134f2d 100644 --- a/physx/source/physx/src/NpSceneQueries.cpp +++ b/physx/source/physx/src/NpSceneQueries.cpp @@ -683,8 +683,6 @@ bool NpSceneQueries::multiQuery( { const bool anyHit = (filterData.flags & PxQueryFlag::eANY_HIT) == PxQueryFlag::eANY_HIT; - PxI32 retval = 0; PX_UNUSED(retval); - if(HitTypeSupport::IsRaycast == 0) { PX_CHECK_AND_RETURN_VAL(input.pose != NULL, "NpSceneQueries::overlap/sweep pose is NULL.", 0); diff --git a/physx/source/physx/src/NpSceneQueries.h b/physx/source/physx/src/NpSceneQueries.h index 42276c7d9..ef46c17c1 100644 --- a/physx/source/physx/src/NpSceneQueries.h +++ b/physx/source/physx/src/NpSceneQueries.h @@ -30,7 +30,6 @@ #ifndef PX_PHYSICS_NP_SCENEQUERIES #define PX_PHYSICS_NP_SCENEQUERIES - #include "PxQueryReport.h" #include "PsIntrinsics.h" #include "CmPhysXCommon.h" @@ -220,17 +219,6 @@ extern template bool NpSceneQueries::multiQuery(const MultiQueryInput&, PxHitCallback&, PxHitFlags, const PxQueryCache*, const PxQueryFilterData&, PxQueryFilterCallback*, BatchQueryFilterData*) const; #endif -namespace Sq { class AABBPruner; class AABBTreeRuntimeNode; class AABBTree; } - -#if PX_VC - #pragma warning(push) - #pragma warning( disable : 4324 ) // Padding was added at the end of a structure because of a __declspec(align) value. -#endif - -#if PX_VC - #pragma warning(pop) -#endif - } // namespace physx, sq #endif diff --git a/physx/source/physx/src/buffering/ScbScene.cpp b/physx/source/physx/src/buffering/ScbScene.cpp index 43fd7c3a3..204f7ded4 100644 --- a/physx/source/physx/src/buffering/ScbScene.cpp +++ b/physx/source/physx/src/buffering/ScbScene.cpp @@ -656,6 +656,7 @@ void Scb::Scene::addArticulation(Scb::Articulation& articulation) void Scb::Scene::removeArticulation(Scb::Articulation& articulation) { + mScene.removeArticulationSimControl(articulation.getScArticulation()); remove(articulation, mArticulationManager); articulation.clearBufferedState(); } diff --git a/physx/source/physxcharacterkinematic/src/CctBoxController.h b/physx/source/physxcharacterkinematic/src/CctBoxController.h index 48acebda2..deff2f3f9 100644 --- a/physx/source/physxcharacterkinematic/src/CctBoxController.h +++ b/physx/source/physxcharacterkinematic/src/CctBoxController.h @@ -66,7 +66,7 @@ namespace Cct virtual bool setFootPosition(const PxExtendedVec3& position); virtual PxExtendedVec3 getFootPosition() const; virtual PxRigidDynamic* getActor() const { return mKineActor; } - virtual void setStepOffset(const float offset) { if(offset>0.0f) + virtual void setStepOffset(const float offset) { if(offset>=0.0f) mUserParams.mStepOffset = offset; } virtual PxF32 getStepOffset() const { return mUserParams.mStepOffset; } virtual void setNonWalkableMode(PxControllerNonWalkableMode::Enum flag) { mUserParams.mNonWalkableMode = flag; } diff --git a/physx/source/physxcharacterkinematic/src/CctCapsuleController.h b/physx/source/physxcharacterkinematic/src/CctCapsuleController.h index f75bab9e1..c2d75d32c 100644 --- a/physx/source/physxcharacterkinematic/src/CctCapsuleController.h +++ b/physx/source/physxcharacterkinematic/src/CctCapsuleController.h @@ -66,7 +66,7 @@ namespace Cct virtual bool setFootPosition(const PxExtendedVec3& position); virtual PxExtendedVec3 getFootPosition() const; virtual PxRigidDynamic* getActor() const { return mKineActor; } - virtual void setStepOffset(const float offset) { if(offset>0.0f) + virtual void setStepOffset(const float offset) { if(offset>=0.0f) mUserParams.mStepOffset = offset; } virtual PxF32 getStepOffset() const { return mUserParams.mStepOffset; } virtual void setNonWalkableMode(PxControllerNonWalkableMode::Enum flag) { mUserParams.mNonWalkableMode = flag; } diff --git a/physx/source/physxcooking/src/Cooking.cpp b/physx/source/physxcooking/src/Cooking.cpp index 6bd945496..9ed549e62 100644 --- a/physx/source/physxcooking/src/Cooking.cpp +++ b/physx/source/physxcooking/src/Cooking.cpp @@ -342,12 +342,11 @@ PxConvexMesh* Cooking::createConvexMesh(const PxConvexMeshDesc& desc_, PxPhysics // copy the constructed data into the new mesh - PxU32 nb = 0; - Gu::ConvexHullData meshData; - meshBuilder.copy(meshData, nb); + Gu::ConvexHullInitData meshData; + meshBuilder.copy(meshData); // insert into physics - Gu::ConvexMesh* convexMesh = static_cast(insertionCallback.buildObjectFromData(PxConcreteType::eCONVEX_MESH, &meshData)); + PxConvexMesh* convexMesh = static_cast(insertionCallback.buildObjectFromData(PxConcreteType::eCONVEX_MESH, &meshData)); if (!convexMesh) { if(condition) @@ -357,15 +356,6 @@ PxConvexMesh* Cooking::createConvexMesh(const PxConvexMeshDesc& desc_, PxPhysics return NULL; } - convexMesh->setNb(nb); - convexMesh->setMass(meshBuilder.getMass()); - convexMesh->setInertia(meshBuilder.getInertia()); - if(meshBuilder.getBigConvexData()) - { - convexMesh->setBigConvexData(meshBuilder.getBigConvexData()); - meshBuilder.setBigConvexData(NULL); - } - if(hullLib) PX_DELETE(hullLib); return convexMesh; diff --git a/physx/source/physxcooking/src/convex/ConvexHullLib.cpp b/physx/source/physxcooking/src/convex/ConvexHullLib.cpp index f7253fd0a..2869deb00 100644 --- a/physx/source/physxcooking/src/convex/ConvexHullLib.cpp +++ b/physx/source/physxcooking/src/convex/ConvexHullLib.cpp @@ -31,6 +31,7 @@ #include "ConvexHullLib.h" #include "Quantizer.h" #include "PsAllocator.h" +#include "PsFoundation.h" #include "foundation/PxBounds3.h" #include "foundation/PxMemory.h" @@ -41,7 +42,7 @@ namespace local ////////////////////////////////////////////////////////////////////////// // constants static const float DISTANCE_EPSILON = 0.000001f; // close enough to consider two floating point numbers to be 'the same'. - static const float NORMAL_DISTANCE_EPSILON = 0.001f; // close enough to consider two floating point numbers to be 'the same' in normalized points cloud. + static const float NORMAL_DISTANCE_EPSILON = 0.0001f; // close enough to consider two floating point numbers to be 'the same' in normalized points cloud. static const float RESIZE_VALUE = 0.01f; // if the provided points AABB is very thin resize it to this size ////////////////////////////////////////////////////////////////////////// @@ -271,6 +272,12 @@ bool ConvexHullLib::cleanupVertices(PxU32 svcount, const PxVec3* svertices, PxU3 } } + if(vcount < 4) + { + Ps::getFoundation().error(PxErrorCode::eINTERNAL_ERROR, __FILE__, __LINE__, "ConvexHullLib::cleanupVertices: Less than four valid vertices were found. Provide at least four valid (e.g. each at a different position) vertices."); + return false; + } + // scale the verts back for (PxU32 i = 0; i < vcount; i++) { diff --git a/physx/source/physxcooking/src/convex/ConvexMeshBuilder.cpp b/physx/source/physxcooking/src/convex/ConvexMeshBuilder.cpp index fdde7d485..3c10d1b86 100644 --- a/physx/source/physxcooking/src/convex/ConvexMeshBuilder.cpp +++ b/physx/source/physxcooking/src/convex/ConvexMeshBuilder.cpp @@ -154,28 +154,38 @@ bool ConvexMeshBuilder::save(PxOutputStream& stream, bool platformMismatch) cons ////////////////////////////////////////////////////////////////////////// // instead of saving the data into stream, we copy the mesh data // into internal Gu::ConvexMesh. -bool ConvexMeshBuilder::copy(Gu::ConvexHullData& hullData, PxU32& nb) +bool ConvexMeshBuilder::copy(Gu::ConvexHullInitData& hullData) { // hull builder data copy - hullBuilder.copy(hullData, nb); + PxU32 nb = 0; + hullBuilder.copy(hullData.mHullData, nb); + hullData.mNb = nb; + + hullData.mInertia = mInertia; + hullData.mMass = mMass; // mass props - hullData.mAABB = mHullData.mAABB; - hullData.mCenterOfMass = mHullData.mCenterOfMass; + hullData.mHullData.mAABB = mHullData.mAABB; + hullData.mHullData.mCenterOfMass = mHullData.mCenterOfMass; // big convex data if(mBigConvexData) { - hullData.mBigConvexRawData = &mBigConvexData->mData; + hullData.mHullData.mBigConvexRawData = &mBigConvexData->mData; + hullData.mBigConvexData = mBigConvexData; + mBigConvexData = NULL; } else - hullData.mBigConvexRawData = NULL; + { + hullData.mHullData.mBigConvexRawData = NULL; + hullData.mBigConvexData = NULL; + } // internal data - hullData.mInternal.mRadius = mHullData.mInternal.mRadius; - hullData.mInternal.mExtents[0] = mHullData.mInternal.mExtents[0]; - hullData.mInternal.mExtents[1] = mHullData.mInternal.mExtents[1]; - hullData.mInternal.mExtents[2] = mHullData.mInternal.mExtents[2]; + hullData.mHullData.mInternal.mRadius = mHullData.mInternal.mRadius; + hullData.mHullData.mInternal.mExtents[0] = mHullData.mInternal.mExtents[0]; + hullData.mHullData.mInternal.mExtents[1] = mHullData.mInternal.mExtents[1]; + hullData.mHullData.mInternal.mExtents[2] = mHullData.mInternal.mExtents[2]; return true; } diff --git a/physx/source/physxcooking/src/convex/ConvexMeshBuilder.h b/physx/source/physxcooking/src/convex/ConvexMeshBuilder.h index f363812d9..7cb2f666a 100644 --- a/physx/source/physxcooking/src/convex/ConvexMeshBuilder.h +++ b/physx/source/physxcooking/src/convex/ConvexMeshBuilder.h @@ -54,7 +54,7 @@ namespace physx bool save(PxOutputStream& stream, bool platformMismatch) const; // copy the convex mesh into internal convex mesh, which can be directly used then - bool copy(Gu::ConvexHullData& convexData, PxU32& nb); + bool copy(Gu::ConvexHullInitData& convexData); // loads the convex mesh from given polygons bool loadConvexHull(const PxConvexMeshDesc&, ConvexHullLib* hullLib); @@ -73,15 +73,6 @@ namespace physx void computeInternalObjects(); //~TEST_INTERNAL_OBJECTS - // return computed mass - PxReal getMass() const { return mMass; } - - // return computed inertia tensor - const PxMat33& getInertia() const { return mInertia; } - - // return big convex data - BigConvexData* getBigConvexData() const { return mBigConvexData; } - // set big convex data void setBigConvexData(BigConvexData* data) { mBigConvexData = data; } diff --git a/physx/source/physxmetadata/core/include/PxAutoGeneratedMetaDataObjects.h b/physx/source/physxmetadata/core/include/PxAutoGeneratedMetaDataObjects.h index f0b5d7273..5077ed5b2 100644 --- a/physx/source/physxmetadata/core/include/PxAutoGeneratedMetaDataObjects.h +++ b/physx/source/physxmetadata/core/include/PxAutoGeneratedMetaDataObjects.h @@ -893,6 +893,9 @@ template<> struct PxEnumTraits< physx::PxArticulationMotion::Enum > { PxEnumTrai static PxU32ToName g_physx__PxArticulationDriveType__EnumConversion[] = { { "eFORCE", static_cast( physx::PxArticulationDriveType::eFORCE ) }, { "eACCELERATION", static_cast( physx::PxArticulationDriveType::eACCELERATION ) }, + { "eTARGET", static_cast( physx::PxArticulationDriveType::eTARGET ) }, + { "eVELOCITY", static_cast( physx::PxArticulationDriveType::eVELOCITY ) }, + { "eNONE", static_cast( physx::PxArticulationDriveType::eNONE ) }, { NULL, 0 } }; @@ -1113,6 +1116,7 @@ template<> struct PxEnumTraits< physx::PxArticulationDriveType::Enum > { PxEnumT static PxU32ToName g_physx__PxArticulationFlag__EnumConversion[] = { { "eFIX_BASE", static_cast( physx::PxArticulationFlag::eFIX_BASE ) }, + { "eDRIVE_LIMITS_ARE_FORCES", static_cast( physx::PxArticulationFlag::eDRIVE_LIMITS_ARE_FORCES ) }, { NULL, 0 } }; @@ -1122,6 +1126,8 @@ template<> struct PxEnumTraits< physx::PxArticulationFlag::Enum > { PxEnumTraits { "eACCELERATION", static_cast( physx::PxArticulationCache::eACCELERATION ) }, { "ePOSITION", static_cast( physx::PxArticulationCache::ePOSITION ) }, { "eFORCE", static_cast( physx::PxArticulationCache::eFORCE ) }, + { "eLINKVELOCITY", static_cast( physx::PxArticulationCache::eLINKVELOCITY ) }, + { "eLINKACCELERATION", static_cast( physx::PxArticulationCache::eLINKACCELERATION ) }, { "eROOT", static_cast( physx::PxArticulationCache::eROOT ) }, { "eALL", static_cast( physx::PxArticulationCache::eALL ) }, { NULL, 0 } diff --git a/physx/source/physxvehicle/src/PxVehicleMetaData.cpp b/physx/source/physxvehicle/src/PxVehicleMetaData.cpp index 3f39cc7ec..41d187b93 100644 --- a/physx/source/physxvehicle/src/PxVehicleMetaData.cpp +++ b/physx/source/physxvehicle/src/PxVehicleMetaData.cpp @@ -38,6 +38,8 @@ #include "PxVehicleSuspWheelTire4.h" #include "PxVehicleSuspLimitConstraintShader.h" +#include "PsAllocator.h" + using namespace physx; namespace @@ -337,11 +339,10 @@ void PxVehicleWheelsSimData::getBinaryMetaData(PxOutputStream& stream) PX_DEF_BIN_METADATA_ITEM(stream, PxVehicleWheelsSimData, PxU32, mLowForwardSpeedSubStepCount, 0) PX_DEF_BIN_METADATA_ITEM(stream, PxVehicleWheelsSimData, PxU32, mHighForwardSpeedSubStepCount, 0) PX_DEF_BIN_METADATA_ITEM(stream, PxVehicleWheelsSimData, PxU32, mMinLongSlipDenominator, 0) + PX_DEF_BIN_METADATA_ITEM(stream, PxVehicleWheelsSimData, PxU32, mFlags, 0) #if PX_P64_FAMILY PX_DEF_BIN_METADATA_ITEMS_AUTO(stream, PxVehicleWheelsSimData, PxU32, mPad, PxMetaDataFlag::ePADDING) -#else - PX_DEF_BIN_METADATA_ITEMS_AUTO(stream, PxVehicleWheelsSimData, PxU32, mPad, PxMetaDataFlag::ePADDING) #endif PX_DEF_BIN_METADATA_EXTRA_ITEMS(stream, PxVehicleWheelsSimData, PxVehicleWheels4SimData, mWheels4SimData, mNbWheels4, 0, 0) diff --git a/physx/source/physxvehicle/src/PxVehicleSuspLimitConstraintShader.h b/physx/source/physxvehicle/src/PxVehicleSuspLimitConstraintShader.h index 8c84c13e1..f3776cca9 100644 --- a/physx/source/physxvehicle/src/PxVehicleSuspLimitConstraintShader.h +++ b/physx/source/physxvehicle/src/PxVehicleSuspLimitConstraintShader.h @@ -37,7 +37,7 @@ #include "extensions/PxConstraintExt.h" #include "PxConstraintDesc.h" #include "PxConstraint.h" -#include "PsAllocator.h" +#include "vehicle/PxVehicleWheels.h" #if !PX_DOXYGEN namespace physx @@ -91,11 +91,7 @@ class PxVehicleConstraintShader : public PxConstraintConnector virtual void onConstraintRelease() { - mVehicle->mOnConstraintReleaseCounter--; - if(0==mVehicle->mOnConstraintReleaseCounter) - { - PX_FREE(mVehicle); - } + mVehicle->onConstraintRelease(); } virtual void* getExternalReference(PxU32& typeID) { typeID = PxConstraintExtIDs::eVEHICLE_SUSP_LIMIT; return this; } diff --git a/physx/source/physxvehicle/src/PxVehicleSuspWheelTire4.h b/physx/source/physxvehicle/src/PxVehicleSuspWheelTire4.h index 7d6cd35dd..5b81f49a3 100644 --- a/physx/source/physxvehicle/src/PxVehicleSuspWheelTire4.h +++ b/physx/source/physxvehicle/src/PxVehicleSuspWheelTire4.h @@ -41,18 +41,16 @@ #include "geometry/PxGeometryHelpers.h" #include "vehicle/PxVehicleComponents.h" #include "PxBatchQueryDesc.h" +#include "PxVehicleSuspLimitConstraintShader.h" #if !PX_DOXYGEN namespace physx { #endif -class PxVehicleConstraintShader; class PxMaterial; class PxShape; - - class PxVehicleWheels4SimData { //= ATTENTION! ===================================================================================== @@ -196,12 +194,15 @@ class PxVehicleWheels4DynData { for(PxU32 i=0;i<4;i++) { - mWheelSpeeds[i]=0.0f; - mCorrectedWheelSpeeds[i]=0.0f; - mWheelRotationAngles[i]=0.0f; - mTireLowForwardSpeedTimers[i]=0.0f; - mTireLowSideSpeedTimers[i]=0.0f; + mWheelSpeeds[i] = 0.0f; + mCorrectedWheelSpeeds[i] = 0.0f; + mWheelRotationAngles[i] = 0.0f; + mTireLowForwardSpeedTimers[i] = 0.0f; + mTireLowSideSpeedTimers[i] = 0.0f; mJounces[i] = PX_MAX_F32; + mVehicleConstraints->mData.mStickyTireForwardData.mActiveFlags[i] = false; + mVehicleConstraints->mData.mStickyTireSideData.mActiveFlags[i] = false; + mVehicleConstraints->mData.mSuspLimitData.mActiveFlags[i] = false; } PxMemZero(mQueryOrCachedHitResults, sizeof(SuspLineSweep)); diff --git a/physx/source/physxvehicle/src/PxVehicleUpdate.cpp b/physx/source/physxvehicle/src/PxVehicleUpdate.cpp index 46781f194..48d3aca05 100644 --- a/physx/source/physxvehicle/src/PxVehicleUpdate.cpp +++ b/physx/source/physxvehicle/src/PxVehicleUpdate.cpp @@ -2590,6 +2590,9 @@ struct ProcessSuspWheelTireConstData //Pointer to table of friction values for each combination of material and tire type. const PxVehicleDrivableSurfaceToTireFrictionPairs* frictionPairs; + + //Flags related to wheel simulation (see PxVehicleWheelsSimFlags) + PxU32 wheelsSimFlags; }; //This data structure is passed to processSuspTireWheels @@ -2879,6 +2882,7 @@ void processSuspTireWheels const PxF32 gravityMagnitude=constData.gravityMagnitude; const bool isTank=constData.isTank; const PxF32 minLongSlipDenominator=constData.minLongSlipDenominator; + const PxU32 wheelsSimFlags = constData.wheelsSimFlags; //Unpack the input data (physically constant data). const PxVehicleWheels4SimData& wheelsSimData=*inputData.vehWheels4SimData; @@ -3268,9 +3272,6 @@ void processSuspTireWheels tireContactPoints[i]=hitContactPoints4[i]; tireContactNormals[i]=hitContactNormals4[i]; - //We know that the vehicle is not in the air. - isInAirs[i]=false; - //Clamp the spring compression so that it is never greater than the max bounce. //Apply the susp limit constraint if the spring compression is greater than the max bounce. suspLimitErrors[i] = (w.dot(hitNorm))*(-dx + susp.mMaxCompression); @@ -3303,244 +3304,296 @@ void processSuspTireWheels } //Get the speed of the jounce. - const PxF32 jounceSpeed = (PX_MAX_F32 != prevJounces[i]) ? (jounce - prevJounces[i])*recipTimeStep : 0.0f; - - //Decompose gravity into a term along w and a term perpendicular to w - //gravity = w*alpha + T*beta - //where T is a unit vector perpendicular to w; alpha and beta are scalars. - //The vector w*alpha*mass is the component of gravitational force that acts along the spring direction. - //The vector T*beta*mass is the component of gravitational force that will be resisted by the spring - //because the spring only supports a single degree of freedom along w. - //We only really need to know T*beta so don't bother calculating T or beta. - const PxF32 alpha = PxMax(0.0f, gravity.dot(w)); - const PxVec3 TTimesBeta = (0.0f != alpha) ? gravity - w*alpha : PxVec3(0,0,0); - //Compute the magnitude of the force along w. - PxF32 suspensionForceW = - PxMax(0.0f, - susp.mSprungMass*alpha + //force to support sprung mass at zero jounce - susp.mSpringStrength*jounce); //linear spring - suspensionForceW += susp.mSpringDamperRate*jounceSpeed; //damping - //Compute the total force acting on the suspension. - //Remember that the spring force acts along -w. - //Remember to account for the term perpendicular to w and that it acts along -TTimesBeta - PxF32 suspensionForceMag = hitNorm.dot(-w*suspensionForceW - TTimesBeta*susp.mSprungMass); - - //Apply the opposite force to the hit object. - //Clamp suspensionForceMag if required. - if (dynamicHitActor && !(dynamicHitActor->getRigidBodyFlags() & PxRigidBodyFlag::eKINEMATIC)) + PxF32 jounceSpeed; + PxF32 previousJounce; + if (PX_MAX_F32 != prevJounces[i]) + { + jounceSpeed = (jounce - prevJounces[i])*recipTimeStep; + previousJounce = prevJounces[i]; + } + else { - const PxF32 dynamicActorInvMass = dynamicHitActor->getInvMass(); - const PxF32 dynamicActorMass = dynamicHitActor->getMass(); - const PxF32 forceSign = computeSign(suspensionForceMag); - const PxF32 forceMag = PxAbs(suspensionForceMag); - const PxF32 clampedAccelMag = PxMin(forceMag*dynamicActorInvMass, gMaxHitActorAcceleration); - const PxF32 clampedForceMag = clampedAccelMag*dynamicActorMass*forceSign; - PX_ASSERT(clampedForceMag*suspensionForceMag >= 0.0f); - - suspensionForceMag = clampedForceMag; - - hitActors[i] = dynamicHitActor; - hitActorForces[i] = hitNorm*(-clampedForceMag*timeFraction); - hitActorForcePositions[i] = hitContactPoints4[i]; + jounceSpeed = 0.0f; + previousJounce = jounce; } - //Store the spring force now (having a local copy avoids lhs). - suspensionSpringForces[i] = suspensionForceMag; + const PxF32 gravitySuspDir = gravity.dot(w); + bool computeSuspensionForce = true; + if ((wheelsSimFlags & PxVehicleWheelsSimFlag::eLIMIT_SUSPENSION_EXPANSION_VELOCITY) && (jounceSpeed < 0.0f) && (jounce <= 0.0f)) + { + //Suspension is expanding and not compressed (the latter helps to avoid the suspension not being able to carry the sprung mass + //when many substeps are used because the expected velocity from the suspension spring might always be slightly below the velocity + //needed to reach the new jounce). - //Store the spring force in the graph. -#if PX_DEBUG_VEHICLE_ON - updateGraphDataSuspForce(startWheelIndex, i, suspensionForceMag); -#endif + //Check if the suspension can expand fast enough to keep pushing the wheel to the ground. + + const PxF32 distToMaxDroop = previousJounce + susp.mMaxDroop; // signs chosen to point along the suspension travel direction + //The vehicle is considered to be in air until the suspension expands to the ground, thus the max droop is used + //as the rest length of the spring. - //Suspension force can be computed now. - const PxVec3 suspensionForce = hitNorm*suspensionForceMag; + //Without the suspension elongating, the wheel would end up in the air. Compute the force that pushes the + //wheel towards the ground. Note that gravity is ignored here as it applies to chassis and wheel equally. + //Furthermore, the suspension start point (sprung mass) and the wheel are assumed to move with roughly the + //same velocity, hence, damping is ignored too. + const PxF32 springForceAlongSuspDir = distToMaxDroop * susp.mSpringStrength; - //Torque from spring force. - const PxVec3 suspForceCMOffset = carChassisTrnsfm.rotate(wheelsSimData.getSuspForceAppPointOffset(i)); - const PxVec3 suspensionTorque = suspForceCMOffset.cross(suspensionForce); + const PxF32 suspDirVelWheel = ((springForceAlongSuspDir / wheel.mMass) + gravitySuspDir) * timeStep; + + if (jounceSpeed < (-suspDirVelWheel)) + { + //The suspension can not push the wheel fast enough onto the ground, so the vehicle will leave the ground. + //Hence, no spring forces should get applied. + //note: could consider applying -springForceAlongSuspDir to the chassis but this is not done in the other + // scenarios where the vehicle is in the air either. - //Add the suspension force/torque to the chassis force/torque. - chassisForce+=suspensionForce; - chassisTorque+=suspensionTorque; + computeSuspensionForce = false; + jounce = PxMin(previousJounce - (suspDirVelWheel * timeStep), susp.mMaxCompression); + } + } - //Now compute the tire load. - const PxF32 tireLoad = suspensionForceMag; + if (computeSuspensionForce) + { + //We know that the vehicle is not in the air. + isInAirs[i]=false; + + //Decompose gravity into a term along w and a term perpendicular to w + //gravity = w*alpha + T*beta + //where T is a unit vector perpendicular to w; alpha and beta are scalars. + //The vector w*alpha*mass is the component of gravitational force that acts along the spring direction. + //The vector T*beta*mass is the component of gravitational force that will be resisted by the spring + //because the spring only supports a single degree of freedom along w. + //We only really need to know T*beta so don't bother calculating T or beta. + const PxF32 alpha = PxMax(0.0f, gravitySuspDir); + const PxVec3 TTimesBeta = (0.0f != alpha) ? gravity - w*alpha : PxVec3(0,0,0); + //Compute the magnitude of the force along w. + PxF32 suspensionForceW = + PxMax(0.0f, + susp.mSprungMass*alpha + //force to support sprung mass at zero jounce + susp.mSpringStrength*jounce); //linear spring + suspensionForceW += jounceSpeed * susp.mSpringDamperRate; //damping + + //Compute the total force acting on the suspension. + //Remember that the spring force acts along -w. + //Remember to account for the term perpendicular to w and that it acts along -TTimesBeta + PxF32 suspensionForceMag = hitNorm.dot(-w*suspensionForceW - TTimesBeta*susp.mSprungMass); + + //Apply the opposite force to the hit object. + //Clamp suspensionForceMag if required. + if (dynamicHitActor && !(dynamicHitActor->getRigidBodyFlags() & PxRigidBodyFlag::eKINEMATIC)) + { + const PxF32 dynamicActorInvMass = dynamicHitActor->getInvMass(); + const PxF32 dynamicActorMass = dynamicHitActor->getMass(); + const PxF32 forceSign = computeSign(suspensionForceMag); + const PxF32 forceMag = PxAbs(suspensionForceMag); + const PxF32 clampedAccelMag = PxMin(forceMag*dynamicActorInvMass, gMaxHitActorAcceleration); + const PxF32 clampedForceMag = clampedAccelMag*dynamicActorMass*forceSign; + PX_ASSERT(clampedForceMag*suspensionForceMag >= 0.0f); + + suspensionForceMag = clampedForceMag; + + hitActors[i] = dynamicHitActor; + hitActorForces[i] = hitNorm*(-clampedForceMag*timeFraction); + hitActorForcePositions[i] = hitContactPoints4[i]; + } - //Normalize the tire load - //Now work out the normalized tire load. - const PxF32 normalisedTireLoad=tireLoad*recipGravityMagnitude*recipTireRestLoads[i]; - //Filter the normalized tire load and compute the filtered tire load too. - const PxF32 filteredNormalisedTireLoad=computeFilteredNormalisedTireLoad(tireLoadFilterData,normalisedTireLoad); - const PxF32 filteredTireLoad=filteredNormalisedTireLoad*gravityMagnitude*tireRestLoads[i]; + //Store the spring force now (having a local copy avoids lhs). + suspensionSpringForces[i] = suspensionForceMag; + //Store the spring force in the graph. #if PX_DEBUG_VEHICLE_ON - updateGraphDataTireLoad(startWheelIndex,i,filteredTireLoad); - updateGraphDataNormTireLoad(startWheelIndex,i,filteredNormalisedTireLoad); + updateGraphDataSuspForce(startWheelIndex, i, suspensionForceMag); #endif - //Compute the lateral and longitudinal tire axes in the ground plane. - PxVec3 tireLongDir; - PxVec3 tireLatDir; - computeTireDirs(latDir,hitNorm,steerAngles[i],tireLongDir,tireLatDir); - - //Store the tire long and lat dirs now (having a local copy avoids lhs). - tireLongitudinalDirs[i]= tireLongDir; - tireLateralDirs[i]=tireLatDir; - - //Now compute the speeds along each of the tire axes. - const PxF32 tireLongSpeed=wheelBottomVel.dot(tireLongDir); - const PxF32 tireLatSpeed=wheelBottomVel.dot(tireLatDir); - - //Store the forward speed (having a local copy avoids lhs). - forwardSpeeds[i]=tireLongSpeed; - - //Now compute the slips along each axes. - const bool hasAccel=isAccelApplied[i]; - const bool hasBrake=isBrakeApplied[i]; - const PxF32 wheelOmega=wheelsDynData.mWheelSpeeds[i]; - const PxF32 wheelRadius=wheel.mRadius; - PxF32 longSlip; - PxF32 latSlip; - computeTireSlips - (tireLongSpeed,tireLatSpeed,wheelOmega,wheelRadius,minLongSlipDenominator, - hasAccel,hasBrake, - isTank, - longSlip,latSlip); - - //Store the lat and long slip (having local copies avoids lhs). - longSlips[i]=longSlip; - latSlips[i]=latSlip; - - //Camber angle. - PxF32 camber=susp.mCamberAtRest; - if(jounce>0) - { - camber += jounce*susp.mCamberAtMaxCompression*susp.getRecipMaxCompression(); - } - else - { - camber -= jounce*susp.mCamberAtMaxDroop*susp.getRecipMaxDroop(); - } + //Suspension force can be computed now. + const PxVec3 suspensionForce = hitNorm*suspensionForceMag; - //Compute the friction that will be experienced by the tire. - PxF32 friction; - computeTireFriction(tire,longSlip,frictionMultiplier,friction); + //Torque from spring force. + const PxVec3 suspForceCMOffset = carChassisTrnsfm.rotate(wheelsSimData.getSuspForceAppPointOffset(i)); + const PxVec3 suspensionTorque = suspForceCMOffset.cross(suspensionForce); - //Store the friction (having a local copy avoids lhs). - frictions[i]=friction; + //Add the suspension force/torque to the chassis force/torque. + chassisForce+=suspensionForce; + chassisTorque+=suspensionTorque; - if(filteredTireLoad*frictionMultiplier>0) - { - //Either tire forces or sticky tire friction constraint will be applied here. - const PxVec3 tireForceCMOffset = carChassisTrnsfm.rotate(wheelsSimData.getTireForceAppPointOffset(i)); + //Now compute the tire load. + const PxF32 tireLoad = suspensionForceMag; - PxF32 newLowForwardSpeedTimer; + //Normalize the tire load + //Now work out the normalized tire load. + const PxF32 normalisedTireLoad=tireLoad*recipGravityMagnitude*recipTireRestLoads[i]; + //Filter the normalized tire load and compute the filtered tire load too. + const PxF32 filteredNormalisedTireLoad=computeFilteredNormalisedTireLoad(tireLoadFilterData,normalisedTireLoad); + const PxF32 filteredTireLoad=filteredNormalisedTireLoad*gravityMagnitude*tireRestLoads[i]; + +#if PX_DEBUG_VEHICLE_ON + updateGraphDataTireLoad(startWheelIndex,i,filteredTireLoad); + updateGraphDataNormTireLoad(startWheelIndex,i,filteredNormalisedTireLoad); +#endif + + //Compute the lateral and longitudinal tire axes in the ground plane. + PxVec3 tireLongDir; + PxVec3 tireLatDir; + computeTireDirs(latDir,hitNorm,steerAngles[i],tireLongDir,tireLatDir); + + //Store the tire long and lat dirs now (having a local copy avoids lhs). + tireLongitudinalDirs[i]= tireLongDir; + tireLateralDirs[i]=tireLatDir; + + //Now compute the speeds along each of the tire axes. + const PxF32 tireLongSpeed=wheelBottomVel.dot(tireLongDir); + const PxF32 tireLatSpeed=wheelBottomVel.dot(tireLatDir); + + //Store the forward speed (having a local copy avoids lhs). + forwardSpeeds[i]=tireLongSpeed; + + //Now compute the slips along each axes. + const bool hasAccel=isAccelApplied[i]; + const bool hasBrake=isBrakeApplied[i]; + const PxF32 wheelOmega=wheelsDynData.mWheelSpeeds[i]; + const PxF32 wheelRadius=wheel.mRadius; + PxF32 longSlip; + PxF32 latSlip; + computeTireSlips + (tireLongSpeed,tireLatSpeed,wheelOmega,wheelRadius,minLongSlipDenominator, + hasAccel,hasBrake, + isTank, + longSlip,latSlip); + + //Store the lat and long slip (having local copies avoids lhs). + longSlips[i]=longSlip; + latSlips[i]=latSlip; + + //Camber angle. + PxF32 camber=susp.mCamberAtRest; + if(jounce>0) { - //check the accel value here - //Update low forward speed timer. - const PxF32 recipWheelRadius=wheel.getRecipRadius(); - newLowForwardSpeedTimer=newLowForwardSpeedTimers[i]; - updateLowForwardSpeedTimer(tireLongSpeed,wheelOmega,wheelRadius,recipWheelRadius,isIntentionToAccelerate,timeStep,newLowForwardSpeedTimer); - - //Activate sticky tire forward friction constraint if required. - //If sticky tire friction is active then set the longitudinal slip to zero because - //the sticky tire constraint will take care of the longitudinal component of motion. - bool stickyTireForwardActiveFlag=false; - PxF32 stickyTireForwardTargetSpeed=0.0f; - activateStickyFrictionForwardConstraint(tireLongSpeed,wheelOmega,newLowForwardSpeedTimer,isIntentionToAccelerate,stickyTireForwardActiveFlag,stickyTireForwardTargetSpeed); - stickyTireForwardTargetSpeed += hitActorVelocity.dot(tireLongDir); - - //Store the sticky tire data (having local copies avoids lhs). - newLowForwardSpeedTimers[i] = newLowForwardSpeedTimer; - stickyTireForwardActiveFlags[i]=stickyTireForwardActiveFlag; - stickyTireForwardTargetSpeeds[i]=stickyTireForwardTargetSpeed; - stickyTireForwardDirs[i]=tireLongDir; - stickyTireForwardCMOffsets[i]=tireForceCMOffset; - - //Deactivate the long slip if sticky tire constraint is active. - longSlip=(!stickyTireForwardActiveFlag ? longSlip : 0.0f); - - //Store the long slip (having local copies avoids lhs). - longSlips[i]=longSlip; + camber += jounce*susp.mCamberAtMaxCompression*susp.getRecipMaxCompression(); } - - PxF32 newLowSideSpeedTimer; + else { - //check the accel value here - //Update low side speed timer. - newLowSideSpeedTimer=newLowSideSpeedTimers[i]; - updateLowSideSpeedTimer(tireLatSpeed,isIntentionToAccelerate,timeStep,newLowSideSpeedTimer); - - //Activate sticky tire side friction constraint if required. - //If sticky tire friction is active then set the lateral slip to zero because - //the sticky tire constraint will take care of the lateral component of motion. - bool stickyTireSideActiveFlag=false; - PxF32 stickyTireSideTargetSpeed=0.0f; - activateStickyFrictionSideConstraint(tireLatSpeed,newLowForwardSpeedTimer,newLowSideSpeedTimer,isIntentionToAccelerate,stickyTireSideActiveFlag,stickyTireSideTargetSpeed); - stickyTireSideTargetSpeed += hitActorVelocity.dot(tireLatDir); - - //Store the sticky tire data (having local copies avoids lhs). - newLowSideSpeedTimers[i] = newLowSideSpeedTimer; - stickyTireSideActiveFlags[i]=stickyTireSideActiveFlag; - stickyTireSideTargetSpeeds[i]=stickyTireSideTargetSpeed; - stickyTireSideDirs[i]=tireLatDir; - stickyTireSideCMOffsets[i]=tireForceCMOffset; - - //Deactivate the lat slip if sticky tire constraint is active. - latSlip=(!stickyTireSideActiveFlag ? latSlip : 0.0f); - - //Store the long slip (having local copies avoids lhs). - latSlips[i]=latSlip; + camber -= jounce*susp.mCamberAtMaxDroop*susp.getRecipMaxDroop(); } - //Compute the various tire torques. - PxF32 wheelTorque=0; - PxF32 tireLongForceMag=0; - PxF32 tireLatForceMag=0; - PxF32 tireAlignMoment=0; - const PxF32 restTireLoad=gravityMagnitude*tireRestLoads[i]; - const PxF32 recipWheelRadius=wheel.getRecipRadius(); - tireForceCalculator.mShader( - tireForceCalculator.mShaderData[i], - friction, - longSlip,latSlip,camber, - wheelOmega,wheelRadius,recipWheelRadius, - restTireLoad,filteredNormalisedTireLoad,filteredTireLoad, - gravityMagnitude, recipGravityMagnitude, - wheelTorque,tireLongForceMag,tireLatForceMag,tireAlignMoment); - - //Store the tire torque ((having a local copy avoids lhs). - tireTorques[i]=wheelTorque; - - //Apply the torque to the chassis. - //Compute the tire force to apply to the chassis. - const PxVec3 tireLongForce=tireLongDir*tireLongForceMag; - const PxVec3 tireLatForce=tireLatDir*tireLatForceMag; - const PxVec3 tireForce=tireLongForce+tireLatForce; - //Compute the torque to apply to the chassis. - const PxVec3 tireTorque=tireForceCMOffset.cross(tireForce); - //Add all the forces/torques together. - chassisForce+=tireForce; - chassisTorque+=tireTorque; - - //Graph all the data we just computed. -#if PX_DEBUG_VEHICLE_ON - if(gCarTireForceAppPoints) - gCarTireForceAppPoints[i]=carChassisTrnsfm.p + tireForceCMOffset; - if(gCarSuspForceAppPoints) - gCarSuspForceAppPoints[i]=carChassisTrnsfm.p + suspForceCMOffset; + //Compute the friction that will be experienced by the tire. + PxF32 friction; + computeTireFriction(tire,longSlip,frictionMultiplier,friction); + + //Store the friction (having a local copy avoids lhs). + frictions[i]=friction; - if(gCarWheelGraphData[0]) + if(filteredTireLoad*frictionMultiplier>0) { - updateGraphDataNormLongTireForce(startWheelIndex, i, PxAbs(tireLongForceMag)*normalisedTireLoad/tireLoad); - updateGraphDataNormLatTireForce(startWheelIndex, i, PxAbs(tireLatForceMag)*normalisedTireLoad/tireLoad); - updateGraphDataNormTireAligningMoment(startWheelIndex, i, tireAlignMoment*normalisedTireLoad/tireLoad); - updateGraphDataLongTireSlip(startWheelIndex, i,longSlips[i]); - updateGraphDataLatTireSlip(startWheelIndex, i,latSlips[i]); - updateGraphDataTireFriction(startWheelIndex, i,frictions[i]); - } + //Either tire forces or sticky tire friction constraint will be applied here. + const PxVec3 tireForceCMOffset = carChassisTrnsfm.rotate(wheelsSimData.getTireForceAppPointOffset(i)); + + PxF32 newLowForwardSpeedTimer; + { + //check the accel value here + //Update low forward speed timer. + const PxF32 recipWheelRadius=wheel.getRecipRadius(); + newLowForwardSpeedTimer=newLowForwardSpeedTimers[i]; + updateLowForwardSpeedTimer(tireLongSpeed,wheelOmega,wheelRadius,recipWheelRadius,isIntentionToAccelerate,timeStep,newLowForwardSpeedTimer); + + //Activate sticky tire forward friction constraint if required. + //If sticky tire friction is active then set the longitudinal slip to zero because + //the sticky tire constraint will take care of the longitudinal component of motion. + bool stickyTireForwardActiveFlag=false; + PxF32 stickyTireForwardTargetSpeed=0.0f; + activateStickyFrictionForwardConstraint(tireLongSpeed,wheelOmega,newLowForwardSpeedTimer,isIntentionToAccelerate,stickyTireForwardActiveFlag,stickyTireForwardTargetSpeed); + stickyTireForwardTargetSpeed += hitActorVelocity.dot(tireLongDir); + + //Store the sticky tire data (having local copies avoids lhs). + newLowForwardSpeedTimers[i] = newLowForwardSpeedTimer; + stickyTireForwardActiveFlags[i]=stickyTireForwardActiveFlag; + stickyTireForwardTargetSpeeds[i]=stickyTireForwardTargetSpeed; + stickyTireForwardDirs[i]=tireLongDir; + stickyTireForwardCMOffsets[i]=tireForceCMOffset; + + //Deactivate the long slip if sticky tire constraint is active. + longSlip=(!stickyTireForwardActiveFlag ? longSlip : 0.0f); + + //Store the long slip (having local copies avoids lhs). + longSlips[i]=longSlip; + } + + PxF32 newLowSideSpeedTimer; + { + //check the accel value here + //Update low side speed timer. + newLowSideSpeedTimer=newLowSideSpeedTimers[i]; + updateLowSideSpeedTimer(tireLatSpeed,isIntentionToAccelerate,timeStep,newLowSideSpeedTimer); + + //Activate sticky tire side friction constraint if required. + //If sticky tire friction is active then set the lateral slip to zero because + //the sticky tire constraint will take care of the lateral component of motion. + bool stickyTireSideActiveFlag=false; + PxF32 stickyTireSideTargetSpeed=0.0f; + activateStickyFrictionSideConstraint(tireLatSpeed,newLowForwardSpeedTimer,newLowSideSpeedTimer,isIntentionToAccelerate,stickyTireSideActiveFlag,stickyTireSideTargetSpeed); + stickyTireSideTargetSpeed += hitActorVelocity.dot(tireLatDir); + + //Store the sticky tire data (having local copies avoids lhs). + newLowSideSpeedTimers[i] = newLowSideSpeedTimer; + stickyTireSideActiveFlags[i]=stickyTireSideActiveFlag; + stickyTireSideTargetSpeeds[i]=stickyTireSideTargetSpeed; + stickyTireSideDirs[i]=tireLatDir; + stickyTireSideCMOffsets[i]=tireForceCMOffset; + + //Deactivate the lat slip if sticky tire constraint is active. + latSlip=(!stickyTireSideActiveFlag ? latSlip : 0.0f); + + //Store the long slip (having local copies avoids lhs). + latSlips[i]=latSlip; + } + + //Compute the various tire torques. + PxF32 wheelTorque=0; + PxF32 tireLongForceMag=0; + PxF32 tireLatForceMag=0; + PxF32 tireAlignMoment=0; + const PxF32 restTireLoad=gravityMagnitude*tireRestLoads[i]; + const PxF32 recipWheelRadius=wheel.getRecipRadius(); + tireForceCalculator.mShader( + tireForceCalculator.mShaderData[i], + friction, + longSlip,latSlip,camber, + wheelOmega,wheelRadius,recipWheelRadius, + restTireLoad,filteredNormalisedTireLoad,filteredTireLoad, + gravityMagnitude, recipGravityMagnitude, + wheelTorque,tireLongForceMag,tireLatForceMag,tireAlignMoment); + + //Store the tire torque ((having a local copy avoids lhs). + tireTorques[i]=wheelTorque; + + //Apply the torque to the chassis. + //Compute the tire force to apply to the chassis. + const PxVec3 tireLongForce=tireLongDir*tireLongForceMag; + const PxVec3 tireLatForce=tireLatDir*tireLatForceMag; + const PxVec3 tireForce=tireLongForce+tireLatForce; + //Compute the torque to apply to the chassis. + const PxVec3 tireTorque=tireForceCMOffset.cross(tireForce); + //Add all the forces/torques together. + chassisForce+=tireForce; + chassisTorque+=tireTorque; + + //Graph all the data we just computed. +#if PX_DEBUG_VEHICLE_ON + if(gCarTireForceAppPoints) + gCarTireForceAppPoints[i]=carChassisTrnsfm.p + tireForceCMOffset; + if(gCarSuspForceAppPoints) + gCarSuspForceAppPoints[i]=carChassisTrnsfm.p + suspForceCMOffset; + + if(gCarWheelGraphData[0]) + { + updateGraphDataNormLongTireForce(startWheelIndex, i, PxAbs(tireLongForceMag)*normalisedTireLoad/tireLoad); + updateGraphDataNormLatTireForce(startWheelIndex, i, PxAbs(tireLatForceMag)*normalisedTireLoad/tireLoad); + updateGraphDataNormTireAligningMoment(startWheelIndex, i, tireAlignMoment*normalisedTireLoad/tireLoad); + updateGraphDataLongTireSlip(startWheelIndex, i,longSlips[i]); + updateGraphDataLatTireSlip(startWheelIndex, i,latSlips[i]); + updateGraphDataTireFriction(startWheelIndex, i,frictions[i]); + } #endif - }//filteredTireLoad*frictionMultiplier>0 + }//filteredTireLoad*frictionMultiplier>0 + }//if(computeSuspensionForce) }//if(dx > -susp.mMaxCompression) }//if(numHits>0) }//i @@ -5101,7 +5154,8 @@ PxVehicleDrive4W* vehDrive4W, PxVehicleWheelQueryResult* vehWheelQueryResults, P const PxF32 recipSubTimeStep=1.0f/subTimestep; const PxF32 recipTimestep=1.0f/timestep; const PxF32 minLongSlipDenominator=vehDrive4W->mWheelsSimData.mMinLongSlipDenominator; - ProcessSuspWheelTireConstData constData={timeFraction, subTimestep, recipSubTimeStep, gravity, gravityMagnitude, recipGravityMagnitude, false, minLongSlipDenominator, vehActor, &drivableSurfaceToTireFrictionPairs}; + ProcessSuspWheelTireConstData constData={timeFraction, subTimestep, recipSubTimeStep, gravity, gravityMagnitude, recipGravityMagnitude, false, minLongSlipDenominator, + vehActor, &drivableSurfaceToTireFrictionPairs, vehDrive4W->mWheelsSimData.mFlags}; END_TIMER(TIMER_ADMIN); @@ -5691,7 +5745,8 @@ void PxVehicleUpdate::updateDriveNW const PxF32 recipSubTimeStep=1.0f/subTimestep; const PxF32 recipTimestep=1.0f/timestep; const PxF32 minLongSlipDenominator=vehDriveNW->mWheelsSimData.mMinLongSlipDenominator; - ProcessSuspWheelTireConstData constData={timeFraction, subTimestep, recipSubTimeStep, gravity, gravityMagnitude, recipGravityMagnitude, false, minLongSlipDenominator, vehActor, &drivableSurfaceToTireFrictionPairs}; + ProcessSuspWheelTireConstData constData={timeFraction, subTimestep, recipSubTimeStep, gravity, gravityMagnitude, recipGravityMagnitude, false, minLongSlipDenominator, + vehActor, &drivableSurfaceToTireFrictionPairs, vehDriveNW->mWheelsSimData.mFlags}; END_TIMER(TIMER_ADMIN); @@ -6213,7 +6268,8 @@ void PxVehicleUpdate::updateTank const PxF32 recipSubTimeStep=1.0f/subTimestep; const PxF32 recipTimestep=1.0f/timestep; const PxF32 minLongSlipDenominator=vehDriveTank->mWheelsSimData.mMinLongSlipDenominator; - ProcessSuspWheelTireConstData constData={timeFraction, subTimestep, recipSubTimeStep, gravity, gravityMagnitude, recipGravityMagnitude, true, minLongSlipDenominator, vehActor, &drivableSurfaceToTireFrictionPairs}; + ProcessSuspWheelTireConstData constData={timeFraction, subTimestep, recipSubTimeStep, gravity, gravityMagnitude, recipGravityMagnitude, true, minLongSlipDenominator, + vehActor, &drivableSurfaceToTireFrictionPairs, vehDriveTank->mWheelsSimData.mFlags}; for(PxU32 k=0;kmWheelsSimData.mMinLongSlipDenominator; - ProcessSuspWheelTireConstData constData={timeFraction, subTimestep, recipSubTimeStep, gravity, gravityMagnitude, recipGravityMagnitude, false, minLongSlipDenominator, vehActor, &drivableSurfaceToTireFrictionPairs}; + ProcessSuspWheelTireConstData constData={timeFraction, subTimestep, recipSubTimeStep, gravity, gravityMagnitude, recipGravityMagnitude, false, minLongSlipDenominator, + vehActor, &drivableSurfaceToTireFrictionPairs, vehNoDrive->mWheelsSimData.mFlags}; for(PxU32 k=0;k> 5)); return *this; @@ -444,6 +448,16 @@ void PxVehicleWheelsSimData::setMinLongSlipDenominator(const PxReal minLongSlipD mMinLongSlipDenominator=minLongSlipDenominator; } +void PxVehicleWheelsSimData::setFlags(PxVehicleWheelsSimFlags flags) +{ + mFlags = flags; +} + +PxVehicleWheelsSimFlags PxVehicleWheelsSimData::getFlags() const +{ + return PxVehicleWheelsSimFlags(mFlags); +} + ///////////////////////////// @@ -640,6 +654,15 @@ void PxVehicleWheels::free() } } +void PxVehicleWheels::onConstraintRelease() +{ + mOnConstraintReleaseCounter--; + if (0 == mOnConstraintReleaseCounter) + { + PX_FREE(this); + } +} + static PxConstraintShaderTable t = { PxVehicleConstraintShader::vehicleSuspLimitConstraintSolverPrep, diff --git a/physx/source/physxvehicle/src/physxmetadata/include/PxVehicleAutoGeneratedMetaDataObjectNames.h b/physx/source/physxvehicle/src/physxmetadata/include/PxVehicleAutoGeneratedMetaDataObjectNames.h index 4b867ad8a..a4d204dce 100644 --- a/physx/source/physxvehicle/src/physxmetadata/include/PxVehicleAutoGeneratedMetaDataObjectNames.h +++ b/physx/source/physxvehicle/src/physxmetadata/include/PxVehicleAutoGeneratedMetaDataObjectNames.h @@ -152,6 +152,7 @@ PxVehicleWheelsSimData_SceneQueryFilterData, PxVehicleWheelsSimData_AntiRollBarData, PxVehicleWheelsSimData_TireLoadFilterData, PxVehicleWheelsSimData_MinLongSlipDenominator, +PxVehicleWheelsSimData_Flags, PxVehicleWheelsSimData_ThresholdLongSpeed, PxVehicleWheelsSimData_LowForwardSpeedSubStepCount, PxVehicleWheelsSimData_HighForwardSpeedSubStepCount, diff --git a/physx/source/physxvehicle/src/physxmetadata/include/PxVehicleAutoGeneratedMetaDataObjects.h b/physx/source/physxvehicle/src/physxmetadata/include/PxVehicleAutoGeneratedMetaDataObjects.h index 263557854..5ec8cbac7 100644 --- a/physx/source/physxvehicle/src/physxmetadata/include/PxVehicleAutoGeneratedMetaDataObjects.h +++ b/physx/source/physxvehicle/src/physxmetadata/include/PxVehicleAutoGeneratedMetaDataObjects.h @@ -1010,11 +1010,18 @@ template<> struct PxEnumTraits< physx::PxVehicleClutchAccuracyMode::Enum > { PxE const PxVehicleWheels4SimDataGeneratedInfo* getInfo() { return &Info; } }; + static PxU32ToName g_physx__PxVehicleWheelsSimFlag__EnumConversion[] = { + { "eLIMIT_SUSPENSION_EXPANSION_VELOCITY", static_cast( physx::PxVehicleWheelsSimFlag::eLIMIT_SUSPENSION_EXPANSION_VELOCITY ) }, + { NULL, 0 } + }; + +template<> struct PxEnumTraits< physx::PxVehicleWheelsSimFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxVehicleWheelsSimFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxVehicleWheelsSimData; struct PxVehicleWheelsSimDataGeneratedValues { PxVehicleTireLoadFilterData TireLoadFilterData; PxF32 MinLongSlipDenominator; + PxVehicleWheelsSimFlags Flags; PxF32 ThresholdLongSpeed; PxU32 LowForwardSpeedSubStepCount; PxU32 HighForwardSpeedSubStepCount; @@ -1022,6 +1029,7 @@ template<> struct PxEnumTraits< physx::PxVehicleClutchAccuracyMode::Enum > { PxE }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxVehicleWheelsSimData, TireLoadFilterData, PxVehicleWheelsSimDataGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxVehicleWheelsSimData, MinLongSlipDenominator, PxVehicleWheelsSimDataGeneratedValues) + DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxVehicleWheelsSimData, Flags, PxVehicleWheelsSimDataGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxVehicleWheelsSimData, ThresholdLongSpeed, PxVehicleWheelsSimDataGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxVehicleWheelsSimData, LowForwardSpeedSubStepCount, PxVehicleWheelsSimDataGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxVehicleWheelsSimData, HighForwardSpeedSubStepCount, PxVehicleWheelsSimDataGeneratedValues) @@ -1042,6 +1050,7 @@ template<> struct PxEnumTraits< physx::PxVehicleClutchAccuracyMode::Enum > { PxE PxExtendedIndexedPropertyInfo AntiRollBarData; PxPropertyInfo TireLoadFilterData; PxPropertyInfo MinLongSlipDenominator; + PxPropertyInfo Flags; PxPropertyInfo ThresholdLongSpeed; PxPropertyInfo LowForwardSpeedSubStepCount; PxPropertyInfo HighForwardSpeedSubStepCount; @@ -1065,7 +1074,7 @@ template<> struct PxEnumTraits< physx::PxVehicleClutchAccuracyMode::Enum > { PxE PX_UNUSED(inStartIndex); return inStartIndex; } - static PxU32 instancePropertyCount() { return 17; } + static PxU32 instancePropertyCount() { return 18; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const @@ -1085,11 +1094,12 @@ template<> struct PxEnumTraits< physx::PxVehicleClutchAccuracyMode::Enum > { PxE inOperator( AntiRollBarData, inStartIndex + 10 );; inOperator( TireLoadFilterData, inStartIndex + 11 );; inOperator( MinLongSlipDenominator, inStartIndex + 12 );; - inOperator( ThresholdLongSpeed, inStartIndex + 13 );; - inOperator( LowForwardSpeedSubStepCount, inStartIndex + 14 );; - inOperator( HighForwardSpeedSubStepCount, inStartIndex + 15 );; - inOperator( WheelEnabledState, inStartIndex + 16 );; - return 17 + inStartIndex; + inOperator( Flags, inStartIndex + 13 );; + inOperator( ThresholdLongSpeed, inStartIndex + 14 );; + inOperator( LowForwardSpeedSubStepCount, inStartIndex + 15 );; + inOperator( HighForwardSpeedSubStepCount, inStartIndex + 16 );; + inOperator( WheelEnabledState, inStartIndex + 17 );; + return 18 + inStartIndex; } }; template<> struct PxClassInfoTraits diff --git a/physx/source/physxvehicle/src/physxmetadata/src/PxVehicleAutoGeneratedMetaDataObjects.cpp b/physx/source/physxvehicle/src/physxmetadata/src/PxVehicleAutoGeneratedMetaDataObjects.cpp index f3d7d7cf6..b00987ee0 100644 --- a/physx/source/physxvehicle/src/physxmetadata/src/PxVehicleAutoGeneratedMetaDataObjects.cpp +++ b/physx/source/physxvehicle/src/physxmetadata/src/PxVehicleAutoGeneratedMetaDataObjects.cpp @@ -438,6 +438,8 @@ void setPxVehicleWheelsSimData_TireLoadFilterData( PxVehicleWheelsSimData* inObj PxVehicleTireLoadFilterData getPxVehicleWheelsSimData_TireLoadFilterData( const PxVehicleWheelsSimData* inObj ) { return inObj->getTireLoadFilterData(); } void setPxVehicleWheelsSimData_MinLongSlipDenominator( PxVehicleWheelsSimData* inObj, const PxReal inArg){ inObj->setMinLongSlipDenominator( inArg ); } PxF32 getPxVehicleWheelsSimData_MinLongSlipDenominator( const PxVehicleWheelsSimData* inObj ) { return inObj->getMinLongSlipDenominator(); } +void setPxVehicleWheelsSimData_Flags( PxVehicleWheelsSimData* inObj, PxVehicleWheelsSimFlags inArg){ inObj->setFlags( inArg ); } +PxVehicleWheelsSimFlags getPxVehicleWheelsSimData_Flags( const PxVehicleWheelsSimData* inObj ) { return inObj->getFlags(); } void setPxVehicleWheelsSimData_ThresholdLongSpeed( PxVehicleWheelsSimData* inObj, const PxF32 inArg){ inObj->setThresholdLongSpeed( inArg ); } PxF32 getPxVehicleWheelsSimData_ThresholdLongSpeed( const PxVehicleWheelsSimData* inObj ) { return inObj->getThresholdLongSpeed(); } void setPxVehicleWheelsSimData_LowForwardSpeedSubStepCount( PxVehicleWheelsSimData* inObj, const PxU32 inArg){ inObj->setLowForwardSpeedSubStepCount( inArg ); } @@ -461,6 +463,7 @@ void setPxVehicleWheelsSimData_WheelEnabledState( PxVehicleWheelsSimData* inObj, , AntiRollBarData( "AntiRollBarData", getPxVehicleWheelsSimData_AntiRollBarData, getNbPxVehicleWheelsSimData_AntiRollBarData, setPxVehicleWheelsSimData_AntiRollBarData ) , TireLoadFilterData( "TireLoadFilterData", setPxVehicleWheelsSimData_TireLoadFilterData, getPxVehicleWheelsSimData_TireLoadFilterData) , MinLongSlipDenominator( "MinLongSlipDenominator", setPxVehicleWheelsSimData_MinLongSlipDenominator, getPxVehicleWheelsSimData_MinLongSlipDenominator) + , Flags( "Flags", setPxVehicleWheelsSimData_Flags, getPxVehicleWheelsSimData_Flags) , ThresholdLongSpeed( "ThresholdLongSpeed", setPxVehicleWheelsSimData_ThresholdLongSpeed, getPxVehicleWheelsSimData_ThresholdLongSpeed) , LowForwardSpeedSubStepCount( "LowForwardSpeedSubStepCount", setPxVehicleWheelsSimData_LowForwardSpeedSubStepCount, getPxVehicleWheelsSimData_LowForwardSpeedSubStepCount) , HighForwardSpeedSubStepCount( "HighForwardSpeedSubStepCount", setPxVehicleWheelsSimData_HighForwardSpeedSubStepCount, getPxVehicleWheelsSimData_HighForwardSpeedSubStepCount) @@ -469,6 +472,7 @@ void setPxVehicleWheelsSimData_WheelEnabledState( PxVehicleWheelsSimData* inObj, PxVehicleWheelsSimDataGeneratedValues::PxVehicleWheelsSimDataGeneratedValues( const PxVehicleWheelsSimData* inSource ) :TireLoadFilterData( getPxVehicleWheelsSimData_TireLoadFilterData( inSource ) ) ,MinLongSlipDenominator( getPxVehicleWheelsSimData_MinLongSlipDenominator( inSource ) ) + ,Flags( getPxVehicleWheelsSimData_Flags( inSource ) ) ,ThresholdLongSpeed( getPxVehicleWheelsSimData_ThresholdLongSpeed( inSource ) ) ,LowForwardSpeedSubStepCount( getPxVehicleWheelsSimData_LowForwardSpeedSubStepCount( inSource ) ) ,HighForwardSpeedSubStepCount( getPxVehicleWheelsSimData_HighForwardSpeedSubStepCount( inSource ) ) diff --git a/physx/source/simulationcontroller/include/ScArticulationCore.h b/physx/source/simulationcontroller/include/ScArticulationCore.h index 59b85dd39..884dd1d12 100644 --- a/physx/source/simulationcontroller/include/ScArticulationCore.h +++ b/physx/source/simulationcontroller/include/ScArticulationCore.h @@ -52,6 +52,7 @@ namespace Sc class ArticulationSim; class BodyCore; class BodySim; + class ArticulationJointCore; class ArticulationCore { @@ -138,7 +139,7 @@ namespace Sc //--------------------------------------------------------------------------------- // external reduced coordinate API //--------------------------------------------------------------------------------- - void setArticulationFlags(PxArticulationFlags flags) { mCore.flags = flags; } + void setArticulationFlags(PxArticulationFlags flags); PxArticulationFlags getArticulationFlags() const { return mCore.flags; } PxU32 getDofs() const; @@ -171,6 +172,7 @@ namespace Sc void computeJointForce(PxArticulationCache& cache) const; + void computeDenseJacobian(PxArticulationCache& cache, PxU32& nRows, PxU32& nCols) const; void computeCoefficientMatrix(PxArticulationCache& cache) const; @@ -180,6 +182,11 @@ namespace Sc void computeGeneralizedMassMatrix(PxArticulationCache& cache) const; PxU32 getCoefficientMatrixSize() const; + + PxSpatialVelocity getLinkVelocity(const PxU32 linkId) const; + + PxSpatialVelocity getLinkAcceleration(const PxU32 linkId) const; + //--------------------------------------------------------------------------------- // Internal API //--------------------------------------------------------------------------------- @@ -206,6 +213,7 @@ namespace Sc void setGlobalPose(); void setDirty(const bool dirty); + private: ArticulationSim* mSim; Dy::ArticulationCore mCore; diff --git a/physx/source/simulationcontroller/include/ScArticulationJointCore.h b/physx/source/simulationcontroller/include/ScArticulationJointCore.h index 1e187e433..1bcded66e 100644 --- a/physx/source/simulationcontroller/include/ScArticulationJointCore.h +++ b/physx/source/simulationcontroller/include/ScArticulationJointCore.h @@ -127,11 +127,7 @@ namespace Sc upper = mCore.limits[axis].high; } - void setLimit(PxArticulationAxis::Enum axis, PxReal lower, PxReal upper) - { - mCore.limits[axis].low = lower; - mCore.limits[axis].high = upper; - } + void setLimit(PxArticulationAxis::Enum axis, PxReal lower, PxReal upper); void getDrive(PxArticulationAxis::Enum axis, PxReal& stiffness, PxReal& damping, PxReal& maxForce, PxArticulationDriveType::Enum& driveType) const { @@ -141,13 +137,7 @@ namespace Sc driveType = mCore.drives[axis].driveType; } - void setDrive(PxArticulationAxis::Enum axis, PxReal stiffness, PxReal damping, PxReal maxForce, PxArticulationDriveType::Enum driveType) - { - mCore.drives[axis].stiffness = stiffness; - mCore.drives[axis].damping = damping; - mCore.drives[axis].maxForce = maxForce; - mCore.drives[axis].driveType = driveType; - } + void setDrive(PxArticulationAxis::Enum axis, PxReal stiffness, PxReal damping, PxReal maxForce, PxArticulationDriveType::Enum driveType); void setTargetP(PxArticulationAxis::Enum axis, PxReal targetP); PX_FORCE_INLINE PxReal getTargetP(PxArticulationAxis::Enum axis) const { return mCore.targetP[axis]; } @@ -199,6 +189,8 @@ namespace Sc PX_FORCE_INLINE PxArticulationJointBase* getRoot() const { return mRootType; } private: + + void setDirty(Dy::ArticulationJointCoreDirtyFlag::Enum dirtyFlag); ArticulationJointSim* mSim; Dy::ArticulationJointCore mCore; ArticulationCore* mArticulation; diff --git a/physx/source/simulationcontroller/include/ScBodyCore.h b/physx/source/simulationcontroller/include/ScBodyCore.h index 850c262ba..a8bc67b5f 100644 --- a/physx/source/simulationcontroller/include/ScBodyCore.h +++ b/physx/source/simulationcontroller/include/ScBodyCore.h @@ -72,7 +72,6 @@ namespace Sc static void getBinaryMetaData(PxOutputStream& stream); void disableInternalCaching(bool disable); void restoreDynamicData(); - void backupDynamicData(); //~PX_SERIALIZATION BodyCore(PxActorType::Enum type, const PxTransform& bodyPose); @@ -196,7 +195,9 @@ namespace Sc { size_t offset = PX_OFFSET_OF_RT(BodyCore, mCore); return *reinterpret_cast(reinterpret_cast(&core) - offset); - } + } + + void setKinematicLink(const bool value); private: void backup(SimStateData&); diff --git a/physx/source/simulationcontroller/src/ScArticulationCore.cpp b/physx/source/simulationcontroller/src/ScArticulationCore.cpp index e6f8b1c7c..4cd0e9c67 100644 --- a/physx/source/simulationcontroller/src/ScArticulationCore.cpp +++ b/physx/source/simulationcontroller/src/ScArticulationCore.cpp @@ -152,6 +152,16 @@ void Sc::ArticulationCore::computeImpulseResponse(Sc::BodyCore& link, mSim->computeImpulseResponse(link, linearResponse, angularResponse, driveCache, force, torque); } +void Sc::ArticulationCore::setArticulationFlags(PxArticulationFlags flags) +{ + mCore.flags = flags; + if (mSim) + { + const bool isKinematicLink = flags & PxArticulationFlag::eFIX_BASE; + mSim->setKinematicLink(isKinematicLink); + } +} + PxU32 Sc::ArticulationCore::getDofs() const { return mSim ? mSim->getDofs() : 0; @@ -267,6 +277,16 @@ PxU32 Sc::ArticulationCore::getCoefficientMatrixSize() const return mSim ? mSim->getCoefficientMatrixSize() : 0; } +PxSpatialVelocity Sc::ArticulationCore::getLinkVelocity(const PxU32 linkId) const +{ + return mSim ? mSim->getLinkVelocity(linkId) : PxSpatialVelocity(); +} + +PxSpatialVelocity Sc::ArticulationCore::getLinkAcceleration(const PxU32 linkId) const +{ + return mSim ? mSim->getLinkAcceleration(linkId) : PxSpatialVelocity(); +} + IG::NodeIndex Sc::ArticulationCore::getIslandNodeIndex() const { return mSim ? mSim->getIslandNodeIndex() : IG::NodeIndex(IG_INVALID_NODE); diff --git a/physx/source/simulationcontroller/src/ScArticulationJointCore.cpp b/physx/source/simulationcontroller/src/ScArticulationJointCore.cpp index e23935ef9..a02ffe1b7 100644 --- a/physx/source/simulationcontroller/src/ScArticulationJointCore.cpp +++ b/physx/source/simulationcontroller/src/ScArticulationJointCore.cpp @@ -90,6 +90,7 @@ Sc::ArticulationJointCore::ArticulationJointCore(const PxTransform& parentFrame, mCore.drives[i].stiffness = 0.f; mCore.drives[i].damping = 0.f; mCore.drives[i].maxForce = 0.f; + mCore.drives[i].driveType = PxArticulationDriveType::eNONE; mCore.targetP[i] = 0.f; mCore.targetV[i] = 0.f; } @@ -106,7 +107,6 @@ Sc::ArticulationJointCore::ArticulationJointCore(const PxTransform& parentFrame, mCore.swingLimited = false; mCore.twistLimited = false; - mCore.prismaticLimited = false; mCore.tangentialStiffness = 0.0f; mCore.tangentialDamping = 0.0f; @@ -132,15 +132,13 @@ Sc::ArticulationJointCore::~ArticulationJointCore() void Sc::ArticulationJointCore::setParentPose(const PxTransform& t) { mCore.parentPose = t; - mCore.dirtyFlag |= Dy::ArticulationJointCoreDirtyFlag::ePOSE; - mArticulation->setDirty(true); + setDirty(Dy::ArticulationJointCoreDirtyFlag::ePOSE); } void Sc::ArticulationJointCore::setChildPose(const PxTransform& t) { mCore.childPose = t; - mCore.dirtyFlag |= Dy::ArticulationJointCoreDirtyFlag::ePOSE; - mArticulation->setDirty(true); + setDirty(Dy::ArticulationJointCoreDirtyFlag::ePOSE); } void Sc::ArticulationJointCore::setTargetOrientation(const PxQuat& p) @@ -172,8 +170,7 @@ PxArticulationJointType::Enum Sc::ArticulationJointCore::getJointType() const void Sc::ArticulationJointCore::setMotion(PxArticulationAxis::Enum axis, PxArticulationMotion::Enum motion) { mCore.motion[axis] = PxU8(motion); - mCore.dirtyFlag |= Dy::ArticulationJointCoreDirtyFlag::eMOTION; - mArticulation->setDirty(true); + setDirty(Dy::ArticulationJointCoreDirtyFlag::eMOTION); } PxArticulationMotion::Enum Sc::ArticulationJointCore::getMotion(PxArticulationAxis::Enum axis) const @@ -271,18 +268,43 @@ void Sc::ArticulationJointCore::setTwistLimitContactDistance(PxReal e) mCore.tanQTwistPad = PxTan(e/4); } +void Sc::ArticulationJointCore::setDirty(Dy::ArticulationJointCoreDirtyFlag::Enum dirtyFlag) +{ + mCore.dirtyFlag |= dirtyFlag; + Sc::ArticulationJointSim* sim = getSim(); + if (sim) + { + sim->setDirty(); + } +} + void Sc::ArticulationJointCore::setTargetP(PxArticulationAxis::Enum axis, PxReal targetP) { mCore.targetP[axis] = targetP; - mCore.dirtyFlag |= Dy::ArticulationJointCoreDirtyFlag::eTARGETPOSE; - mArticulation->setDirty(true); + setDirty(Dy::ArticulationJointCoreDirtyFlag::eTARGETPOSE); } void Sc::ArticulationJointCore::setTargetV(PxArticulationAxis::Enum axis, PxReal targetV) { mCore.targetV[axis] = targetV; - mCore.dirtyFlag |= Dy::ArticulationJointCoreDirtyFlag::eTARGETVELOCITY; - mArticulation->setDirty(true); + setDirty(Dy::ArticulationJointCoreDirtyFlag::eTARGETVELOCITY); +} + +void Sc::ArticulationJointCore::setLimit(PxArticulationAxis::Enum axis, PxReal lower, PxReal upper) +{ + mCore.limits[axis].low = lower; + mCore.limits[axis].high = upper; + setDirty(Dy::ArticulationJointCoreDirtyFlag::eLIMIT); +} + +void Sc::ArticulationJointCore::setDrive(PxArticulationAxis::Enum axis, PxReal stiffness, PxReal damping, PxReal maxForce, PxArticulationDriveType::Enum driveType) +{ + mCore.drives[axis].stiffness = stiffness; + mCore.drives[axis].damping = damping; + mCore.drives[axis].maxForce = maxForce; + mCore.drives[axis].driveType = driveType; + + setDirty(Dy::ArticulationJointCoreDirtyFlag::eDRIVE); } PxArticulationJointBase* Sc::ArticulationJointCore::getPxArticulationJointBase() diff --git a/physx/source/simulationcontroller/src/ScArticulationJointSim.cpp b/physx/source/simulationcontroller/src/ScArticulationJointSim.cpp index 48a19da73..eca7a1a23 100644 --- a/physx/source/simulationcontroller/src/ScArticulationJointSim.cpp +++ b/physx/source/simulationcontroller/src/ScArticulationJointSim.cpp @@ -90,3 +90,11 @@ bool Sc::ArticulationJointSim::onDeactivate_() clearInteractionFlag(InteractionFlag::eIS_ACTIVE); return true; } + +void Sc::ArticulationJointSim::setDirty() +{ + Dy::ArticulationJointCore& llCore = mCore.getCore(); + ArticulationSim* sim = mCore.getArticulation()->getSim(); + sim->setDirty(true); //Don't set the articulation dirty - only the joint is dirty! + sim->setJointDirty(llCore); +} diff --git a/physx/source/simulationcontroller/src/ScArticulationJointSim.h b/physx/source/simulationcontroller/src/ScArticulationJointSim.h index 9852f65fb..b83d0263b 100644 --- a/physx/source/simulationcontroller/src/ScArticulationJointSim.h +++ b/physx/source/simulationcontroller/src/ScArticulationJointSim.h @@ -57,6 +57,8 @@ namespace Sc BodySim& getParent() const; BodySim& getChild() const; + void setDirty(); + //--------------------------------------------------------------------------------- // Low Level data access //--------------------------------------------------------------------------------- diff --git a/physx/source/simulationcontroller/src/ScArticulationSim.cpp b/physx/source/simulationcontroller/src/ScArticulationSim.cpp index 2405be05d..062813293 100644 --- a/physx/source/simulationcontroller/src/ScArticulationSim.cpp +++ b/physx/source/simulationcontroller/src/ScArticulationSim.cpp @@ -44,6 +44,7 @@ #include "PsVecMath.h" #include "PxsSimpleIslandManager.h" #include "ScShapeSim.h" +#include "PxsSimulationController.h" using namespace physx; using namespace physx::Dy; @@ -489,6 +490,17 @@ void Sc::ArticulationSim::computeImpulseResponse(Sc::BodyCore& link, Ps::aos::V3StoreU(v.angular, angularResponse); } + +void Sc::ArticulationSim::setKinematicLink(const bool value) +{ + const PxU32 linkCount = mLinks.size(); + + if (linkCount > 0) + { + mLinks[0].bodyCore->kinematicLink = PxU8(value); + } +} + PxU32 Sc::ArticulationSim::getDofs() const { return mLLArticulation->getDofs(); @@ -506,19 +518,21 @@ PxArticulationCache* Sc::ArticulationSim::createCache() const PxU32 totalSize = getCacheDataSize() + sizeof(PxArticulationCache); - const PxU32 jointCount = mLinks.size() - 1; + const PxU32 linkCount = mLinks.size(); + const PxU32 jointCount = linkCount - 1; PxU8* tCache = reinterpret_cast(PX_ALLOC(totalSize, "Articulation cache")); PxMemZero(tCache, totalSize); const PxU32 totalDofs = mLLArticulation->getDofs(); + PxArticulationCache* cache = reinterpret_cast(tCache); PxU32 offset = sizeof(PxArticulationCache); cache->externalForces = reinterpret_cast(tCache + offset); - offset += sizeof(PxSpatialForce) * mLinks.size(); + offset += sizeof(PxSpatialForce) * linkCount; cache->denseJacobian = reinterpret_cast(tCache + offset); offset += sizeof(PxReal) * (6 + totalDofs) * ((1 + jointCount) * 6); //size of dense jacobian assuming free floating base link. @@ -538,6 +552,12 @@ PxArticulationCache* Sc::ArticulationSim::createCache() const cache->jointForce = reinterpret_cast(tCache + offset); offset += sizeof(PxReal) * totalDofs; + cache->linkVelocity = reinterpret_cast(tCache + offset); + + offset += sizeof(PxSpatialVelocity) * linkCount; + cache->linkAcceleration = reinterpret_cast(tCache + offset); + + offset += sizeof(PxSpatialVelocity) * linkCount; cache->rootLinkData = reinterpret_cast(tCache + offset); cache->coefficientMatrix = NULL; @@ -557,14 +577,15 @@ PxArticulationCache* Sc::ArticulationSim::createCache() const PxU32 Sc::ArticulationSim::getCacheDataSize() const { const PxU32 totalDofs = mLLArticulation->getDofs(); - - const PxU32 jointCount = mLinks.size() - 1; + const PxU32 linkCount = mLinks.size(); + const PxU32 jointCount = linkCount - 1; PxU32 totalSize = - sizeof(Cm::SpatialVector) * mLinks.size() //external force - + sizeof(PxReal) * (6 + totalDofs) * ((1 + jointCount) * 6)//offset to end of dense jacobian (assuming free floating base) - + sizeof(PxReal) * totalDofs * totalDofs //mass matrix - + sizeof(PxReal) * totalDofs * 4 //jointVelocity, jointAcceleration, jointPosition, joint force - + sizeof(PxArticulationRootLinkData); //root link data + sizeof(PxSpatialForce) * linkCount //external force + + sizeof(PxReal) * (6 + totalDofs) * ((1 + jointCount) * 6) //offset to end of dense jacobian (assuming free floating base) + + sizeof(PxReal) * totalDofs * totalDofs //mass matrix + + sizeof(PxReal) * totalDofs * 4 //jointVelocity, jointAcceleration, jointPosition, joint force + + sizeof(PxSpatialVelocity) * linkCount * 2 //link velocity, link acceleration + + sizeof(PxArticulationRootLinkData); //root link data return totalSize; } @@ -593,7 +614,10 @@ void Sc::ArticulationSim::zeroCache(PxArticulationCache& cache) const void Sc::ArticulationSim::applyCache(PxArticulationCache& cache, const PxArticulationCacheFlags flag) const { //checkResize(); - mLLArticulation->applyCache(cache, flag); + if (mLLArticulation->applyCache(cache, flag)) + { + mScene.getSimulationController()->updateArticulation(mLLArticulation, mIslandNodeIndex); + } } //copy internal data to external data @@ -693,13 +717,8 @@ void Sc::ArticulationSim::computeGeneralizedMassMatrix(PxArticulationCache& cach for (PxU32 j = 0; j < totalDofs; ++j) { const PxReal dif = row[j] - massMatrix[j*totalDofs + i]; - if (PxAbs(dif) > 2e-4f) - { - int bob = 0; - PX_UNUSED(bob); - } + PX_ASSERT (PxAbs(dif) < 2e-4f) } - } PX_FREE(massMatrix);*/ @@ -712,6 +731,18 @@ PxU32 Sc::ArticulationSim::getCoefficientMatrixSize() const return sizeof(PxReal) * size * totalDofs; } +PxSpatialVelocity Sc::ArticulationSim::getLinkVelocity(const PxU32 linkId) const +{ + Cm::SpatialVector vel = mLLArticulation->getMotionVelocity(linkId); + return reinterpret_cast(vel); +} + +PxSpatialVelocity Sc::ArticulationSim::getLinkAcceleration(const PxU32 linkId) const +{ + Cm::SpatialVector accel = mLLArticulation->getMotionAcceleration(linkId); + return reinterpret_cast(accel); +} + // This method allows user teleport the root links and the articulation //system update all other links pose void Sc::ArticulationSim::setGlobalPose() @@ -723,6 +754,14 @@ void Sc::ArticulationSim::setGlobalPose() void Sc::ArticulationSim::setDirty(const bool dirty) { mLLArticulation->setDirty(dirty); + if(dirty) + mScene.getSimulationController()->updateArticulation(mLLArticulation, mIslandNodeIndex); +} + +void Sc::ArticulationSim::setJointDirty(Dy::ArticulationJointCore& jointCore) +{ + PX_UNUSED(jointCore); + mScene.getSimulationController()->updateArticulationJoint(mLLArticulation, mIslandNodeIndex); } void Sc::ArticulationSim::debugCheckWakeCounterOfLinks(PxReal wakeCounter) const diff --git a/physx/source/simulationcontroller/src/ScArticulationSim.h b/physx/source/simulationcontroller/src/ScArticulationSim.h index dbc61fc48..786cd522e 100644 --- a/physx/source/simulationcontroller/src/ScArticulationSim.h +++ b/physx/source/simulationcontroller/src/ScArticulationSim.h @@ -132,6 +132,9 @@ namespace Sc const ArticulationDriveCache& driveCache, const PxVec3& force, const PxVec3& torque) const; + + + void setKinematicLink(const bool value); //external reduced coordinate implementation PxU32 getDofs() const; @@ -179,6 +182,11 @@ namespace Sc void computeGeneralizedMassMatrix(PxArticulationCache& cache); PxU32 getCoefficientMatrixSize() const; + + PxSpatialVelocity getLinkVelocity(const PxU32 linkId) const; + + PxSpatialVelocity getLinkAcceleration(const PxU32 linkId) const; + //internal method implementation PX_FORCE_INLINE IG::NodeIndex getIslandNodeIndex() const { return mIslandNodeIndex; } @@ -187,6 +195,8 @@ namespace Sc void setDirty(const bool dirty); PxU32 findBodyIndex(BodySim &body) const; + void setJointDirty(Dy::ArticulationJointCore& jointCore); + void addLoopConstraint(ConstraintSim* constraint); void removeLoopConstraint(ConstraintSim* constraint); diff --git a/physx/source/simulationcontroller/src/ScBodyCore.cpp b/physx/source/simulationcontroller/src/ScBodyCore.cpp index b7bc94660..beecf2787 100644 --- a/physx/source/simulationcontroller/src/ScBodyCore.cpp +++ b/physx/source/simulationcontroller/src/ScBodyCore.cpp @@ -80,12 +80,6 @@ void Sc::BodyCore::restoreDynamicData() restore(); } -void Sc::BodyCore::backupDynamicData() -{ - PX_ASSERT(mSimStateData && mSimStateData->isKine()); - backup(*mSimStateData); -} - //-------------------------------------------------------------- // // BodyCore interface implementation @@ -682,4 +676,12 @@ void Sc::BodyCore::invalidateKinematicTarget() mSimStateData->getKinematicData()->targetValid = 0; } +void Sc::BodyCore::setKinematicLink(const bool value) +{ + BodySim* sim = getSim(); + + if (sim) + sim->getLowLevelBody().mCore->kinematicLink = PxU8(value); +} + /////////////////////////////////////////////////////////////////////////////// diff --git a/physx/source/simulationcontroller/src/ScMetaData.cpp b/physx/source/simulationcontroller/src/ScMetaData.cpp index 55d0dce51..2f7b9b1ff 100644 --- a/physx/source/simulationcontroller/src/ScMetaData.cpp +++ b/physx/source/simulationcontroller/src/ScMetaData.cpp @@ -114,7 +114,8 @@ namespace PX_DEF_BIN_METADATA_ITEM(stream, ShadowPxsBodyCore, PxU32, numBodyInteractions, 0) PX_DEF_BIN_METADATA_ITEM(stream, ShadowPxsBodyCore, PxU8, isFastMoving, 0) PX_DEF_BIN_METADATA_ITEM(stream, ShadowPxsBodyCore, PxU8, disableGravity, 0) - PX_DEF_BIN_METADATA_ITEM(stream, ShadowPxsBodyCore, PxU16, lockFlags, 0) + PX_DEF_BIN_METADATA_ITEM(stream, ShadowPxsBodyCore, PxU8, lockFlags, 0) + PX_DEF_BIN_METADATA_ITEM(stream, ShadowPxsBodyCore, PxU8, kinematicLink, 0) } }; } @@ -348,11 +349,8 @@ static void getBinaryMetaData_ArticulationJointCoreBase(PxOutputStream& stream) PX_DEF_BIN_METADATA_ITEMS_AUTO(stream, Dy::ArticulationJointCoreBase, PxReal, targetP, 0) PX_DEF_BIN_METADATA_ITEMS_AUTO(stream, Dy::ArticulationJointCoreBase, PxReal, targetV, 0) - PX_DEF_BIN_METADATA_ITEM(stream, Dy::ArticulationJointCoreBase, PxQuat, relativeQuat, 0) PX_DEF_BIN_METADATA_ITEM(stream, Dy::ArticulationJointCoreBase, PxReal, frictionCoefficient, 0) - PX_DEF_BIN_METADATA_ITEM(stream, Dy::ArticulationJointCoreBase, PxU32, jointOffset, 0) - PX_DEF_BIN_METADATA_ITEMS_AUTO(stream, Dy::ArticulationJointCoreBase, PxU8, dofIds, 0) PX_DEF_BIN_METADATA_ITEMS_AUTO(stream, Dy::ArticulationJointCoreBase, PxU8, motion, 0) @@ -361,9 +359,9 @@ static void getBinaryMetaData_ArticulationJointCoreBase(PxOutputStream& stream) PX_DEF_BIN_METADATA_ITEM(stream, Dy::ArticulationJointCoreBase, ArticulationJointCoreDirtyFlags, dirtyFlag, 0) - PX_DEF_BIN_METADATA_ITEM(stream, Dy::ArticulationJointCoreBase, bool, prismaticLimited, 0) + PX_DEF_BIN_METADATA_ITEM(stream, Dy::ArticulationJointCoreBase, PxU8, jointOffset, 0) - PX_DEF_BIN_METADATA_ITEM(stream, Dy::ArticulationJointCore, PxU8, jointType, 0) + PX_DEF_BIN_METADATA_ITEM(stream, Dy::ArticulationJointCoreBase, PxU8, jointType, 0) } diff --git a/physx/source/simulationcontroller/src/ScNPhaseCore.cpp b/physx/source/simulationcontroller/src/ScNPhaseCore.cpp index 04a70ba27..3ddf54ab2 100644 --- a/physx/source/simulationcontroller/src/ScNPhaseCore.cpp +++ b/physx/source/simulationcontroller/src/ScNPhaseCore.cpp @@ -547,8 +547,33 @@ static PX_FORCE_INLINE PxFilterInfo filterRbCollisionPair(const FilteringContext if(filterJointedBodies(b0, b1, rbActor0, rbActor1)) return PxFilterInfo(PxFilterFlag::eSUPPRESS); + if ((actorType0 == PxActorType::eARTICULATION_LINK) ^ (actorType1 == PxActorType::eARTICULATION_LINK)) + { + if (b0) + { + const PxU8 kinematicLink = b0->getLowLevelBody().mCore->kinematicLink; + const bool isStaticOrKinematic = (actorType1 == PxActorType::eRIGID_STATIC) || kine1; + if (kinematicLink && isStaticOrKinematic) + return PxFilterInfo(PxFilterFlag::eSUPPRESS); + } + + if (b1) + { + const PxU8 kinematicLink = b1->getLowLevelBody().mCore->kinematicLink; + const bool isStaticOrKinematic = (actorType0 == PxActorType::eRIGID_STATIC) || kine0; + if (kinematicLink && isStaticOrKinematic) + return PxFilterInfo(PxFilterFlag::eSUPPRESS); + } + } + if((actorType0 == PxActorType::eARTICULATION_LINK) && (actorType1 == PxActorType::eARTICULATION_LINK)) { + + const PxU8 kinematicLink0 = b0->getLowLevelBody().mCore->kinematicLink; + const PxU8 kinematicLink1 = b1->getLowLevelBody().mCore->kinematicLink; + if (kinematicLink0 && kinematicLink1) + return PxFilterInfo(PxFilterFlag::eSUPPRESS); + if(filterArticulationLinks(rbActor0, rbActor1)) return PxFilterInfo(PxFilterFlag::eKILL); } @@ -804,8 +829,23 @@ Sc::ShapeInteraction* Sc::NPhaseCore::createShapeInteraction(ShapeSim& s0, Shape const PxActorType::Enum actorType0 = rs0.getActorType(); const PxActorType::Enum actorType1 = rs1.getActorType(); + + bool articulationLinkSwap = false; + if (actorType0 == PxActorType::eARTICULATION_LINK && actorType1 == PxActorType::eARTICULATION_LINK) + { + Sc::BodySim* bodySim0 = s0.getBodySim(); + + const PxU8 kinematicLink0 = bodySim0->getLowLevelBody().mCore->kinematicLink; + + if (kinematicLink0) + { + articulationLinkSwap = true; + } + } + if( actorType0 == PxActorType::eRIGID_STATIC - || (actorType0 == PxActorType::eRIGID_DYNAMIC && actorType1 == PxActorType::eARTICULATION_LINK) + || (actorType1 == PxActorType::eRIGID_DYNAMIC && actorType0 == PxActorType::eARTICULATION_LINK) + || articulationLinkSwap || ((actorType0 == PxActorType::eRIGID_DYNAMIC && actorType1 == PxActorType::eRIGID_DYNAMIC) && s0.getBodySim()->isKinematic()) || (actorType0 == actorType1 && rs0.getRigidID() < rs1.getRigidID())) Ps::swap(_s0, _s1); @@ -957,7 +997,12 @@ Sc::ElementSimInteraction* Sc::NPhaseCore::refilterInteraction(ElementSimInterac { // for this actor pair there was no shape pair that requested contact reports but now there is one // -> all the existing shape pairs need to get re-adjusted to point to an ActorPairReport instance instead. - findActorPair(&s0, &s1, Ps::IntTrue); + Sc::ActorPair* actorPair = findActorPair(&s0, &s1, Ps::IntTrue); + if (si->getActorPair() == NULL) + { + actorPair->incRefCount(); + si->setActorPair(*actorPair); + } } if(si->readFlag(ShapeInteraction::IN_PERSISTENT_EVENT_LIST) && (!(newPairFlags & PxPairFlag::eNOTIFY_TOUCH_PERSISTS))) @@ -1850,7 +1895,8 @@ void Sc::NPhaseCore::lostTouchReports(ShapeInteraction* si, PxU32 flags, PxU32 c if(flags & PairReleaseFlag::eWAKE_ON_LOST_TOUCH) { - if(!b0 || !b1) + //If we removed a shape, then we wake up the objects! + if(!b0 || !b1)// || (flags & PairReleaseFlag::eBP_VOLUME_REMOVED)) { if(b0) b0->internalWakeUp(); diff --git a/physx/source/simulationcontroller/src/ScScene.cpp b/physx/source/simulationcontroller/src/ScScene.cpp index 554d73ff3..fb66b4048 100644 --- a/physx/source/simulationcontroller/src/ScScene.cpp +++ b/physx/source/simulationcontroller/src/ScScene.cpp @@ -94,7 +94,7 @@ using namespace physx::shdfnd; using namespace physx::Cm; using namespace physx::Dy; -static PX_FORCE_INLINE Sc::ArticulationSim* getSim(const IG::IslandSim& islandSim, IG::NodeIndex nodeIndex) +static PX_FORCE_INLINE Sc::ArticulationSim* getArticulationSim(const IG::IslandSim& islandSim, IG::NodeIndex nodeIndex) { void* userData = islandSim.getLLArticulation(nodeIndex)->getUserData(); return reinterpret_cast(userData); @@ -102,12 +102,6 @@ static PX_FORCE_INLINE Sc::ArticulationSim* getSim(const IG::IslandSim& islandSi // slightly ugly, but we don't want a compile-time dependency on DY_ARTICULATION_MAX_SIZE in the ScScene.h header namespace physx { -#if PX_SUPPORT_GPU_PHYSX - -PX_PHYSX_GPU_API Bp::BPMemoryAllocator* createGpuMemoryAllocator(); - -#endif - namespace Sc { class LLArticulationPool: public Ps::Pool > @@ -1394,7 +1388,7 @@ PxU32 Sc::Scene::getBroadPhaseRegions(PxBroadPhaseRegionInfo* userBuffer, PxU32 PxU32 Sc::Scene::addBroadPhaseRegion(const PxBroadPhaseRegion& region, bool populateRegion) { Bp::BroadPhase* bp = mAABBManager->getBroadPhase(); - return bp->addRegion(region, populateRegion); + return bp->addRegion(region, populateRegion, mAABBManager->getBoundsArray().begin(), mAABBManager->getContactDistances()); } bool Sc::Scene::removeBroadPhaseRegion(PxU32 handle) @@ -2202,7 +2196,7 @@ void Sc::Scene::preRigidBodyNarrowPhase(PxBaseTask* continuation) Cm::BitMap::Iterator articulateCCDIter(mSpeculativeCDDArticulationBitMap); while ((index = articulateCCDIter.getNext()) != Cm::BitMap::Iterator::DONE) { - Sc::ArticulationSim* articulationSim = getSim(islandSim, IG::NodeIndex(index)); + Sc::ArticulationSim* articulationSim = getArticulationSim(islandSim, IG::NodeIndex(index)); if(articulationSim) { hasContactDistanceChanged = true; @@ -2562,7 +2556,7 @@ PX_FORCE_INLINE void Sc::Scene::putObjectsToSleep(PxU32 infoFlag) for(PxU32 i=0;isetActive(false, infoFlag); } @@ -2621,7 +2615,7 @@ PX_FORCE_INLINE void Sc::Scene::wakeObjectsUp(PxU32 infoFlag) for(PxU32 i=0;isetActive(true, infoFlag); } @@ -3850,7 +3844,7 @@ class ScArticBeforeSolverTask : public Cm::Task for (PxU32 a = 0; a < mNumArticulations; ++a) { - Sc::ArticulationSim* PX_RESTRICT articSim = getSim(islandSim, mArticIndices[a]); + Sc::ArticulationSim* PX_RESTRICT articSim = getArticulationSim(islandSim, mArticIndices[a]); articSim->checkResize(); articSim->updateForces(mDt, mSimUsesAdaptiveForce); articSim->saveLastCCDTransform(); @@ -3974,16 +3968,24 @@ class UpdatProjectedPoseTask : public Cm::Task class UpdateArticulationTask : public Cm::Task { - Sc::ArticulationCore* const* mArticList; + + IG::IslandSim& mIslandSim; + + const IG::NodeIndex* const PX_RESTRICT mNodeIndices; const PxU32 mNbArticulations; const PxReal mDt; PX_NOCOPY(UpdateArticulationTask) public: + static const PxU32 NbArticulationsPerTask = 64; + + - UpdateArticulationTask(PxU64 contextId, Sc::ArticulationCore* const* articList, PxU32 nbArticulations, PxReal dt) : + UpdateArticulationTask(PxU64 contextId, PxU32 nbArticulations, PxReal dt, + const IG::NodeIndex* nodeIndices, IG::IslandSim& islandSim) : Cm::Task (contextId), - mArticList (articList), + mIslandSim (islandSim), + mNodeIndices (nodeIndices), mNbArticulations (nbArticulations), mDt (dt) { @@ -3995,7 +3997,8 @@ class UpdateArticulationTask : public Cm::Task { for (PxU32 i = 0; i < mNbArticulations; ++i) { - Sc::ArticulationSim* articSim = mArticList[i]->getSim(); + IG::NodeIndex nodeIndex = mNodeIndices[i]; + Sc::ArticulationSim* articSim = getArticulationSim(mIslandSim, nodeIndex); articSim->sleepCheck(mDt); articSim->updateCached(NULL); } @@ -4133,18 +4136,22 @@ void Sc::Scene::afterIntegration(PxBaseTask* continuation) mLLContext->getLock().unlock(); } + IG::IslandSim& islandSim = mSimpleIslandManager->getAccurateIslandSim(); + + const PxU32 nbActiveArticulations = islandSim.getNbActiveNodes(IG::Node::eARTICULATION_TYPE); + //KS - TODO - parallelize this bit!!!!! - if(mArticulations.size()) + if(nbActiveArticulations) { Cm::FlushPool& flushPool = mLLContext->getTaskPool(); - ArticulationCore* const* articList = mArticulations.getEntries(); - const PxU32 nbArticulationsPerTask = 64; - const PxU32 articCount = mArticulations.size(); - for (PxU32 i = 0; i < articCount; i += nbArticulationsPerTask) + const IG::NodeIndex* activeArticulations = islandSim.getActiveNodes(IG::Node::eARTICULATION_TYPE); + + for (PxU32 i = 0; i < nbActiveArticulations; i += UpdateArticulationTask::NbArticulationsPerTask) { UpdateArticulationTask* task = - PX_PLACEMENT_NEW(flushPool.allocate(sizeof(UpdateArticulationTask)), UpdateArticulationTask)(getContextId(), articList + i, PxMin(nbArticulationsPerTask, PxU32(articCount - i)), mDt); + PX_PLACEMENT_NEW(flushPool.allocate(sizeof(UpdateArticulationTask)), UpdateArticulationTask)(getContextId(), PxMin(UpdateArticulationTask::NbArticulationsPerTask, PxU32(nbActiveArticulations - i)), mDt, + activeArticulations + i, islandSim); task->setContinuation(continuation); task->removeReference(); } @@ -4154,9 +4161,9 @@ void Sc::Scene::afterIntegration(PxBaseTask* continuation) Sc::BodySim* ccdBodySims[DY_ARTICULATION_MAX_SIZE]; - for(PxU32 i=0;igetSim(); + Sc::ArticulationSim* articSim = getArticulationSim(islandSim, activeArticulations[i]); //KS - check links for CCD flags and add to mCcdBodies list if required.... PxU32 nbIdx = articSim->getCCDLinks(ccdBodySims); @@ -5634,6 +5641,7 @@ void Sc::Scene::registerContactManagers(PxBaseTask* /*continuation*/) { { PxvNphaseImplementationContext* nphaseContext = mLLContext->getNphaseImplementationContext(); + nphaseContext->lock(); PX_PROFILE_ZONE("Sim.processNewOverlaps.registerCms", getContextId()); //nphaseContext->registerContactManagers(mPreallocatedContactManagers.begin(), mPreallocatedContactManagers.size(), mLLContext->getContactManagerPool().getMaxUsedIndex()); const PxU32 nbCmsCreated = mPreallocatedContactManagers.size(); @@ -5646,6 +5654,7 @@ void Sc::Scene::registerContactManagers(PxBaseTask* /*continuation*/) nphaseContext->registerContactManager(cm, 0, 0); } } + nphaseContext->unlock(); } } diff --git a/physx/source/simulationcontroller/src/ScSimulationController.h b/physx/source/simulationcontroller/src/ScSimulationController.h index 1c52202f2..01edf4b96 100644 --- a/physx/source/simulationcontroller/src/ScSimulationController.h +++ b/physx/source/simulationcontroller/src/ScSimulationController.h @@ -38,6 +38,12 @@ namespace physx class PxsHeapMemoryAllocator; +namespace Dy +{ + class FeatherstoneArticulation; + struct ArticulationJointCore; +} + namespace Sc { @@ -68,6 +74,8 @@ namespace Sc virtual void update(const PxU32 /*bitMapWordCounts*/){} virtual void gpuDmabackData(PxsTransformCache& /*cache*/, Bp::BoundsArray& /*boundArray*/, Cm::BitMapPinned& /*changedAABBMgrHandles*/){} virtual void udpateScBodyAndShapeSim(PxsTransformCache& cache, Bp::BoundsArray& boundArray, PxBaseTask* continuation); + virtual void updateArticulation(Dy::ArticulationV* /*articulation*/, const IG::NodeIndex& /*nodeIndex*/) {} + virtual void updateArticulationJoint(Dy::ArticulationV* /*articulation*/, const IG::NodeIndex& /*nodeIndex*/) {} virtual PxU32* getActiveBodies() { return NULL; } virtual PxU32* getDeactiveBodies() { return NULL; } virtual void** getRigidBodies() { return NULL; } diff --git a/physx/tools/binarymetadata/android/android.metaData b/physx/tools/binarymetadata/android/android.metaData index 2fce967fd..cd4522aee 100644 Binary files a/physx/tools/binarymetadata/android/android.metaData and b/physx/tools/binarymetadata/android/android.metaData differ diff --git a/physx/tools/binarymetadata/ios/ios64.metaData b/physx/tools/binarymetadata/ios/ios64.metaData index 7dd2e482c..1f57f5389 100644 Binary files a/physx/tools/binarymetadata/ios/ios64.metaData and b/physx/tools/binarymetadata/ios/ios64.metaData differ diff --git a/physx/tools/binarymetadata/linux/linux64.metaData b/physx/tools/binarymetadata/linux/linux64.metaData index d53f273b9..5bcc3448b 100644 Binary files a/physx/tools/binarymetadata/linux/linux64.metaData and b/physx/tools/binarymetadata/linux/linux64.metaData differ diff --git a/physx/tools/binarymetadata/mac/mac64.metaData b/physx/tools/binarymetadata/mac/mac64.metaData index 1dcffb9c1..c8c8f6312 100644 Binary files a/physx/tools/binarymetadata/mac/mac64.metaData and b/physx/tools/binarymetadata/mac/mac64.metaData differ diff --git a/physx/tools/binarymetadata/windows/win32.metaData b/physx/tools/binarymetadata/windows/win32.metaData index a99d91fd4..e867bb1ae 100644 Binary files a/physx/tools/binarymetadata/windows/win32.metaData and b/physx/tools/binarymetadata/windows/win32.metaData differ diff --git a/physx/tools/binarymetadata/windows/win64.metaData b/physx/tools/binarymetadata/windows/win64.metaData index 418812c02..d09c04cdc 100644 Binary files a/physx/tools/binarymetadata/windows/win64.metaData and b/physx/tools/binarymetadata/windows/win64.metaData differ diff --git a/physx/tools/physxmetadatagenerator/generateMetaData.py b/physx/tools/physxmetadatagenerator/generateMetaData.py index 3ab720715..b4642078c 100644 --- a/physx/tools/physxmetadatagenerator/generateMetaData.py +++ b/physx/tools/physxmetadatagenerator/generateMetaData.py @@ -141,22 +141,6 @@ def includeString(path): includes = '' includes += includeString(pxSharedRoot + '/include') includes += includeString(sdkRoot + '/include') -includes += includeString(sdkRoot + '/source/foundation/include') -includes += includeString(sdkRoot + '/source/common/src') -includes += includeString(sdkRoot + '/source/geomutils/headers') -includes += includeString(sdkRoot + '/source/geomutils/src') -includes += includeString(sdkRoot + '/source/geomutils/Opcode') -includes += includeString(sdkRoot + '/source/physx/src') -includes += includeString(sdkRoot + '/source/physx/src/buffering') -includes += includeString(sdkRoot + '/source/simulationcontroller/src') -includes += includeString(sdkRoot + '/source/simulationcontroller/src/framework') -includes += includeString(sdkRoot + '/source/simulationcontroller/include') -includes += includeString(sdkRoot + '/source/physxcooking/include') -includes += includeString(sdkRoot + '/source/scenequery') -includes += includeString(sdkRoot + '/source/physxmetadata/core/include') -includes += includeString(sdkRoot + '/source/physxgpu/include') -includes += includeString(sdkRoot + '/source/pvd/include') -includes += includeString(sdkRoot + '/source/fastxml/include') includes += includeString(sdkRoot + '/tools/physxmetadatagenerator') print("platform:", platform.system()) @@ -235,6 +219,7 @@ def includeString(path): metaDataDir = os.path.join(sdkRoot, os.path.normpath("source/physxvehicle/src/physxmetadata")) includes += includeString(sdkRoot + '/include/vehicle') +#TODO, get rid of source include includes += includeString(sdkRoot + '/source/physxvehicle/src') includes += includeString(pxSharedRoot + '/include/foundation') diff --git a/physx/version.txt b/physx/version.txt index 3317837f2..ff00456c7 100644 --- a/physx/version.txt +++ b/physx/version.txt @@ -1 +1 @@ -4.1.0.25992954 \ No newline at end of file +4.1.1.27006925 \ No newline at end of file diff --git a/pxshared/include/foundation/PxPreprocessor.h b/pxshared/include/foundation/PxPreprocessor.h index 55dc19610..bdd6cc7ba 100644 --- a/pxshared/include/foundation/PxPreprocessor.h +++ b/pxshared/include/foundation/PxPreprocessor.h @@ -292,7 +292,7 @@ DLL export macros #define PX_UNIX_EXPORT #endif -#if PX_WINDOWS_FAMILY +#if (PX_WINDOWS_FAMILY || PX_XBOXONE || PX_PS4) #define PX_DLL_EXPORT __declspec(dllexport) #define PX_DLL_IMPORT __declspec(dllimport) #else