This commit is contained in:
AJ Kelly
2011-05-02 20:11:26 -05:00
41 changed files with 40422 additions and 866 deletions
+6 -2
View File
@@ -46,8 +46,8 @@ src/stamp-h1
Docs/doxygen
PBProject/build
Xcode/build
Xcode/stepmania.xcodeproj/xcuserdata
Xcode/stepmania.xcodeproj/project.xcworkspace/xcuserdata
*.xcodeproj/xcuserdata
*.xcodeproj/project.xcworkspace/xcuserdata
src/build-*
src/Release-*
src/libtomcrypt/build-*
@@ -69,6 +69,10 @@ Themes/pump
Themes/optical-release
src/version.bin
src/verstub.cpp
Songs/*
*.dmg
.git
*.smzip
nsis_strings_temp.inc
Data/SpeedMods.txt
Program/StepMania*.lib
+3 -6
View File
@@ -1,4 +1,4 @@
[Common]
[Common]
WindowTitle=StepMania
StepMania=StepMania
@@ -1871,14 +1871,10 @@ Steps=Steps
Course=Course
Modifier=Modifier
[RageDisplay_OGL]
[RageDisplay_Legacy]
Obtain an updated driver from your video card manufacturer.=Obtain an updated driver from your video card manufacturer.
GLDirect was detected. GLDirect is not compatible with this game and should be disabled.=GLDirect was detected. GLDirect is not compatible with this game and should be disabled.
[RageDisplay_D3D]
DirectX 8.1 or greater is not installed. You can download it from:=DirectX 8.1 or greater is not installed. You can download it from:
Your system is reporting that Direct3D hardware acceleration is not available. Please obtain an updated driver from your video card manufacturer.=Your system is reporting that Direct3D hardware acceleration is not available. Please obtain an updated driver from your video card manufacturer.
[RageDisplay]
SetVideoMode failed:=SetVideoMode failed:
@@ -2320,3 +2316,4 @@ UnknownPreference=Unknown preference "%s"
ChoicesSizeMismatch=Choices and Values have different sizes (%d, %d)
NoDefaultInValues=Preference "%s" has no values matching default
TypeMismatch=Type mismatch between default (%s) and value %d (%s)
>>>>>>> other
+37 -32
View File
@@ -240,7 +240,6 @@
AA29CDF60558741A00961A51 /* SongCacheIndex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01DE04772005005F316C /* SongCacheIndex.cpp */; };
AA29CDF70558741A00961A51 /* Song.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01E20477205A005F316C /* Song.cpp */; };
AA29CDF80558741A00961A51 /* RandomSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01E6047720A3005F316C /* RandomSample.cpp */; };
AA29CDF90558741A00961A51 /* RageDisplay_OGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC23F7C0485E68D005F316C /* RageDisplay_OGL.cpp */; };
AA29CDFA0558741A00961A51 /* RageUtil_CharConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC23F7E0485E68D005F316C /* RageUtil_CharConversions.cpp */; };
AA29CDFB0558741A00961A51 /* BannerCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABE35EB04967E25005F316C /* BannerCache.cpp */; };
AA29CDFE0558741A00961A51 /* ScreenSelectMaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1DC47404A4861700D02EE9 /* ScreenSelectMaster.cpp */; };
@@ -458,7 +457,6 @@
AA40D25909A08D650068C0D5 /* LowLevelWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E01630477136A005F316C /* LowLevelWindow.h */; };
AA40D25A09A08D650068C0D5 /* SongCacheIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E01DF04772005005F316C /* SongCacheIndex.h */; };
AA40D25C09A08D650068C0D5 /* RandomSample.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E01E7047720A3005F316C /* RandomSample.h */; };
AA40D25D09A08D650068C0D5 /* RageDisplay_OGL.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC23F7D0485E68D005F316C /* RageDisplay_OGL.h */; };
AA40D25E09A08D650068C0D5 /* RageUtil_CharConversions.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC23F7F0485E68D005F316C /* RageUtil_CharConversions.h */; };
AA40D25F09A08D650068C0D5 /* BannerCache.h in Headers */ = {isa = PBXBuildFile; fileRef = AABE35EC04967E26005F316C /* BannerCache.h */; };
AA40D26109A08D650068C0D5 /* arch_default.h in Headers */ = {isa = PBXBuildFile; fileRef = AABE36F60497CE16005F316C /* arch_default.h */; };
@@ -466,7 +464,6 @@
AA40D26409A08D650068C0D5 /* RageSoundDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = AABE37030497CF85005F316C /* RageSoundDriver.h */; };
AA40D26609A08D650068C0D5 /* ActorUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AA1DC47204A485E900D02EE9 /* ActorUtil.h */; };
AA40D26709A08D650068C0D5 /* ScreenSelectMaster.h in Headers */ = {isa = PBXBuildFile; fileRef = AA1DC47504A4861700D02EE9 /* ScreenSelectMaster.h */; };
AA40D26909A08D650068C0D5 /* glext.h in Headers */ = {isa = PBXBuildFile; fileRef = AA1DCB6104A4872700D02EE9 /* glext.h */; };
AA40D26B09A08D650068C0D5 /* CombinedLifeMeterTug.h in Headers */ = {isa = PBXBuildFile; fileRef = AAE443EC04B0F9F600D02EE9 /* CombinedLifeMeterTug.h */; };
AA40D26C09A08D650068C0D5 /* ScoreKeeperRave.h in Headers */ = {isa = PBXBuildFile; fileRef = AAE443F404B0FEB700D02EE9 /* ScoreKeeperRave.h */; };
AA40D26D09A08D650068C0D5 /* internal.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8B6C7B04AFD87300D02EE9 /* internal.h */; };
@@ -790,7 +787,6 @@
AA40D41809A08D650068C0D5 /* SongCacheIndex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01DE04772005005F316C /* SongCacheIndex.cpp */; };
AA40D41909A08D650068C0D5 /* Song.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01E20477205A005F316C /* Song.cpp */; };
AA40D41A09A08D650068C0D5 /* RandomSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01E6047720A3005F316C /* RandomSample.cpp */; };
AA40D41B09A08D650068C0D5 /* RageDisplay_OGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC23F7C0485E68D005F316C /* RageDisplay_OGL.cpp */; };
AA40D41C09A08D650068C0D5 /* RageUtil_CharConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC23F7E0485E68D005F316C /* RageUtil_CharConversions.cpp */; };
AA40D41D09A08D650068C0D5 /* BannerCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABE35EB04967E25005F316C /* BannerCache.cpp */; };
AA40D42009A08D650068C0D5 /* ScreenSelectMaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1DC47404A4861700D02EE9 /* ScreenSelectMaster.cpp */; };
@@ -1353,9 +1349,6 @@
AA80C75407F20D0D00C99272 /* UnlockManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA80C75207F20D0D00C99272 /* UnlockManager.cpp */; };
AA80C75907F20D6600C99272 /* OptionRowHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA80C75707F20D6600C99272 /* OptionRowHandler.cpp */; };
AA80C75C07F20D8000C99272 /* ScreenMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA80C75B07F20D7F00C99272 /* ScreenMessage.cpp */; };
AA8122E20A7499F5002E1D1A /* RageDisplay_OGL_Helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8122E00A7499F5002E1D1A /* RageDisplay_OGL_Helpers.cpp */; };
AA8122E40A7499F5002E1D1A /* RageDisplay_OGL_Helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8122E00A7499F5002E1D1A /* RageDisplay_OGL_Helpers.cpp */; };
AA8122E50A7499F5002E1D1A /* RageDisplay_OGL_Helpers.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8122E10A7499F5002E1D1A /* RageDisplay_OGL_Helpers.h */; };
AA84B7070996F8370085EECB /* AdjustSync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA84B7050996F8370085EECB /* AdjustSync.cpp */; };
AA8A3E6406EDCD11002F25AB /* DarwinThreadHelpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8A3E6306EDCD11002F25AB /* DarwinThreadHelpers.cpp */; };
AA8A405106EEFF72002F25AB /* RageUtil_BackgroundLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8A404F06EEFF72002F25AB /* RageUtil_BackgroundLoader.cpp */; };
@@ -1635,6 +1628,11 @@
AAFF41A60F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFF41A20F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.h */; };
EE2153A910A75BEE0074B01B /* NotesLoaderPMS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EE2153A710A75BEE0074B01B /* NotesLoaderPMS.cpp */; };
EE2153AA10A75BEE0074B01B /* NotesLoaderPMS.h in Headers */ = {isa = PBXBuildFile; fileRef = EE2153A810A75BEE0074B01B /* NotesLoaderPMS.h */; };
EE879B60132DEE720078FDDC /* RageDisplay_Legacy_Helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EE879B5C132DEE720078FDDC /* RageDisplay_Legacy_Helpers.cpp */; };
EE879B61132DEE720078FDDC /* RageDisplay_Legacy_Helpers.h in Headers */ = {isa = PBXBuildFile; fileRef = EE879B5D132DEE720078FDDC /* RageDisplay_Legacy_Helpers.h */; };
EE879B62132DEE720078FDDC /* RageDisplay_Legacy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EE879B5E132DEE720078FDDC /* RageDisplay_Legacy.cpp */; };
EE879B63132DEE720078FDDC /* RageDisplay_Legacy.h in Headers */ = {isa = PBXBuildFile; fileRef = EE879B5F132DEE720078FDDC /* RageDisplay_Legacy.h */; };
EE879BC3132E06C50078FDDC /* glew.c in Sources */ = {isa = PBXBuildFile; fileRef = EE879BAA132E06C50078FDDC /* glew.c */; };
EE906F6612BF3A1B00146C96 /* ScreenInstallOverlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EE906F6412BF3A1B00146C96 /* ScreenInstallOverlay.cpp */; };
EE906F6712BF3A1B00146C96 /* ScreenInstallOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = EE906F6512BF3A1B00146C96 /* ScreenInstallOverlay.h */; };
EE906F7712BF3A6900146C96 /* json_batchallocator.h in Headers */ = {isa = PBXBuildFile; fileRef = EE906F7012BF3A6900146C96 /* json_batchallocator.h */; };
@@ -1856,7 +1854,6 @@
AA1DC47204A485E900D02EE9 /* ActorUtil.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActorUtil.h; path = ../src/ActorUtil.h; sourceTree = "<group>"; };
AA1DC47404A4861700D02EE9 /* ScreenSelectMaster.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenSelectMaster.cpp; path = ../src/ScreenSelectMaster.cpp; sourceTree = "<group>"; };
AA1DC47504A4861700D02EE9 /* ScreenSelectMaster.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenSelectMaster.h; path = ../src/ScreenSelectMaster.h; sourceTree = "<group>"; };
AA1DCB6104A4872700D02EE9 /* glext.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = glext.h; path = ../src/glext.h; sourceTree = "<group>"; };
AA1DE9560C5468CE00D59F20 /* Hardware.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Hardware.plist; sourceTree = "<group>"; };
AA1DE9590C5468FE00D59F20 /* Hardware.in.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Hardware.in.plist; sourceTree = "<group>"; };
AA1F9C4509AF1BF5002C15A8 /* PumpDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PumpDevice.h; sourceTree = "<group>"; };
@@ -2577,8 +2574,6 @@
AA80C75707F20D6600C99272 /* OptionRowHandler.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = OptionRowHandler.cpp; path = ../src/OptionRowHandler.cpp; sourceTree = "<group>"; };
AA80C75807F20D6600C99272 /* OptionRowHandler.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = OptionRowHandler.h; path = ../src/OptionRowHandler.h; sourceTree = "<group>"; };
AA80C75B07F20D7F00C99272 /* ScreenMessage.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenMessage.cpp; path = ../src/ScreenMessage.cpp; sourceTree = "<group>"; };
AA8122E00A7499F5002E1D1A /* RageDisplay_OGL_Helpers.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = RageDisplay_OGL_Helpers.cpp; path = ../src/RageDisplay_OGL_Helpers.cpp; sourceTree = "<group>"; };
AA8122E10A7499F5002E1D1A /* RageDisplay_OGL_Helpers.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = RageDisplay_OGL_Helpers.h; path = ../src/RageDisplay_OGL_Helpers.h; sourceTree = "<group>"; };
AA84B7050996F8370085EECB /* AdjustSync.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = AdjustSync.cpp; path = ../src/AdjustSync.cpp; sourceTree = "<group>"; };
AA84B7060996F8370085EECB /* AdjustSync.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AdjustSync.h; path = ../src/AdjustSync.h; sourceTree = "<group>"; };
AA8A3E6306EDCD11002F25AB /* DarwinThreadHelpers.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = DarwinThreadHelpers.cpp; sourceTree = "<group>"; };
@@ -2764,8 +2759,6 @@
AAC0BFE00E2951EC00F56EEB /* CryptHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CryptHelpers.h; path = ../src/CryptHelpers.h; sourceTree = SOURCE_ROOT; };
AAC0C8C00984AE3B0075FC53 /* Tween.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Tween.cpp; path = ../src/Tween.cpp; sourceTree = "<group>"; };
AAC0C8C10984AE3B0075FC53 /* Tween.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Tween.h; path = ../src/Tween.h; sourceTree = "<group>"; };
AAC23F7C0485E68D005F316C /* RageDisplay_OGL.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageDisplay_OGL.cpp; path = ../src/RageDisplay_OGL.cpp; sourceTree = "<group>"; };
AAC23F7D0485E68D005F316C /* RageDisplay_OGL.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageDisplay_OGL.h; path = ../src/RageDisplay_OGL.h; sourceTree = "<group>"; };
AAC23F7E0485E68D005F316C /* RageUtil_CharConversions.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageUtil_CharConversions.cpp; path = ../src/RageUtil_CharConversions.cpp; sourceTree = "<group>"; };
AAC23F7F0485E68D005F316C /* RageUtil_CharConversions.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageUtil_CharConversions.h; path = ../src/RageUtil_CharConversions.h; sourceTree = "<group>"; };
AAC28BB904F758E500D02EE9 /* BeginnerHelper.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = BeginnerHelper.cpp; path = ../src/BeginnerHelper.cpp; sourceTree = "<group>"; };
@@ -2978,6 +2971,11 @@
AAFF5542054E736D00D02EE9 /* Attack.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Attack.h; path = ../src/Attack.h; sourceTree = "<group>"; };
EE2153A710A75BEE0074B01B /* NotesLoaderPMS.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NotesLoaderPMS.cpp; path = ../src/NotesLoaderPMS.cpp; sourceTree = SOURCE_ROOT; };
EE2153A810A75BEE0074B01B /* NotesLoaderPMS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NotesLoaderPMS.h; path = ../src/NotesLoaderPMS.h; sourceTree = SOURCE_ROOT; };
EE879B5C132DEE720078FDDC /* RageDisplay_Legacy_Helpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RageDisplay_Legacy_Helpers.cpp; path = ../src/RageDisplay_Legacy_Helpers.cpp; sourceTree = SOURCE_ROOT; };
EE879B5D132DEE720078FDDC /* RageDisplay_Legacy_Helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RageDisplay_Legacy_Helpers.h; path = ../src/RageDisplay_Legacy_Helpers.h; sourceTree = SOURCE_ROOT; };
EE879B5E132DEE720078FDDC /* RageDisplay_Legacy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RageDisplay_Legacy.cpp; path = ../src/RageDisplay_Legacy.cpp; sourceTree = SOURCE_ROOT; };
EE879B5F132DEE720078FDDC /* RageDisplay_Legacy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RageDisplay_Legacy.h; path = ../src/RageDisplay_Legacy.h; sourceTree = SOURCE_ROOT; };
EE879BAA132E06C50078FDDC /* glew.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = glew.c; path = src/glew.c; sourceTree = "<group>"; };
EE906F6412BF3A1B00146C96 /* ScreenInstallOverlay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenInstallOverlay.cpp; path = ../src/ScreenInstallOverlay.cpp; sourceTree = SOURCE_ROOT; };
EE906F6512BF3A1B00146C96 /* ScreenInstallOverlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenInstallOverlay.h; path = ../src/ScreenInstallOverlay.h; sourceTree = SOURCE_ROOT; };
EE906F7012BF3A6900146C96 /* json_batchallocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = json_batchallocator.h; path = ../src/jsoncpp/src/lib_json/json_batchallocator.h; sourceTree = SOURCE_ROOT; };
@@ -3145,6 +3143,7 @@
29B97314FDCFA39411CA2CEA /* SDL App */ = {
isa = PBXGroup;
children = (
EE879B8E132E06C50078FDDC /* glew-1.5.8 */,
EE906F6F12BF3A5B00146C96 /* json */,
AAA070B20CE7B3AD005A3060 /* mad-0.15.1b */,
AA7C8B920B67467C00FD9940 /* libtomcrypt */,
@@ -3585,21 +3584,16 @@
AA6EFDBB04770A83005F316C /* Rage */ = {
isa = PBXGroup;
children = (
AA1DCB6104A4872700D02EE9 /* glext.h */,
AA6EFD6D04770A7C005F316C /* RageBitmapTexture.cpp */,
AA6EFD6E04770A7C005F316C /* RageBitmapTexture.h */,
AA6EFD6F04770A7C005F316C /* RageDisplay.cpp */,
AA6EFD7004770A7C005F316C /* RageDisplay.h */,
36C6887F11297FFE00453295 /* RageFileDriverReadAhead.cpp */,
36C6888011297FFE00453295 /* RageFileDriverReadAhead.h */,
36C6888111297FFE00453295 /* RageFileManager_ReadAhead.cpp */,
36C6888211297FFE00453295 /* RageFileManager_ReadAhead.h */,
EE879B5E132DEE720078FDDC /* RageDisplay_Legacy.cpp */,
EE879B5F132DEE720078FDDC /* RageDisplay_Legacy.h */,
EE879B5C132DEE720078FDDC /* RageDisplay_Legacy_Helpers.cpp */,
EE879B5D132DEE720078FDDC /* RageDisplay_Legacy_Helpers.h */,
AAF7458E061181F700B19AD1 /* RageDisplay_Null.cpp */,
AAF7458F061181F700B19AD1 /* RageDisplay_Null.h */,
AAC23F7C0485E68D005F316C /* RageDisplay_OGL.cpp */,
AAC23F7D0485E68D005F316C /* RageDisplay_OGL.h */,
AA8122E00A7499F5002E1D1A /* RageDisplay_OGL_Helpers.cpp */,
AA8122E10A7499F5002E1D1A /* RageDisplay_OGL_Helpers.h */,
AA6EFD7204770A7C005F316C /* RageException.cpp */,
AA6EFD7304770A7C005F316C /* RageException.h */,
AA272C3004CD757100D02EE9 /* RageFile.cpp */,
@@ -3616,12 +3610,16 @@
AABE322305ACDA52001A0E84 /* RageFileDriverDirectHelpers.h */,
AA64218606EC606F00C21584 /* RageFileDriverMemory.cpp */,
AA64218706EC606F00C21584 /* RageFileDriverMemory.h */,
36C6887F11297FFE00453295 /* RageFileDriverReadAhead.cpp */,
36C6888011297FFE00453295 /* RageFileDriverReadAhead.h */,
AA0E04D2076C4CD500716D81 /* RageFileDriverSlice.cpp */,
AA0E04D3076C4CD500716D81 /* RageFileDriverSlice.h */,
AACA592A07B5E23400763545 /* RageFileDriverTimeout.cpp */,
AACA592B07B5E23400763545 /* RageFileDriverTimeout.h */,
AA251B7505841FCE00027ACB /* RageFileDriverZip.cpp */,
AA251B7605841FCE00027ACB /* RageFileDriverZip.h */,
36C6888111297FFE00453295 /* RageFileManager_ReadAhead.cpp */,
36C6888211297FFE00453295 /* RageFileManager_ReadAhead.h */,
AA6EFD7604770A7C005F316C /* RageInputDevice.cpp */,
AA6EFD7704770A7C005F316C /* RageInputDevice.h */,
AA6EFD7A04770A7C005F316C /* RageMath.cpp */,
@@ -4913,6 +4911,15 @@
path = "../src/lua-5.1";
sourceTree = "<group>";
};
EE879B8E132E06C50078FDDC /* glew-1.5.8 */ = {
isa = PBXGroup;
children = (
EE879BAA132E06C50078FDDC /* glew.c */,
);
name = "glew-1.5.8";
path = "../extern/glew-1.5.8";
sourceTree = SOURCE_ROOT;
};
EE906F6F12BF3A5B00146C96 /* json */ = {
isa = PBXGroup;
children = (
@@ -4949,6 +4956,8 @@
2BA7925F1304F20D002BD8E1 /* NotesLoaderSSC.h in Headers */,
2BA792611304F20D002BD8E1 /* NotesWriterSSC.h in Headers */,
2B30D6831315EA7E00044B68 /* MouseDevice.h in Headers */,
EE879B61132DEE720078FDDC /* RageDisplay_Legacy_Helpers.h in Headers */,
EE879B63132DEE720078FDDC /* RageDisplay_Legacy.h in Headers */,
2B76698B132FF71500586512 /* NotesLoaderSMA.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -5096,7 +5105,6 @@
AA40D25909A08D650068C0D5 /* LowLevelWindow.h in Headers */,
AA40D25A09A08D650068C0D5 /* SongCacheIndex.h in Headers */,
AA40D25C09A08D650068C0D5 /* RandomSample.h in Headers */,
AA40D25D09A08D650068C0D5 /* RageDisplay_OGL.h in Headers */,
AA40D25E09A08D650068C0D5 /* RageUtil_CharConversions.h in Headers */,
AA40D25F09A08D650068C0D5 /* BannerCache.h in Headers */,
AA40D26109A08D650068C0D5 /* arch_default.h in Headers */,
@@ -5104,7 +5112,6 @@
AA40D26409A08D650068C0D5 /* RageSoundDriver.h in Headers */,
AA40D26609A08D650068C0D5 /* ActorUtil.h in Headers */,
AA40D26709A08D650068C0D5 /* ScreenSelectMaster.h in Headers */,
AA40D26909A08D650068C0D5 /* glext.h in Headers */,
AA40D26B09A08D650068C0D5 /* CombinedLifeMeterTug.h in Headers */,
AA40D26C09A08D650068C0D5 /* ScoreKeeperRave.h in Headers */,
AA40D26D09A08D650068C0D5 /* internal.h in Headers */,
@@ -5305,7 +5312,6 @@
AA8CF5190A4518BE0005F1B4 /* RageSoundDriver_AU.h in Headers */,
AAD8F9340A4B97DF000311CF /* ScreenGameplayShared.h in Headers */,
AAAA11C80A662F9D00B2BD88 /* ScoreKeeperShared.h in Headers */,
AA8122E50A7499F5002E1D1A /* RageDisplay_OGL_Helpers.h in Headers */,
AA2EA0040A770208003A0C11 /* ScreenSelectLanguage.h in Headers */,
AA5D165A0A79805C00F17E86 /* RageTextureRenderTarget.h in Headers */,
AA5D166F0A798C0E00F17E86 /* ActorFrameTexture.h in Headers */,
@@ -5920,7 +5926,6 @@
AA29CDF60558741A00961A51 /* SongCacheIndex.cpp in Sources */,
AA29CDF70558741A00961A51 /* Song.cpp in Sources */,
AA29CDF80558741A00961A51 /* RandomSample.cpp in Sources */,
AA29CDF90558741A00961A51 /* RageDisplay_OGL.cpp in Sources */,
AA29CDFA0558741A00961A51 /* RageUtil_CharConversions.cpp in Sources */,
AA29CDFB0558741A00961A51 /* BannerCache.cpp in Sources */,
AA29CDFE0558741A00961A51 /* ScreenSelectMaster.cpp in Sources */,
@@ -6125,7 +6130,6 @@
AAD8F9370A4B97DF000311CF /* ScreenGameplayShared.cpp in Sources */,
AAAA11C70A662F9D00B2BD88 /* ScoreKeeperShared.cpp in Sources */,
AAE2D6D40A67481E00071546 /* ScoreKeeper.cpp in Sources */,
AA8122E20A7499F5002E1D1A /* RageDisplay_OGL_Helpers.cpp in Sources */,
AA2EA0010A770208003A0C11 /* ScreenSelectLanguage.cpp in Sources */,
AA5D16570A79805C00F17E86 /* RageTextureRenderTarget.cpp in Sources */,
AA5D166C0A798C0E00F17E86 /* ActorFrameTexture.cpp in Sources */,
@@ -6195,6 +6199,9 @@
2BA7925E1304F20D002BD8E1 /* NotesLoaderSSC.cpp in Sources */,
2BA792601304F20D002BD8E1 /* NotesWriterSSC.cpp in Sources */,
2B30D6821315EA7E00044B68 /* MouseDevice.cpp in Sources */,
EE879B60132DEE720078FDDC /* RageDisplay_Legacy_Helpers.cpp in Sources */,
EE879B62132DEE720078FDDC /* RageDisplay_Legacy.cpp in Sources */,
EE879BC3132E06C50078FDDC /* glew.c in Sources */,
2B76698C132FF71500586512 /* NotesLoaderSMA.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -6333,7 +6340,6 @@
AA40D41809A08D650068C0D5 /* SongCacheIndex.cpp in Sources */,
AA40D41909A08D650068C0D5 /* Song.cpp in Sources */,
AA40D41A09A08D650068C0D5 /* RandomSample.cpp in Sources */,
AA40D41B09A08D650068C0D5 /* RageDisplay_OGL.cpp in Sources */,
AA40D41C09A08D650068C0D5 /* RageUtil_CharConversions.cpp in Sources */,
AA40D41D09A08D650068C0D5 /* BannerCache.cpp in Sources */,
AA40D42009A08D650068C0D5 /* ScreenSelectMaster.cpp in Sources */,
@@ -6534,7 +6540,6 @@
AAD8F9350A4B97DF000311CF /* ScreenGameplayShared.cpp in Sources */,
AAAA11C90A662F9D00B2BD88 /* ScoreKeeperShared.cpp in Sources */,
AAE2D6D50A67481E00071546 /* ScoreKeeper.cpp in Sources */,
AA8122E40A7499F5002E1D1A /* RageDisplay_OGL_Helpers.cpp in Sources */,
AA2EA0030A770208003A0C11 /* ScreenSelectLanguage.cpp in Sources */,
AA5D16590A79805C00F17E86 /* RageTextureRenderTarget.cpp in Sources */,
AA5D166E0A798C0E00F17E86 /* ActorFrameTexture.cpp in Sources */,
@@ -7160,7 +7165,7 @@
SHARED_PRECOMPS_DIR = "/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders/$(PRODUCT_NAME)/$(CONFIGURATION)";
STRIP_INSTALLED_PRODUCT = NO;
STRIP_STYLE = "non-global";
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../src/jsoncpp/include";
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../extern/glew-1.5.8/include $(PROJECT_DIR)/../src/jsoncpp/include";
};
name = Debug;
};
@@ -7696,7 +7701,7 @@
SHARED_PRECOMPS_DIR = "/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders/$(PRODUCT_NAME)/$(CONFIGURATION)";
STRIP_INSTALLED_PRODUCT = YES;
STRIP_STYLE = "non-global";
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../src/jsoncpp/include";
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../extern/glew-1.5.8/include $(PROJECT_DIR)/../src/jsoncpp/include";
};
name = PerformanceDebug;
};
@@ -8031,7 +8036,7 @@
SHARED_PRECOMPS_DIR = "/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders/$(PRODUCT_NAME)/$(CONFIGURATION)";
STRIP_INSTALLED_PRODUCT = YES;
STRIP_STYLE = "non-global";
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../src/jsoncpp/include";
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../extern/glew-1.5.8/include $(PROJECT_DIR)/../src/jsoncpp/include";
};
name = Native;
};
@@ -8161,7 +8166,7 @@
SHARED_PRECOMPS_DIR = "/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders/$(PRODUCT_NAME)/$(CONFIGURATION)";
STRIP_INSTALLED_PRODUCT = YES;
STRIP_STYLE = "non-global";
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../src/jsoncpp/include";
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../extern/glew-1.5.8/include $(PROJECT_DIR)/../src/jsoncpp/include";
};
name = Universal;
};
+2
View File
@@ -268,6 +268,8 @@ AC_CHECK_DECL(strtof, , AC_DEFINE([NEED_STRTOF],1,[Need strtof]), [#include <std
AC_CHECK_DECLS([SIGPWR, SIGUSR1],,,[#include <signal.h>])
PKG_CHECK_MODULES( [GLEW], [glew >= 1.3.5], LIBS="$LIBS -lGLEW" )
AC_ARG_ENABLE(tests, AS_HELP_STRING([--enable-tests],[Build test programs]), enable_tests=$enableval, enable_tests=no)
AM_CONDITIONAL(BUILD_TESTS, test "$enable_tests" = "yes" )
+73
View File
@@ -0,0 +1,73 @@
The OpenGL Extension Wrangler Library
Copyright (C) 2002-2007, Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2007, Marcelo E. Magallon <mmagallo[]debian org>
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.
+18
View File
@@ -0,0 +1,18 @@
See doc/index.html for more information.
If you downloaded the tarball from the GLEW website, you just need to:
Unix:
make
Windows:
use the project file in build/vc6/
If you wish to build GLEW from scratch (update the extension data from
the net or add your own extension information), you need a Unix
environment (including wget, perl, and GNU make). The extension data
is regenerated from the top level source directory with:
make extensions
+12
View File
@@ -0,0 +1,12 @@
Major:
- add support for windows mini-client drivers
- add windows installer (msi)
- separate build of static and shared object files (for mingw and
cygwin)
- start designing GLEW 2.0
Minor:
- make auto scripts work with text mode cygwin mounts
- add support for all SUN, MTX, and OML extensions
- make auto/Makefile more robust against auto/core/*~ mistakes
- web poll on separating glew, glxew and wglew
+278
View File
@@ -0,0 +1,278 @@
<!-- begin header.html -->
<!--
The OpenGL Extension Wrangler Library
Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
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.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html/4/loose.dtd">
<!-- &nbsp;<img src="new.png" height="12" alt="NEW!"> -->
<html>
<head>
<title>GLEW: The OpenGL Extension Wrangler Library</title>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<link href="glew.css" type="text/css" rel="stylesheet">
</head>
<body bgcolor="#fff0d0">
<table border="0" width="100%" cellpadding="12" cellspacing="8" style="height:100%">
<tr>
<td bgcolor="#ffffff" align="left" valign="top" width="200">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr>
<td valign="top">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr><td align="center"><i>Latest Release: <a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/">1.5.8</a></i></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center"><img src="./glew.png" alt="GLEW Logo" width="97" height="75"></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center">
<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td align="center"><a href="index.html">Download</a></td></tr>
<tr><td align="center"><a href="install.html">Installation</a></td></tr>
<tr><td align="center"><a href="basic.html">Basic Usage</a></td></tr>
<tr><td align="center">Advanced Usage</td></tr>
<tr><td align="center"><a href="credits.html">Credits & Copyright</a></td></tr>
<tr><td align="center"><a href="log.html">Change Log</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/projects/glew/">Project Page</a></td></tr>
<tr><td align="center"><a href="https://sourceforge.net/mail/?group_id=67586">Mailing Lists</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/tracker/?group_id=67586">Bug Tracker</a></td></tr>
</table>
<tr><td align="center"><br></tr>
</table>
</td>
</tr>
<tr>
<td valign="bottom">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="left">
<tr><td align="center"><i>Last Update: 01-31-11</i></td></tr>
<tr><td align="center">
<a href="http://www.opengl.org"> <img src="./ogl_sm.jpg" width="68"
height="35" border="0" alt="OpenGL Logo"></a>
<a href="http://sourceforge.net"> <img
src="http://sourceforge.net/sflogo.php?group_id=67586&amp;type=1"
width="88" height="31" border="0" alt="SourceForge Logo"></a>
</td>
</tr>
<!--- <tr><td align="center"><a
href="http://sourceforge.net/donate/index.php?group_id=67586"><img
src="http://images.sourceforge.net/images/project-support.jpg"
width="88" height="32" border="0" alt="Support This Project"></a></td></tr> -->
</table>
</td>
</tr>
</table>
</td>
<td bgcolor="#ffffff" align="left" valign="top">
<h1>The OpenGL Extension Wrangler Library</h1>
<!-- end header.html -->
<h2>Automatic Code Generation</h2>
<p>
Starting from release 1.1.0, the source code and parts of the
documentation are automatically generated from the extension
specifications in a two-step process. In the first step,
specification files from the OpenGL registry are downloaded and
parsed. Skeleton descriptors are created for each extension. These
descriptors contain all necessary information for creating the source
code and documentation in a simple and compact format, including the
name of the extension, url link to the specification, tokens, function
declarations, typedefs and struct definitions. In the second step,
the header files as well as the library and glewinfo source are
generated from the descriptor files. The code generation scripts are
located in the <tt>auto</tt> subdirectory.
</p>
<p>
The code generation scripts require GNU make, wget, and perl. On
Windows, the simplest way to get access to these tools is to install
<a href="http://www.cygwin.com/">Cygwin</a>, but make sure that the
root directory is mounted in binary mode. The makefile in the
<tt>auto</tt> directory provides the following build targets:
</p>
<center>
<table border=0 cellpadding=0 cellspacing=0> <!-- bgcolor="#f0f0f0" -->
<tr><td align="right" valign="top" width="25%"><tt>make</tt></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align=left>Create the source files from the descriptors. If the
descriptors do not exist, create them from the spec files. If the spec
files do not exist, download them from the OpenGL repository.</td></tr>
<tr><td align="right" valign="top"><tt>make clean</tt></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align=left>Delete the source files.</td></tr>
<tr><td align="right" valign="top"><tt>make clobber</tt></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align=left>Delete the source files and the descriptors.</td></tr>
<tr><td align="right" valign="top"><tt>make destroy</tt></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align=left>Delete the source files, the descriptors, and the spec files.</td></tr>
<tr><td align="right" valign="top"><tt>make custom</tt></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align=left>Create the source files for the extensions
listed in <tt>auto/custom.txt</tt>. See "Custom Code
Generation" below for more details.</td></tr>
</table>
</center>
<h3>Adding a New Extension</h3>
<p>
To add a new extension, create a descriptor file for the extension in
<tt>auto/core</tt> and rerun the code generation scripts by typing
<tt>make clean; make</tt> in the <tt>auto</tt> directory.
</p>
<p>
The format of the descriptor file is given below. Items in
brackets are optional.
</p>
<p class="pre">
&lt;Extension Name&gt;<br>
[&lt;URL of Specification File&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Token Name&gt; &lt;Token Value&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Token Name&gt; &lt;Token Value&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;...<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Typedef&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Typedef&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;...<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Signature&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Signature&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;...<br>
<!-- &nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Definition&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;[&lt;Function Definition&gt;]<br>
&nbsp;&nbsp;&nbsp;&nbsp;...<br> -->
</p>
<!--
<p>
Note that <tt>Function Definitions</tt> are copied to the header files
without changes and have to be terminated with a semicolon. In
contrast, <tt>Tokens</tt>, <tt>Function signatures</tt>, and
<tt>Typedefs</tt> should not be terminated with a semicolon.
</p>
-->
<p>
Take a look at one of the files in <tt>auto/core</tt> for an
example. Note that typedefs and function signatures should not be
terminated with a semicolon.
</p>
<h3>Custom Code Generation</h3>
<p>
Starting from GLEW 1.3.0, it is possible to control which extensions
to include in the libarary by specifying a list in
<tt>auto/custom.txt</tt>. This is useful when you do not need all the
extensions and would like to reduce the size of the source files.
Type <tt>make clean; make custom</tt> in the <tt>auto</tt> directory
to rerun the scripts with the custom list of extensions.
</p>
<p>
For example, the following is the list of extensions needed to get GLEW and the
utilities to compile.
</p>
<p class="pre">
WGL_ARB_extensions_string<br>
WGL_ARB_multisample<br>
WGL_ARB_pixel_format<br>
WGL_ARB_pbuffer<br>
WGL_EXT_extensions_string<br>
WGL_ATI_pixel_format_float<br>
WGL_NV_float_buffer<br>
</p>
<h2>Multiple Rendering Contexts (GLEW MX)</h2>
<p>Starting with release 1.2.0, thread-safe support for multiple
rendering contexts, possibly with different capabilities, is
available. Since this is not required by most users, it is not added
to the binary releases to maintain compatibility between different
versions. To include multi-context support, you have to do the
following:</p>
<ol>
<li>Compile and use GLEW with the <tt>GLEW_MX</tt> preprocessor token
defined.</li>
<li>For each rendering context, create a <tt>GLEWContext</tt> object
that will be available as long as the rendering context exists.</li>
<li>Define a macro or function called <tt>glewGetContext()</tt> that
returns a pointer to the <tt>GLEWContext</tt> object associated with
the rendering context from which OpenGL/WGL/GLX calls are issued. This
dispatch mechanism is primitive, but generic.
<li>Make sure that you call <tt>glewInit()</tt> after creating the
<tt>GLEWContext</tt> object in each rendering context. Note, that the
<tt>GLEWContext</tt> pointer returned by <tt>glewGetContext()</tt> has
to reside in global or thread-local memory.
</ol>
<p>Note that according to the <a
href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/opengl/ntopnglr_6yer.asp">MSDN
WGL documentation</a>, you have to initialize the entry points for
every rendering context that use pixel formats with different
capabilities For example, the pixel formats provided by the generic
software OpenGL implementation by Microsoft vs. the hardware
accelerated pixel formats have different capabilities. <b>GLEW by
default ignores this requirement, and does not define per-context
entry points (you can however do this using the steps described
above).</b> Assuming a global namespace for the entry points works in
most situations, because typically all hardware accelerated pixel
formats provide the same entry points and capabilities. This means
that unless you use the multi-context version of GLEW, you need to
call <tt>glewInit()</tt> only once in your program, or more precisely,
once per process.</p>
<h2>Separate Namespace</h2>
<p>
To avoid name clashes when linking with libraries that include the
same symbols, extension entry points are declared in a separate
namespace (release 1.1.0 and up). This is achieved by aliasing OpenGL
function names to their GLEW equivalents. For instance,
<tt>glFancyFunction</tt> is simply an alias to
<tt>glewFancyFunction</tt>. The separate namespace does not effect
token and function pointer definitions.
</p>
<h2>Known Issues</h2>
<p>
GLEW requires GLX 1.2 for compatibility with GLUT.
</p>
<!-- begin footer.html -->
</td></tr></table></body>
<!-- end footer.html -->
+282
View File
@@ -0,0 +1,282 @@
<!-- begin header.html -->
<!--
The OpenGL Extension Wrangler Library
Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
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.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html/4/loose.dtd">
<!-- &nbsp;<img src="new.png" height="12" alt="NEW!"> -->
<html>
<head>
<title>GLEW: The OpenGL Extension Wrangler Library</title>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<link href="glew.css" type="text/css" rel="stylesheet">
</head>
<body bgcolor="#fff0d0">
<table border="0" width="100%" cellpadding="12" cellspacing="8" style="height:100%">
<tr>
<td bgcolor="#ffffff" align="left" valign="top" width="200">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr>
<td valign="top">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr><td align="center"><i>Latest Release: <a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/">1.5.8</a></i></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center"><img src="./glew.png" alt="GLEW Logo" width="97" height="75"></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center">
<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td align="center"><a href="index.html">Download</a></td></tr>
<tr><td align="center"><a href="install.html">Installation</a></td></tr>
<tr><td align="center">Basic Usage</td></tr>
<tr><td align="center"><a href="advanced.html">Advanced Usage</a></td></tr>
<tr><td align="center"><a href="credits.html">Credits & Copyright</a></td></tr>
<tr><td align="center"><a href="log.html">Change Log</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/projects/glew/">Project Page</a></td></tr>
<tr><td align="center"><a href="https://sourceforge.net/mail/?group_id=67586">Mailing Lists</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/tracker/?group_id=67586">Bug Tracker</a></td></tr>
</table>
<tr><td align="center"><br></tr>
</table>
</td>
</tr>
<tr>
<td valign="bottom">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="left">
<tr><td align="center"><i>Last Update: 01-31-11</i></td></tr>
<tr><td align="center">
<a href="http://www.opengl.org"> <img src="./ogl_sm.jpg" width="68"
height="35" border="0" alt="OpenGL Logo"></a>
<a href="http://sourceforge.net"> <img
src="http://sourceforge.net/sflogo.php?group_id=67586&amp;type=1"
width="88" height="31" border="0" alt="SourceForge Logo"></a>
</td>
</tr>
<!--- <tr><td align="center"><a
href="http://sourceforge.net/donate/index.php?group_id=67586"><img
src="http://images.sourceforge.net/images/project-support.jpg"
width="88" height="32" border="0" alt="Support This Project"></a></td></tr> -->
</table>
</td>
</tr>
</table>
</td>
<td bgcolor="#ffffff" align="left" valign="top">
<h1>The OpenGL Extension Wrangler Library</h1>
<!-- end header.html -->
<h2>Initializing GLEW</h2>
<p>
First you need to create a valid OpenGL rendering context and call
<tt>glewInit()</tt> to initialize the extension entry points. If
<tt>glewInit()</tt> returns <tt>GLEW_OK</tt>, the initialization
succeeded and you can use the available extensions as well as core
OpenGL functionality. For example:
</p>
<p class="pre">
#include &lt;GL/glew.h&gt;<br>
#include &lt;GL/glut.h&gt;<br>
...<br>
glutInit(&amp;argc, argv);<br>
glutCreateWindow("GLEW Test");<br>
GLenum err = glewInit();<br>
if (GLEW_OK != err)<br>
{<br>
&nbsp;&nbsp;/* Problem: glewInit failed, something is seriously wrong. */<br>
&nbsp;&nbsp;fprintf(stderr, "Error: %s\n", glewGetErrorString(err));<br>
&nbsp;&nbsp;...<br>
}<br>
fprintf(stdout, "Status: Using GLEW %s\n", glewGetString(GLEW_VERSION));<br>
</p>
<h2>Checking for Extensions</h2>
<p>
Starting from GLEW 1.1.0, you can find out if a particular extension
is available on your platform by querying globally defined variables
of the form <tt>GLEW_{extension_name}</tt>:
</p>
<p class="pre">
if (GLEW_ARB_vertex_program)<br>
{<br>
&nbsp;&nbsp;/* It is safe to use the ARB_vertex_program extension here. */<br>
&nbsp;&nbsp;glGenProgramsARB(...);<br>
}<br>
</p>
<p>
<b>In GLEW 1.0.x, a global structure was used for this task. To ensure
binary compatibility between releases, the struct was replaced with a
set of variables.</b>
</p>
<p>
You can also check for core OpenGL functionality. For example, to
see if OpenGL 1.3 is supported, do the following:
</p>
<p class="pre">
if (GLEW_VERSION_1_3)<br>
{<br>
&nbsp;&nbsp;/* Yay! OpenGL 1.3 is supported! */<br>
}<br>
</p>
<p>
In general, you can check if <tt>GLEW_{extension_name}</tt> or
<tt>GLEW_VERSION_{version}</tt> is true or false.
</p>
<p>
It is also possible to perform extension checks from string
input. Starting from the 1.3.0 release, use <tt>glewIsSupported</tt>
to check if the required core or extension functionality is
available:
</p>
<p class="pre">
if (glewIsSupported("GL_VERSION_1_4&nbsp;&nbsp;GL_ARB_point_sprite"))<br>
{<br>
&nbsp;&nbsp;/* Great, we have OpenGL 1.4 + point sprites. */<br>
}<br>
</p>
<p>
For extensions only, <tt>glewGetExtension</tt> provides a slower alternative
(GLEW 1.0.x-1.2.x). <b>Note that in the 1.3.0 release </b>
<tt>glewGetExtension</tt> <b>was replaced with </b>
<tt>glewIsSupported</tt>.
</p>
<p class="pre">
if (glewGetExtension("GL_ARB_fragment_program"))<br>
{<br>
&nbsp;&nbsp;/* Looks like ARB_fragment_program is supported. */<br>
}<br>
</p>
<h2>Experimental Drivers</h2>
<p>
GLEW obtains information on the supported extensions from the graphics
driver. Experimental or pre-release drivers, however, might not
report every available extension through the standard mechanism, in
which case GLEW will report it unsupported. To circumvent this
situation, the <tt>glewExperimental</tt> global switch can be turned
on by setting it to <tt>GL_TRUE</tt> before calling
<tt>glewInit()</tt>, which ensures that all extensions with valid
entry points will be exposed.
</p>
<h2>Platform Specific Extensions</h2>
<p>
Platform specific extensions are separated into two header files:
<tt>wglew.h</tt> and <tt>glxew.h</tt>, which define the available
<tt>WGL</tt> and <tt>GLX</tt> extensions. To determine if a certain
extension is supported, query <tt>WGLEW_{extension name}</tt> or
<tt>GLXEW_{extension_name}</tt>. For example:
</p>
<p class="pre">
#include &lt;GL/wglew.h&gt;<br>
<br>
if (WGLEW_ARB_pbuffer)<br>
{<br>
&nbsp;&nbsp;/* OK, we can use pbuffers. */<br>
}<br>
else<br>
{<br>
&nbsp;&nbsp;/* Sorry, pbuffers will not work on this platform. */<br>
}<br>
</p>
<p>
Alternatively, use <tt>wglewIsSupported</tt> or
<tt>glxewIsSupported</tt> to check for extensions from a string:
</p>
<p class="pre">
if (wglewIsSupported("WGL_ARB_pbuffer"))<br>
{<br>
&nbsp;&nbsp;/* OK, we can use pbuffers. */<br>
}<br>
</p>
<h2>Utilities</h2>
<p>
GLEW provides two command-line utilities: one for creating a list of
available extensions and visuals; and another for verifying extension
entry points.
</p>
<h3>visualinfo: extensions and visuals</h3>
<p>
<tt>visualinfo</tt> is an extended version of <tt>glxinfo</tt>. The
Windows version creates a file called <tt>visualinfo.txt</tt>, which
contains a list of available OpenGL, WGL, and GLU extensions as well
as a table of visuals aka. pixel formats. Pbuffer and MRT capable
visuals are also included. For additional usage information, type
<tt>visualinfo -h</tt>.
</p>
<h3>glewinfo: extension verification utility</h3>
<p>
<tt>glewinfo</tt> allows you to verify the entry points for the
extensions supported on your platform. The Windows version
reports the results to a text file called <tt>glewinfo.txt</tt>. The
Unix version prints the results to <tt>stdout</tt>.
</p>
<p>Windows usage:</p>
<blockquote><pre>glewinfo [-pf &lt;id&gt;]</pre></blockquote>
<p>where <tt>&lt;id&gt;</tt> is the pixel format id for which the
capabilities are displayed.</p>
<p>Unix usage:</p>
<blockquote><pre>glewinfo [-display &lt;dpy&gt;] [-visual &lt;id&gt;]</pre></blockquote>
<p>where <tt>&lt;dpy&gt;</tt> is the X11 display and <tt>&lt;id&gt;</tt> is
the visual id for which the capabilities are displayed.</p>
<!-- begin footer.html -->
</td></tr></table></body>
<!-- end footer.html -->
+127
View File
@@ -0,0 +1,127 @@
<!-- begin header.html -->
<!--
The OpenGL Extension Wrangler Library
Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
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.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html/4/loose.dtd">
<!-- &nbsp;<img src="new.png" height="12" alt="NEW!"> -->
<html>
<head>
<title>GLEW: The OpenGL Extension Wrangler Library</title>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<link href="glew.css" type="text/css" rel="stylesheet">
</head>
<body bgcolor="#fff0d0">
<table border="0" width="100%" cellpadding="12" cellspacing="8" style="height:100%">
<tr>
<td bgcolor="#ffffff" align="left" valign="top" width="200">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr>
<td valign="top">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr><td align="center"><i>Latest Release: <a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/">1.5.8</a></i></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center"><img src="./glew.png" alt="GLEW Logo" width="97" height="75"></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center">
<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td align="center"><a href="index.html">Download</a></td></tr>
<tr><td align="center"><a href="install.html">Installation</a></td></tr>
<tr><td align="center"><a href="basic.html">Basic Usage</a></td></tr>
<tr><td align="center"><a href="advanced.html">Advanced Usage</a></td></tr>
<tr><td align="center">Credits & Copyright</td></tr>
<tr><td align="center"><a href="log.html">Change Log</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/projects/glew/">Project Page</a></td></tr>
<tr><td align="center"><a href="https://sourceforge.net/mail/?group_id=67586">Mailing Lists</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/tracker/?group_id=67586">Bug Tracker</a></td></tr>
</table>
<tr><td align="center"><br></tr>
</table>
</td>
</tr>
<tr>
<td valign="bottom">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="left">
<tr><td align="center"><i>Last Update: 01-31-11</i></td></tr>
<tr><td align="center">
<a href="http://www.opengl.org"> <img src="./ogl_sm.jpg" width="68"
height="35" border="0" alt="OpenGL Logo"></a>
<a href="http://sourceforge.net"> <img
src="http://sourceforge.net/sflogo.php?group_id=67586&amp;type=1"
width="88" height="31" border="0" alt="SourceForge Logo"></a>
</td>
</tr>
<!--- <tr><td align="center"><a
href="http://sourceforge.net/donate/index.php?group_id=67586"><img
src="http://images.sourceforge.net/images/project-support.jpg"
width="88" height="32" border="0" alt="Support This Project"></a></td></tr> -->
</table>
</td>
</tr>
</table>
</td>
<td bgcolor="#ffffff" align="left" valign="top">
<h1>The OpenGL Extension Wrangler Library</h1>
<!-- end header.html -->
<h2>Credits</h2>
<p>
GLEW was developed by <a href="http://www.cs.utah.edu/~ikits/">Milan
Ikits</a> and <a
href="http://wwwvis.informatik.uni-stuttgart.de/~magallon/">Marcelo
Magallon</a>. They also perform occasional maintainance to make sure
that GLEW stays in mint condition. Aaron Lefohn, Joe Kniss, and Chris
Wyman were the first users and also assisted with the design and
debugging process. The acronym GLEW originates from Aaron Lefohn.
Pasi K&auml;rkk&auml;inen identified and fixed several problems with
GLX and SDL. Nate Robins created the <tt>wglinfo</tt> utility, to
which modifications were made by Michael Wimmer.
</p>
<h2>Copyright</h2>
<p>
GLEW is originally derived from the EXTGL project by Lev Povalahev.
The source code is licensed under the <a href="glew.txt">Modified BSD
License</a>, the <a href="mesa.txt">Mesa 3-D License</a> (MIT
License), and the <a href="khronos.txt">Khronos License</a> (MIT
License). The automatic code generation scripts are released under
the <a href="gpl.txt">GNU GPL</a>.
</p>
<!-- begin footer.html -->
</td></tr></table></body>
<!-- end footer.html -->
+187
View File
@@ -0,0 +1,187 @@
h1
{
color: black;
font: 23px "Verdana", "Arial", "Helvetica", sans-serif;
font-weight: bold;
text-align: center;
margin-top: 12px;
margin-bottom: 18px;
}
h2
{
color: black;
font: 18px "Verdana", "Arial", "Helvetica", sans-serif;
font-weight: bold;
text-align: left;
padding-top: 0px;
padding-bottom: 0px;
margin-top: 18px;
margin-bottom: 12px;
}
h3
{
color: black;
font: 17px "Verdana", "Arial", "Helvetica", sans-serif;
text-align: left;
padding-top: 0px;
padding-bottom: 0px;
margin-top: 12px;
margin-bottom: 12px;
}
small
{
font: 8pt "Verdana", "Arial", "Helvetica", sans-serif;
}
body
{
color: black;
font: 10pt "Verdana", "Arial", "Helvetica", sans-serif;
text-align: left;
}
td
{
color: black;
font: 10pt "Verdana", "Arial", "Helvetica", sans-serif;
}
tt
{
color: rgb(0,120,0);
}
/* color: maroon; */
td.num
{
color: lightgrey;
font: 10pt "Verdana", "Arial", "Helvetica", sans-serif;
text-align: right;
}
blockquote
{
color: rgb(0,120,0);
background: #f0f0f0;
text-align: left;
margin-left: 40px;
margin-right: 40px;
margin-bottom: 6px;
padding-bottom: 0px;
margin-top: 0px;
padding-top: 0px;
border-top: 0px;
border-width: 0px;
}
pre
{
color: rgb(0,120,0);
background: #f0f0f0;
text-align: left;
margin-left: 40px;
margin-right: 40px;
margin-bottom: 6px;
padding-bottom: 0px;
margin-top: 0px;
padding-top: 0px;
border-top: 0px;
border-width: 0px;
}
p
{
color: black;
font: 10pt "Verdana", "Arial", "Helvetica", sans-serif;
text-align: left;
margin-bottom: 0px;
padding-bottom: 6px;
margin-top: 0px;
padding-top: 0px;
}
p.right
{
color: black;
font: 10pt "Verdana", "Arial", "Helvetica", sans-serif;
text-align: right;
margin-bottom: 0px;
padding-bottom: 6px;
margin-top: 0px;
padding-top: 0px;
}
p.pre
{
color: rgb(0,120,0);
font: 10pt "Courier New", "Courier", monospace;
background: #f0f0f0;
text-align: left;
margin-top: 0px;
margin-bottom: 6px;
margin-left: 40px;
margin-right: 40px;
padding-top: 0px;
padding-bottom: 6px;
padding-left: 6px;
padding-right: 6px;
border-top: 0px;
border-width: 0px;
}
a:link
{
color: rgb(0,0,139);
text-decoration: none;
}
a:visited
{
color: rgb(220,20,60);
text-decoration: none;
}
a:hover
{
color: rgb(220,20,60);
text-decoration: underline;
background: "#e8e8e8";
}
ul
{
list-style-type: disc;
text-align: left;
margin-left: 40px;
margin-top: 0px;
padding-top: 0px;
margin-bottom: 0px;
padding-bottom: 3px;
}
ul.none
{
list-style-type: none;
}
ol
{
text-align: left;
margin-left: 40px;
margin-top: 0px;
padding-top: 0px;
margin-bottom: 0px;
padding-bottom: 12px;
}
hr
{
color: maroon;
background-color: maroon;
height: 1px;
border: 0px;
width: 80%;
}
+532
View File
@@ -0,0 +1,532 @@
<!-- begin header.html -->
<!--
The OpenGL Extension Wrangler Library
Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
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.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html/4/loose.dtd">
<!-- &nbsp;<img src="new.png" height="12" alt="NEW!"> -->
<html>
<head>
<title>GLEW: The OpenGL Extension Wrangler Library</title>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<link href="glew.css" type="text/css" rel="stylesheet">
</head>
<body bgcolor="#fff0d0">
<table border="0" width="100%" cellpadding="12" cellspacing="8" style="height:100%">
<tr>
<td bgcolor="#ffffff" align="left" valign="top" width="200">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr>
<td valign="top">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr><td align="center"><i>Latest Release: <a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/">1.5.8</a></i></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center"><img src="./glew.png" alt="GLEW Logo" width="97" height="75"></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center">
<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td align="center"><a href="index.html">Download</a></td></tr>
<tr><td align="center"><a href="install.html">Installation</a></td></tr>
<tr><td align="center"><a href="basic.html">Basic Usage</a></td></tr>
<tr><td align="center"><a href="advanced.html">Advanced Usage</a></td></tr>
<tr><td align="center"><a href="credits.html">Credits & Copyright</a></td></tr>
<tr><td align="center"><a href="log.html">Change Log</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/projects/glew/">Project Page</a></td></tr>
<tr><td align="center"><a href="https://sourceforge.net/mail/?group_id=67586">Mailing Lists</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/tracker/?group_id=67586">Bug Tracker</a></td></tr>
</table>
<tr><td align="center"><br></tr>
</table>
</td>
</tr>
<tr>
<td valign="bottom">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="left">
<tr><td align="center"><i>Last Update: 01-31-11</i></td></tr>
<tr><td align="center">
<a href="http://www.opengl.org"> <img src="./ogl_sm.jpg" width="68"
height="35" border="0" alt="OpenGL Logo"></a>
<a href="http://sourceforge.net"> <img
src="http://sourceforge.net/sflogo.php?group_id=67586&amp;type=1"
width="88" height="31" border="0" alt="SourceForge Logo"></a>
</td>
</tr>
<!--- <tr><td align="center"><a
href="http://sourceforge.net/donate/index.php?group_id=67586"><img
src="http://images.sourceforge.net/images/project-support.jpg"
width="88" height="32" border="0" alt="Support This Project"></a></td></tr> -->
</table>
</td>
</tr>
</table>
</td>
<td bgcolor="#ffffff" align="left" valign="top">
<h1>The OpenGL Extension Wrangler Library</h1>
<!-- end header.html -->
<h2>Supported OpenGL Extensions</h2>
<table border="0" width="100%" cellpadding="1" cellspacing="0" align="center">
<tr><td class="num">1</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/3DFX/3dfx_multisample.txt">3DFX_multisample</a></td></tr>
<tr><td class="num">2</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/3DFX/tbuffer.txt">3DFX_tbuffer</a></td></tr>
<tr><td class="num">3</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/3DFX/texture_compression_FXT1.txt">3DFX_texture_compression_FXT1</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">4</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/AMD/conservative_depth.txt">AMD_conservative_depth</a></td></tr>
<tr><td class="num">5</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/AMD/debug_output.txt">AMD_debug_output</a></td></tr>
<tr><td class="num">6</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/AMD/depth_clamp_separate.txt">AMD_depth_clamp_separate</a></td></tr>
<tr><td class="num">7</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/AMD/draw_buffers_blend.txt">AMD_draw_buffers_blend</a></td></tr>
<tr><td class="num">8</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/AMD/name_gen_delete.txt">AMD_name_gen_delete</a></td></tr>
<tr><td class="num">9</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/AMD/performance_monitor.txt">AMD_performance_monitor</a></td></tr>
<tr><td class="num">10</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/AMD/seamless_cubemap_per_texture.txt">AMD_seamless_cubemap_per_texture</a></td></tr>
<tr><td class="num">11</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/AMD/shader_stencil_export.txt">AMD_shader_stencil_export</a></td></tr>
<tr><td class="num">12</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/AMD/texture_texture4.txt">AMD_texture_texture4</a></td></tr>
<tr><td class="num">13</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/AMD/transform_feedback3_lines_triangles.txt">AMD_transform_feedback3_lines_triangles</a></td></tr>
<tr><td class="num">14</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/AMD/vertex_shader_tessellator.txt">AMD_vertex_shader_tessellator</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">15</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/APPLE/aux_depth_stencil.txt">APPLE_aux_depth_stencil</a></td></tr>
<tr><td class="num">16</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/APPLE/client_storage.txt">APPLE_client_storage</a></td></tr>
<tr><td class="num">17</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/APPLE/element_array.txt">APPLE_element_array</a></td></tr>
<tr><td class="num">18</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/APPLE/fence.txt">APPLE_fence</a></td></tr>
<tr><td class="num">19</td><td>&nbsp;</td><td><a href="http://developer.apple.com/opengl/extensions/apple_float_pixels.html">APPLE_float_pixels</a></td></tr>
<tr><td class="num">20</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/APPLE/flush_buffer_range.txt">APPLE_flush_buffer_range</a></td></tr>
<tr><td class="num">21</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/APPLE/object_purgeable.txt">APPLE_object_purgeable</a></td></tr>
<tr><td class="num">22</td><td>&nbsp;</td><td>APPLE_pixel_buffer</td></tr>
<tr><td class="num">23</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/APPLE/rgb_422.txt">APPLE_rgb_422</a></td></tr>
<tr><td class="num">24</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/APPLE/row_bytes.txt">APPLE_row_bytes</a></td></tr>
<tr><td class="num">25</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/APPLE/specular_vector.txt">APPLE_specular_vector</a></td></tr>
<tr><td class="num">26</td><td>&nbsp;</td><td><a href="http://developer.apple.com/opengl/extensions/apple_texture_range.html">APPLE_texture_range</a></td></tr>
<tr><td class="num">27</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/APPLE/transform_hint.txt">APPLE_transform_hint</a></td></tr>
<tr><td class="num">28</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/APPLE/vertex_array_object.txt">APPLE_vertex_array_object</a></td></tr>
<tr><td class="num">29</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/APPLE/vertex_array_range.txt">APPLE_vertex_array_range</a></td></tr>
<tr><td class="num">30</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt">APPLE_vertex_program_evaluators</a></td></tr>
<tr><td class="num">31</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/APPLE/ycbcr_422.txt">APPLE_ycbcr_422</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">32</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt">ARB_ES2_compatibility</a></td></tr>
<tr><td class="num">33</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/blend_func_extended.txt">ARB_blend_func_extended</a></td></tr>
<tr><td class="num">34</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/cl_event.txt">ARB_cl_event</a></td></tr>
<tr><td class="num">35</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/color_buffer_float.txt">ARB_color_buffer_float</a></td></tr>
<tr><td class="num">36</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/compatibility.txt">ARB_compatibility</a></td></tr>
<tr><td class="num">37</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/copy_buffer.txt">ARB_copy_buffer</a></td></tr>
<tr><td class="num">38</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/debug_output.txt">ARB_debug_output</a></td></tr>
<tr><td class="num">39</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt">ARB_depth_buffer_float</a></td></tr>
<tr><td class="num">40</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/depth_clamp.txt">ARB_depth_clamp</a></td></tr>
<tr><td class="num">41</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/depth_texture.txt">ARB_depth_texture</a></td></tr>
<tr><td class="num">42</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/draw_buffers.txt">ARB_draw_buffers</a></td></tr>
<tr><td class="num">43</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt">ARB_draw_buffers_blend</a></td></tr>
<tr><td class="num">44</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt">ARB_draw_elements_base_vertex</a></td></tr>
<tr><td class="num">45</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/draw_indirect.txt">ARB_draw_indirect</a></td></tr>
<tr><td class="num">46</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/draw_instanced.txt">ARB_draw_instanced</a></td></tr>
<tr><td class="num">47</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/explicit_attrib_location.txt">ARB_explicit_attrib_location</a></td></tr>
<tr><td class="num">48</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/fragment_coord_conventions.txt">ARB_fragment_coord_conventions</a></td></tr>
<tr><td class="num">49</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/fragment_program.txt">ARB_fragment_program</a></td></tr>
<tr><td class="num">50</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/fragment_program_shadow.txt">ARB_fragment_program_shadow</a></td></tr>
<tr><td class="num">51</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/fragment_shader.txt">ARB_fragment_shader</a></td></tr>
<tr><td class="num">52</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt">ARB_framebuffer_object</a></td></tr>
<tr><td class="num">53</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt">ARB_framebuffer_sRGB</a></td></tr>
<tr><td class="num">54</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/geometry_shader4.txt">ARB_geometry_shader4</a></td></tr>
<tr><td class="num">55</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/get_program_binary.txt">ARB_get_program_binary</a></td></tr>
<tr><td class="num">56</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/gpu_shader5.txt">ARB_gpu_shader5</a></td></tr>
<tr><td class="num">57</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt">ARB_gpu_shader_fp64</a></td></tr>
<tr><td class="num">58</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/half_float_pixel.txt">ARB_half_float_pixel</a></td></tr>
<tr><td class="num">59</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/half_float_vertex.txt">ARB_half_float_vertex</a></td></tr>
<tr><td class="num">60</td><td>&nbsp;</td><td>ARB_imaging</td></tr>
<tr><td class="num">61</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt">ARB_instanced_arrays</a></td></tr>
<tr><td class="num">62</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/map_buffer_range.txt">ARB_map_buffer_range</a></td></tr>
<tr><td class="num">63</td><td>&nbsp;</td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/ARB/matrix_palette.txt">ARB_matrix_palette</a></td></tr>
<tr><td class="num">64</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/multisample.txt">ARB_multisample</a></td></tr>
<tr><td class="num">65</td><td>&nbsp;</td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/ARB/multitexture.txt">ARB_multitexture</a></td></tr>
<tr><td class="num">66</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/occlusion_query.txt">ARB_occlusion_query</a></td></tr>
<tr><td class="num">67</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/occlusion_query2.txt">ARB_occlusion_query2</a></td></tr>
<tr><td class="num">68</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/pixel_buffer_object.txt">ARB_pixel_buffer_object</a></td></tr>
<tr><td class="num">69</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/point_parameters.txt">ARB_point_parameters</a></td></tr>
<tr><td class="num">70</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/point_sprite.txt">ARB_point_sprite</a></td></tr>
<tr><td class="num">71</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/provoking_vertex.txt">ARB_provoking_vertex</a></td></tr>
<tr><td class="num">72</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/robustness.txt">ARB_robustness</a></td></tr>
<tr><td class="num">73</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/sample_shading.txt">ARB_sample_shading</a></td></tr>
<tr><td class="num">74</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/sampler_objects.txt">ARB_sampler_objects</a></td></tr>
<tr><td class="num">75</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/seamless_cube_map.txt">ARB_seamless_cube_map</a></td></tr>
<tr><td class="num">76</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt">ARB_separate_shader_objects</a></td></tr>
<tr><td class="num">77</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/shader_bit_encoding.txt">ARB_shader_bit_encoding</a></td></tr>
<tr><td class="num">78</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/shader_objects.txt">ARB_shader_objects</a></td></tr>
<tr><td class="num">79</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/shader_precision.txt">ARB_shader_precision</a></td></tr>
<tr><td class="num">80</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/shader_stencil_export.txt">ARB_shader_stencil_export</a></td></tr>
<tr><td class="num">81</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/shader_subroutine.txt">ARB_shader_subroutine</a></td></tr>
<tr><td class="num">82</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/shader_texture_lod.txt">ARB_shader_texture_lod</a></td></tr>
<tr><td class="num">83</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/shading_language_100.txt">ARB_shading_language_100</a></td></tr>
<tr><td class="num">84</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/shading_language_include.txt">ARB_shading_language_include</a></td></tr>
<tr><td class="num">85</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/shadow.txt">ARB_shadow</a></td></tr>
<tr><td class="num">86</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/shadow_ambient.txt">ARB_shadow_ambient</a></td></tr>
<tr><td class="num">87</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/sync.txt">ARB_sync</a></td></tr>
<tr><td class="num">88</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/tessellation_shader.txt">ARB_tessellation_shader</a></td></tr>
<tr><td class="num">89</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_border_clamp.txt">ARB_texture_border_clamp</a></td></tr>
<tr><td class="num">90</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_buffer_object.txt">ARB_texture_buffer_object</a></td></tr>
<tr><td class="num">91</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_buffer_object_rgb32.txt">ARB_texture_buffer_object_rgb32</a></td></tr>
<tr><td class="num">92</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_compression.txt">ARB_texture_compression</a></td></tr>
<tr><td class="num">93</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_compression_bptc.txt">ARB_texture_compression_bptc</a></td></tr>
<tr><td class="num">94</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt">ARB_texture_compression_rgtc</a></td></tr>
<tr><td class="num">95</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_cube_map.txt">ARB_texture_cube_map</a></td></tr>
<tr><td class="num">96</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_cube_map_array.txt">ARB_texture_cube_map_array</a></td></tr>
<tr><td class="num">97</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_env_add.txt">ARB_texture_env_add</a></td></tr>
<tr><td class="num">98</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_env_combine.txt">ARB_texture_env_combine</a></td></tr>
<tr><td class="num">99</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_env_crossbar.txt">ARB_texture_env_crossbar</a></td></tr>
<tr><td class="num">100</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_env_dot3.txt">ARB_texture_env_dot3</a></td></tr>
<tr><td class="num">101</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_float.txt">ARB_texture_float</a></td></tr>
<tr><td class="num">102</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_gather.txt">ARB_texture_gather</a></td></tr>
<tr><td class="num">103</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_mirrored_repeat.txt">ARB_texture_mirrored_repeat</a></td></tr>
<tr><td class="num">104</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_multisample.txt">ARB_texture_multisample</a></td></tr>
<tr><td class="num">105</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_non_power_of_two.txt">ARB_texture_non_power_of_two</a></td></tr>
<tr><td class="num">106</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_query_lod.txt">ARB_texture_query_lod</a></td></tr>
<tr><td class="num">107</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_rectangle.txt">ARB_texture_rectangle</a></td></tr>
<tr><td class="num">108</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_rg.txt">ARB_texture_rg</a></td></tr>
<tr><td class="num">109</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_rgb10_a2ui.txt">ARB_texture_rgb10_a2ui</a></td></tr>
<tr><td class="num">110</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/texture_swizzle.txt">ARB_texture_swizzle</a></td></tr>
<tr><td class="num">111</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/timer_query.txt">ARB_timer_query</a></td></tr>
<tr><td class="num">112</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/transform_feedback2.txt">ARB_transform_feedback2</a></td></tr>
<tr><td class="num">113</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/transform_feedback3.txt">ARB_transform_feedback3</a></td></tr>
<tr><td class="num">114</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/transpose_matrix.txt">ARB_transpose_matrix</a></td></tr>
<tr><td class="num">115</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt">ARB_uniform_buffer_object</a></td></tr>
<tr><td class="num">116</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/vertex_array_bgra.txt">ARB_vertex_array_bgra</a></td></tr>
<tr><td class="num">117</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/vertex_array_object.txt">ARB_vertex_array_object</a></td></tr>
<tr><td class="num">118</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt">ARB_vertex_attrib_64bit</a></td></tr>
<tr><td class="num">119</td><td>&nbsp;</td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_blend.txt">ARB_vertex_blend</a></td></tr>
<tr><td class="num">120</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt">ARB_vertex_buffer_object</a></td></tr>
<tr><td class="num">121</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/vertex_program.txt">ARB_vertex_program</a></td></tr>
<tr><td class="num">122</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/vertex_shader.txt">ARB_vertex_shader</a></td></tr>
<tr><td class="num">123</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt">ARB_vertex_type_2_10_10_10_rev</a></td></tr>
<tr><td class="num">124</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/viewport_array.txt">ARB_viewport_array</a></td></tr>
<tr><td class="num">125</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/window_pos.txt">ARB_window_pos</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">126</td><td>&nbsp;</td><td><a href="http://www.ati.com/developer/atiopengl.pdf">ATIX_point_sprites</a></td></tr>
<tr><td class="num">127</td><td>&nbsp;</td><td><a href="http://www.ati.com/developer/atiopengl.pdf">ATIX_texture_env_combine3</a></td></tr>
<tr><td class="num">128</td><td>&nbsp;</td><td><a href="http://www.ati.com/developer/sdk/RadeonSDK/Html/Info/ATIX_texture_env_route.txt">ATIX_texture_env_route</a></td></tr>
<tr><td class="num">129</td><td>&nbsp;</td><td><a href="http://www.ati.com/developer/atiopengl.pdf">ATIX_vertex_shader_output_point_size</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">130</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ATI/draw_buffers.txt">ATI_draw_buffers</a></td></tr>
<tr><td class="num">131</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ATI/element_array.txt">ATI_element_array</a></td></tr>
<tr><td class="num">132</td><td>&nbsp;</td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/ATI/envmap_bumpmap.txt">ATI_envmap_bumpmap</a></td></tr>
<tr><td class="num">133</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ATI/fragment_shader.txt">ATI_fragment_shader</a></td></tr>
<tr><td class="num">134</td><td>&nbsp;</td><td><a href="http://www.ati.com/developer/sdk/RADEONSDK/Html/Info/ATI_map_object_buffer.txt">ATI_map_object_buffer</a></td></tr>
<tr><td class="num">135</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ATI/meminfo.txt">ATI_meminfo</a></td></tr>
<tr><td class="num">136</td><td>&nbsp;</td><td><a href="http://www.ati.com/developer/sdk/RADEONSDK/Html/Info/ati_pn_triangles.txt">ATI_pn_triangles</a></td></tr>
<tr><td class="num">137</td><td>&nbsp;</td><td><a href="http://www.ati.com/developer/sdk/RadeonSDK/Html/Info/ATI_separate_stencil.txt">ATI_separate_stencil</a></td></tr>
<tr><td class="num">138</td><td>&nbsp;</td><td>ATI_shader_texture_lod</td></tr>
<tr><td class="num">139</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ATI/text_fragment_shader.txt">ATI_text_fragment_shader</a></td></tr>
<tr><td class="num">140</td><td>&nbsp;</td><td>ATI_texture_compression_3dc</td></tr>
<tr><td class="num">141</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ATI/texture_env_combine3.txt">ATI_texture_env_combine3</a></td></tr>
<tr><td class="num">142</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ATI/texture_float.txt">ATI_texture_float</a></td></tr>
<tr><td class="num">143</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ATI/texture_mirror_once.txt">ATI_texture_mirror_once</a></td></tr>
<tr><td class="num">144</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ATI/vertex_array_object.txt">ATI_vertex_array_object</a></td></tr>
<tr><td class="num">145</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ATI/vertex_attrib_array_object.txt">ATI_vertex_attrib_array_object</a></td></tr>
<tr><td class="num">146</td><td>&nbsp;</td><td><a href="http://www.ati.com/developer/sdk/RADEONSDK/Html/Info/ATI_vertex_streams.txt">ATI_vertex_streams</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">147</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/422_pixels.txt">EXT_422_pixels</a></td></tr>
<tr><td class="num">148</td><td>&nbsp;</td><td><a href="http://download.nvidia.com/developer/GLSL/GLSL%20Release%20Notes%20for%20Release%2060.pdf">EXT_Cg_shader</a></td></tr>
<tr><td class="num">149</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/abgr.txt">EXT_abgr</a></td></tr>
<tr><td class="num">150</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/bgra.txt">EXT_bgra</a></td></tr>
<tr><td class="num">151</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_bindable_uniform.txt">EXT_bindable_uniform</a></td></tr>
<tr><td class="num">152</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/blend_color.txt">EXT_blend_color</a></td></tr>
<tr><td class="num">153</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/blend_equation_separate.txt">EXT_blend_equation_separate</a></td></tr>
<tr><td class="num">154</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/blend_func_separate.txt">EXT_blend_func_separate</a></td></tr>
<tr><td class="num">155</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/blend_logic_op.txt">EXT_blend_logic_op</a></td></tr>
<tr><td class="num">156</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/blend_minmax.txt">EXT_blend_minmax</a></td></tr>
<tr><td class="num">157</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/blend_subtract.txt">EXT_blend_subtract</a></td></tr>
<tr><td class="num">158</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/clip_volume_hint.txt">EXT_clip_volume_hint</a></td></tr>
<tr><td class="num">159</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/cmyka.txt">EXT_cmyka</a></td></tr>
<tr><td class="num">160</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/color_subtable.txt">EXT_color_subtable</a></td></tr>
<tr><td class="num">161</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/compiled_vertex_array.txt">EXT_compiled_vertex_array</a></td></tr>
<tr><td class="num">162</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/convolution.txt">EXT_convolution</a></td></tr>
<tr><td class="num">163</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/coordinate_frame.txt">EXT_coordinate_frame</a></td></tr>
<tr><td class="num">164</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/copy_texture.txt">EXT_copy_texture</a></td></tr>
<tr><td class="num">165</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/cull_vertex.txt">EXT_cull_vertex</a></td></tr>
<tr><td class="num">166</td><td>&nbsp;</td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_depth_bounds_test.txt">EXT_depth_bounds_test</a></td></tr>
<tr><td class="num">167</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/direct_state_access.txt">EXT_direct_state_access</a></td></tr>
<tr><td class="num">168</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/draw_buffers2.txt">EXT_draw_buffers2</a></td></tr>
<tr><td class="num">169</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_draw_instanced.txt">EXT_draw_instanced</a></td></tr>
<tr><td class="num">170</td><td>&nbsp;</td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/EXT/draw_range_elements.txt">EXT_draw_range_elements</a></td></tr>
<tr><td class="num">171</td><td>&nbsp;</td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/EXT/fog_coord.txt">EXT_fog_coord</a></td></tr>
<tr><td class="num">172</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt">EXT_fragment_lighting</a></td></tr>
<tr><td class="num">173</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/framebuffer_blit.txt">EXT_framebuffer_blit</a></td></tr>
<tr><td class="num">174</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/framebuffer_multisample.txt">EXT_framebuffer_multisample</a></td></tr>
<tr><td class="num">175</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt">EXT_framebuffer_object</a></td></tr>
<tr><td class="num">176</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt">EXT_framebuffer_sRGB</a></td></tr>
<tr><td class="num">177</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_geometry_shader4.txt">EXT_geometry_shader4</a></td></tr>
<tr><td class="num">178</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_gpu_program_parameters.txt">EXT_gpu_program_parameters</a></td></tr>
<tr><td class="num">179</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_gpu_shader4.txt">EXT_gpu_shader4</a></td></tr>
<tr><td class="num">180</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/histogram.txt">EXT_histogram</a></td></tr>
<tr><td class="num">181</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/index_array_formats.txt">EXT_index_array_formats</a></td></tr>
<tr><td class="num">182</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/index_func.txt">EXT_index_func</a></td></tr>
<tr><td class="num">183</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/index_material.txt">EXT_index_material</a></td></tr>
<tr><td class="num">184</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/index_texture.txt">EXT_index_texture</a></td></tr>
<tr><td class="num">185</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/light_texture.txt">EXT_light_texture</a></td></tr>
<tr><td class="num">186</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/misc_attribute.txt">EXT_misc_attribute</a></td></tr>
<tr><td class="num">187</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/multi_draw_arrays.txt">EXT_multi_draw_arrays</a></td></tr>
<tr><td class="num">188</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/wgl_multisample.txt">EXT_multisample</a></td></tr>
<tr><td class="num">189</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/packed_depth_stencil.txt">EXT_packed_depth_stencil</a></td></tr>
<tr><td class="num">190</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt">EXT_packed_float</a></td></tr>
<tr><td class="num">191</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/packed_pixels.txt">EXT_packed_pixels</a></td></tr>
<tr><td class="num">192</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/paletted_texture.txt">EXT_paletted_texture</a></td></tr>
<tr><td class="num">193</td><td>&nbsp;</td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_pixel_buffer_object.txt">EXT_pixel_buffer_object</a></td></tr>
<tr><td class="num">194</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/pixel_transform.txt">EXT_pixel_transform</a></td></tr>
<tr><td class="num">195</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/pixel_transform_color_table.txt">EXT_pixel_transform_color_table</a></td></tr>
<tr><td class="num">196</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/point_parameters.txt">EXT_point_parameters</a></td></tr>
<tr><td class="num">197</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/polygon_offset.txt">EXT_polygon_offset</a></td></tr>
<tr><td class="num">198</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/provoking_vertex.txt">EXT_provoking_vertex</a></td></tr>
<tr><td class="num">199</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/rescale_normal.txt">EXT_rescale_normal</a></td></tr>
<tr><td class="num">200</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/scene_marker.txt">EXT_scene_marker</a></td></tr>
<tr><td class="num">201</td><td>&nbsp;</td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/EXT/secondary_color.txt">EXT_secondary_color</a></td></tr>
<tr><td class="num">202</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/separate_shader_objects.txt">EXT_separate_shader_objects</a></td></tr>
<tr><td class="num">203</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/separate_specular_color.txt">EXT_separate_specular_color</a></td></tr>
<tr><td class="num">204</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/shader_image_load_store.txt">EXT_shader_image_load_store</a></td></tr>
<tr><td class="num">205</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/shadow_funcs.txt">EXT_shadow_funcs</a></td></tr>
<tr><td class="num">206</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/shared_texture_palette.txt">EXT_shared_texture_palette</a></td></tr>
<tr><td class="num">207</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/stencil_clear_tag.txt">EXT_stencil_clear_tag</a></td></tr>
<tr><td class="num">208</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/stencil_two_side.txt">EXT_stencil_two_side</a></td></tr>
<tr><td class="num">209</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/stencil_wrap.txt">EXT_stencil_wrap</a></td></tr>
<tr><td class="num">210</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/subtexture.txt">EXT_subtexture</a></td></tr>
<tr><td class="num">211</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture.txt">EXT_texture</a></td></tr>
<tr><td class="num">212</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture3D.txt">EXT_texture3D</a></td></tr>
<tr><td class="num">213</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_array.txt">EXT_texture_array</a></td></tr>
<tr><td class="num">214</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_buffer_object.txt">EXT_texture_buffer_object</a></td></tr>
<tr><td class="num">215</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_compression_dxt1.txt">EXT_texture_compression_dxt1</a></td></tr>
<tr><td class="num">216</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_compression_latc.txt">EXT_texture_compression_latc</a></td></tr>
<tr><td class="num">217</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_compression_rgtc.txt">EXT_texture_compression_rgtc</a></td></tr>
<tr><td class="num">218</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_compression_s3tc.txt">EXT_texture_compression_s3tc</a></td></tr>
<tr><td class="num">219</td><td>&nbsp;</td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_texture_cube_map.txt">EXT_texture_cube_map</a></td></tr>
<tr><td class="num">220</td><td>&nbsp;</td><td><a href="http://www.opengl.org/developers/documentation/Version1.2/1.2specs/texture_edge_clamp.txt">EXT_texture_edge_clamp</a></td></tr>
<tr><td class="num">221</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_env.txt">EXT_texture_env</a></td></tr>
<tr><td class="num">222</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_env_add.txt">EXT_texture_env_add</a></td></tr>
<tr><td class="num">223</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_env_combine.txt">EXT_texture_env_combine</a></td></tr>
<tr><td class="num">224</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_env_dot3.txt">EXT_texture_env_dot3</a></td></tr>
<tr><td class="num">225</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_filter_anisotropic.txt">EXT_texture_filter_anisotropic</a></td></tr>
<tr><td class="num">226</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_integer.txt">EXT_texture_integer</a></td></tr>
<tr><td class="num">227</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_lod_bias.txt">EXT_texture_lod_bias</a></td></tr>
<tr><td class="num">228</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_mirror_clamp.txt">EXT_texture_mirror_clamp</a></td></tr>
<tr><td class="num">229</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_object.txt">EXT_texture_object</a></td></tr>
<tr><td class="num">230</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_perturb_normal.txt">EXT_texture_perturb_normal</a></td></tr>
<tr><td class="num">231</td><td>&nbsp;</td><td><a href="http://developer.apple.com/opengl/extensions/ext_texture_rectangle.html">EXT_texture_rectangle</a></td></tr>
<tr><td class="num">232</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_sRGB.txt">EXT_texture_sRGB</a></td></tr>
<tr><td class="num">233</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_sRGB_decode.txt">EXT_texture_sRGB_decode</a></td></tr>
<tr><td class="num">234</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_shared_exponent.txt">EXT_texture_shared_exponent</a></td></tr>
<tr><td class="num">235</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_snorm.txt">EXT_texture_snorm</a></td></tr>
<tr><td class="num">236</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_swizzle.txt">EXT_texture_swizzle</a></td></tr>
<tr><td class="num">237</td><td>&nbsp;</td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_timer_query.txt">EXT_timer_query</a></td></tr>
<tr><td class="num">238</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/transform_feedback.txt">EXT_transform_feedback</a></td></tr>
<tr><td class="num">239</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/vertex_array.txt">EXT_vertex_array</a></td></tr>
<tr><td class="num">240</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/vertex_array_bgra.txt">EXT_vertex_array_bgra</a></td></tr>
<tr><td class="num">241</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt">EXT_vertex_attrib_64bit</a></td></tr>
<tr><td class="num">242</td><td>&nbsp;</td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/EXT/vertex_shader.txt">EXT_vertex_shader</a></td></tr>
<tr><td class="num">243</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/vertex_weighting.txt">EXT_vertex_weighting</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">244</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/GREMEDY/frame_terminator.txt">GREMEDY_frame_terminator</a></td></tr>
<tr><td class="num">245</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/GREMEDY/string_marker.txt">GREMEDY_string_marker</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">246</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/HP/convolution_border_modes.txt">HP_convolution_border_modes</a></td></tr>
<tr><td class="num">247</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/HP/image_transform.txt">HP_image_transform</a></td></tr>
<tr><td class="num">248</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/HP/occlusion_test.txt">HP_occlusion_test</a></td></tr>
<tr><td class="num">249</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/HP/texture_lighting.txt">HP_texture_lighting</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">250</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/IBM/cull_vertex.txt">IBM_cull_vertex</a></td></tr>
<tr><td class="num">251</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/IBM/multimode_draw_arrays.txt">IBM_multimode_draw_arrays</a></td></tr>
<tr><td class="num">252</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/IBM/rasterpos_clip.txt">IBM_rasterpos_clip</a></td></tr>
<tr><td class="num">253</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/IBM/static_data.txt">IBM_static_data</a></td></tr>
<tr><td class="num">254</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/IBM/texture_mirrored_repeat.txt">IBM_texture_mirrored_repeat</a></td></tr>
<tr><td class="num">255</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/IBM/vertex_array_lists.txt">IBM_vertex_array_lists</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">256</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/INGR/color_clamp.txt">INGR_color_clamp</a></td></tr>
<tr><td class="num">257</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/INGR/interlace_read.txt">INGR_interlace_read</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">258</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/INTEL/parallel_arrays.txt">INTEL_parallel_arrays</a></td></tr>
<tr><td class="num">259</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/INTEL/texture_scissor.txt">INTEL_texture_scissor</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">260</td><td>&nbsp;</td><td>KTX_buffer_region</td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">261</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/MESAX/texture_stack.txt">MESAX_texture_stack</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">262</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/MESA/pack_invert.txt">MESA_pack_invert</a></td></tr>
<tr><td class="num">263</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/MESA/resize_buffers.txt">MESA_resize_buffers</a></td></tr>
<tr><td class="num">264</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/MESA/window_pos.txt">MESA_window_pos</a></td></tr>
<tr><td class="num">265</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/MESA/ycbcr_texture.txt">MESA_ycbcr_texture</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">266</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NVX_gpu_memory_info.txt">NVX_gpu_memory_info</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">267</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/blend_square.txt">NV_blend_square</a></td></tr>
<tr><td class="num">268</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/conditional_render.txt">NV_conditional_render</a></td></tr>
<tr><td class="num">269</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/copy_depth_to_color.txt">NV_copy_depth_to_color</a></td></tr>
<tr><td class="num">270</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/copy_image.txt">NV_copy_image</a></td></tr>
<tr><td class="num">271</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_depth_buffer_float.txt">NV_depth_buffer_float</a></td></tr>
<tr><td class="num">272</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/depth_clamp.txt">NV_depth_clamp</a></td></tr>
<tr><td class="num">273</td><td>&nbsp;</td><td>NV_depth_range_unclamped</td></tr>
<tr><td class="num">274</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/evaluators.txt">NV_evaluators</a></td></tr>
<tr><td class="num">275</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/explicit_multisample.txt">NV_explicit_multisample</a></td></tr>
<tr><td class="num">276</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/fence.txt">NV_fence</a></td></tr>
<tr><td class="num">277</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/float_buffer.txt">NV_float_buffer</a></td></tr>
<tr><td class="num">278</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/fog_distance.txt">NV_fog_distance</a></td></tr>
<tr><td class="num">279</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/fragment_program.txt">NV_fragment_program</a></td></tr>
<tr><td class="num">280</td><td>&nbsp;</td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_fragment_program2.txt">NV_fragment_program2</a></td></tr>
<tr><td class="num">281</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_fragment_program4.txt">NV_fragment_program4</a></td></tr>
<tr><td class="num">282</td><td>&nbsp;</td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_fragment_program_option.txt">NV_fragment_program_option</a></td></tr>
<tr><td class="num">283</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_framebuffer_multisample_coverage.txt">NV_framebuffer_multisample_coverage</a></td></tr>
<tr><td class="num">284</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_geometry_program4.txt">NV_geometry_program4</a></td></tr>
<tr><td class="num">285</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_geometry_shader4.txt">NV_geometry_shader4</a></td></tr>
<tr><td class="num">286</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_gpu_program4.txt">NV_gpu_program4</a></td></tr>
<tr><td class="num">287</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/gpu_program5.txt">NV_gpu_program5</a></td></tr>
<tr><td class="num">288</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/gpu_program5.txt">NV_gpu_program_fp64</a></td></tr>
<tr><td class="num">289</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/gpu_shader5.txt">NV_gpu_shader5</a></td></tr>
<tr><td class="num">290</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/half_float.txt">NV_half_float</a></td></tr>
<tr><td class="num">291</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/light_max_exponent.txt">NV_light_max_exponent</a></td></tr>
<tr><td class="num">292</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/multisample_coverage.txt">NV_multisample_coverage</a></td></tr>
<tr><td class="num">293</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/multisample_filter_hint.txt">NV_multisample_filter_hint</a></td></tr>
<tr><td class="num">294</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/occlusion_query.txt">NV_occlusion_query</a></td></tr>
<tr><td class="num">295</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/packed_depth_stencil.txt">NV_packed_depth_stencil</a></td></tr>
<tr><td class="num">296</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_parameter_buffer_object.txt">NV_parameter_buffer_object</a></td></tr>
<tr><td class="num">297</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/parameter_buffer_object2.txt">NV_parameter_buffer_object2</a></td></tr>
<tr><td class="num">298</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/pixel_data_range.txt">NV_pixel_data_range</a></td></tr>
<tr><td class="num">299</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/point_sprite.txt">NV_point_sprite</a></td></tr>
<tr><td class="num">300</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/present_video.txt">NV_present_video</a></td></tr>
<tr><td class="num">301</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/primitive_restart.txt">NV_primitive_restart</a></td></tr>
<tr><td class="num">302</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/register_combiners.txt">NV_register_combiners</a></td></tr>
<tr><td class="num">303</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/register_combiners2.txt">NV_register_combiners2</a></td></tr>
<tr><td class="num">304</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt">NV_shader_buffer_load</a></td></tr>
<tr><td class="num">305</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/tessellation_program5.txt">NV_tessellation_program5</a></td></tr>
<tr><td class="num">306</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/texgen_emboss.txt">NV_texgen_emboss</a></td></tr>
<tr><td class="num">307</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/texgen_reflection.txt">NV_texgen_reflection</a></td></tr>
<tr><td class="num">308</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/texture_barrier.txt">NV_texture_barrier</a></td></tr>
<tr><td class="num">309</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/texture_compression_vtc.txt">NV_texture_compression_vtc</a></td></tr>
<tr><td class="num">310</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/texture_env_combine4.txt">NV_texture_env_combine4</a></td></tr>
<tr><td class="num">311</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/texture_expand_normal.txt">NV_texture_expand_normal</a></td></tr>
<tr><td class="num">312</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/texture_rectangle.txt">NV_texture_rectangle</a></td></tr>
<tr><td class="num">313</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/texture_shader.txt">NV_texture_shader</a></td></tr>
<tr><td class="num">314</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/texture_shader2.txt">NV_texture_shader2</a></td></tr>
<tr><td class="num">315</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/texture_shader3.txt">NV_texture_shader3</a></td></tr>
<tr><td class="num">316</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_transform_feedback.txt">NV_transform_feedback</a></td></tr>
<tr><td class="num">317</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/transform_feedback2.txt">NV_transform_feedback2</a></td></tr>
<tr><td class="num">318</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/vdpau_interop.txt">NV_vdpau_interop</a></td></tr>
<tr><td class="num">319</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_array_range.txt">NV_vertex_array_range</a></td></tr>
<tr><td class="num">320</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_array_range2.txt">NV_vertex_array_range2</a></td></tr>
<tr><td class="num">321</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt">NV_vertex_attrib_integer_64bit</a></td></tr>
<tr><td class="num">322</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt">NV_vertex_buffer_unified_memory</a></td></tr>
<tr><td class="num">323</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_program.txt">NV_vertex_program</a></td></tr>
<tr><td class="num">324</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_program1_1.txt">NV_vertex_program1_1</a></td></tr>
<tr><td class="num">325</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/vertex_program2.txt">NV_vertex_program2</a></td></tr>
<tr><td class="num">326</td><td>&nbsp;</td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_vertex_program2_option.txt">NV_vertex_program2_option</a></td></tr>
<tr><td class="num">327</td><td>&nbsp;</td><td><a href="http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_vertex_program3.txt">NV_vertex_program3</a></td></tr>
<tr><td class="num">328</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_NV_vertex_program4.txt">NV_vertex_program4</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">329</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/OES/OES_byte_coordinates.txt">OES_byte_coordinates</a></td></tr>
<tr><td class="num">330</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/OES/OES_compressed_paletted_texture.txt">OES_compressed_paletted_texture</a></td></tr>
<tr><td class="num">331</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/OES/OES_read_format.txt">OES_read_format</a></td></tr>
<tr><td class="num">332</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/OES/OES_single_precision.txt">OES_single_precision</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">333</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/OML/interlace.txt">OML_interlace</a></td></tr>
<tr><td class="num">334</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/OML/resample.txt">OML_resample</a></td></tr>
<tr><td class="num">335</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/OML/subsample.txt">OML_subsample</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">336</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/PGI/misc_hints.txt">PGI_misc_hints</a></td></tr>
<tr><td class="num">337</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/PGI/vertex_hints.txt">PGI_vertex_hints</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">338</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/REND/screen_coordinates.txt">REND_screen_coordinates</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">339</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/S3/s3tc.txt">S3_s3tc</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">340</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/color_range.txt">SGIS_color_range</a></td></tr>
<tr><td class="num">341</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/detail_texture.txt">SGIS_detail_texture</a></td></tr>
<tr><td class="num">342</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/fog_func.txt">SGIS_fog_function</a></td></tr>
<tr><td class="num">343</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/generate_mipmap.txt">SGIS_generate_mipmap</a></td></tr>
<tr><td class="num">344</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/multisample.txt">SGIS_multisample</a></td></tr>
<tr><td class="num">345</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/pixel_texture.txt">SGIS_pixel_texture</a></td></tr>
<tr><td class="num">346</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/point_line_texgen.txt">SGIS_point_line_texgen</a></td></tr>
<tr><td class="num">347</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/sharpen_texture.txt">SGIS_sharpen_texture</a></td></tr>
<tr><td class="num">348</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture4D.txt">SGIS_texture4D</a></td></tr>
<tr><td class="num">349</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture_border_clamp.txt">SGIS_texture_border_clamp</a></td></tr>
<tr><td class="num">350</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture_edge_clamp.txt">SGIS_texture_edge_clamp</a></td></tr>
<tr><td class="num">351</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture_filter4.txt">SGIS_texture_filter4</a></td></tr>
<tr><td class="num">352</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture_lod.txt">SGIS_texture_lod</a></td></tr>
<tr><td class="num">353</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/texture_select.txt">SGIS_texture_select</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">354</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/async.txt">SGIX_async</a></td></tr>
<tr><td class="num">355</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/async_histogram.txt">SGIX_async_histogram</a></td></tr>
<tr><td class="num">356</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/async_pixel.txt">SGIX_async_pixel</a></td></tr>
<tr><td class="num">357</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/blend_alpha_minmax.txt">SGIX_blend_alpha_minmax</a></td></tr>
<tr><td class="num">358</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/clipmap.txt">SGIX_clipmap</a></td></tr>
<tr><td class="num">359</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/convolution_accuracy.txt">SGIX_convolution_accuracy</a></td></tr>
<tr><td class="num">360</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/depth_texture.txt">SGIX_depth_texture</a></td></tr>
<tr><td class="num">361</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/flush_raster.txt">SGIX_flush_raster</a></td></tr>
<tr><td class="num">362</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/fog_offset.txt">SGIX_fog_offset</a></td></tr>
<tr><td class="num">363</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/fog_texture.txt">SGIX_fog_texture</a></td></tr>
<tr><td class="num">364</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt">SGIX_fragment_specular_lighting</a></td></tr>
<tr><td class="num">365</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/framezoom.txt">SGIX_framezoom</a></td></tr>
<tr><td class="num">366</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/interlace.txt">SGIX_interlace</a></td></tr>
<tr><td class="num">367</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/ir_instrument1.txt">SGIX_ir_instrument1</a></td></tr>
<tr><td class="num">368</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/list_priority.txt">SGIX_list_priority</a></td></tr>
<tr><td class="num">369</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/sgix_pixel_texture.txt">SGIX_pixel_texture</a></td></tr>
<tr><td class="num">370</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/pixel_texture_bits.txt">SGIX_pixel_texture_bits</a></td></tr>
<tr><td class="num">371</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/reference_plane.txt">SGIX_reference_plane</a></td></tr>
<tr><td class="num">372</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/resample.txt">SGIX_resample</a></td></tr>
<tr><td class="num">373</td><td>&nbsp;</td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/SGIX/shadow.txt">SGIX_shadow</a></td></tr>
<tr><td class="num">374</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/shadow_ambient.txt">SGIX_shadow_ambient</a></td></tr>
<tr><td class="num">375</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/sprite.txt">SGIX_sprite</a></td></tr>
<tr><td class="num">376</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/tag_sample_buffer.txt">SGIX_tag_sample_buffer</a></td></tr>
<tr><td class="num">377</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_env_add.txt">SGIX_texture_add_env</a></td></tr>
<tr><td class="num">378</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_coordinate_clamp.txt">SGIX_texture_coordinate_clamp</a></td></tr>
<tr><td class="num">379</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_lod_bias.txt">SGIX_texture_lod_bias</a></td></tr>
<tr><td class="num">380</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_multi_buffer.txt">SGIX_texture_multi_buffer</a></td></tr>
<tr><td class="num">381</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_range.txt">SGIX_texture_range</a></td></tr>
<tr><td class="num">382</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/texture_scale_bias.txt">SGIX_texture_scale_bias</a></td></tr>
<tr><td class="num">383</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/vertex_preclip.txt">SGIX_vertex_preclip</a></td></tr>
<tr><td class="num">384</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/vertex_preclip.txt">SGIX_vertex_preclip_hint</a></td></tr>
<tr><td class="num">385</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/ycrcb.txt">SGIX_ycrcb</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">386</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGI/color_matrix.txt">SGI_color_matrix</a></td></tr>
<tr><td class="num">387</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGI/color_table.txt">SGI_color_table</a></td></tr>
<tr><td class="num">388</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGI/texture_color_table.txt">SGI_texture_color_table</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">389</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SUNX/constant_data.txt">SUNX_constant_data</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">390</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SUN/convolution_border_modes.txt">SUN_convolution_border_modes</a></td></tr>
<tr><td class="num">391</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SUN/global_alpha.txt">SUN_global_alpha</a></td></tr>
<tr><td class="num">392</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SUN/mesh_array.txt">SUN_mesh_array</a></td></tr>
<tr><td class="num">393</td><td>&nbsp;</td><td><a href="http://wwws.sun.com/software/graphics/opengl/extensions/gl_sun_read_video_pixels.txt">SUN_read_video_pixels</a></td></tr>
<tr><td class="num">394</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SUN/slice_accum.txt">SUN_slice_accum</a></td></tr>
<tr><td class="num">395</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SUN/triangle_list.txt">SUN_triangle_list</a></td></tr>
<tr><td class="num">396</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SUN/vertex.txt">SUN_vertex</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">397</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/WIN/phong_shading.txt">WIN_phong_shading</a></td></tr>
<tr><td class="num">398</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/WIN/specular_fog.txt">WIN_specular_fog</a></td></tr>
<tr><td class="num">399</td><td>&nbsp;</td><td><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/opengl/glfunc01_16zy.asp">WIN_swap_hint</a></td></tr>
</table>
<!-- begin footer.html -->
</td></tr></table></body>
<!-- end footer.html -->
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

+28
View File
@@ -0,0 +1,28 @@
The OpenGL Extension Wrangler Library
Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
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.
+171
View File
@@ -0,0 +1,171 @@
<!-- begin header.html -->
<!--
The OpenGL Extension Wrangler Library
Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
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.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html/4/loose.dtd">
<!-- &nbsp;<img src="new.png" height="12" alt="NEW!"> -->
<html>
<head>
<title>GLEW: The OpenGL Extension Wrangler Library</title>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<link href="glew.css" type="text/css" rel="stylesheet">
</head>
<body bgcolor="#fff0d0">
<table border="0" width="100%" cellpadding="12" cellspacing="8" style="height:100%">
<tr>
<td bgcolor="#ffffff" align="left" valign="top" width="200">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr>
<td valign="top">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr><td align="center"><i>Latest Release: <a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/">1.5.8</a></i></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center"><img src="./glew.png" alt="GLEW Logo" width="97" height="75"></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center">
<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td align="center"><a href="index.html">Download</a></td></tr>
<tr><td align="center"><a href="install.html">Installation</a></td></tr>
<tr><td align="center"><a href="basic.html">Basic Usage</a></td></tr>
<tr><td align="center"><a href="advanced.html">Advanced Usage</a></td></tr>
<tr><td align="center"><a href="credits.html">Credits & Copyright</a></td></tr>
<tr><td align="center"><a href="log.html">Change Log</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/projects/glew/">Project Page</a></td></tr>
<tr><td align="center"><a href="https://sourceforge.net/mail/?group_id=67586">Mailing Lists</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/tracker/?group_id=67586">Bug Tracker</a></td></tr>
</table>
<tr><td align="center"><br></tr>
</table>
</td>
</tr>
<tr>
<td valign="bottom">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="left">
<tr><td align="center"><i>Last Update: 01-31-11</i></td></tr>
<tr><td align="center">
<a href="http://www.opengl.org"> <img src="./ogl_sm.jpg" width="68"
height="35" border="0" alt="OpenGL Logo"></a>
<a href="http://sourceforge.net"> <img
src="http://sourceforge.net/sflogo.php?group_id=67586&amp;type=1"
width="88" height="31" border="0" alt="SourceForge Logo"></a>
</td>
</tr>
<!--- <tr><td align="center"><a
href="http://sourceforge.net/donate/index.php?group_id=67586"><img
src="http://images.sourceforge.net/images/project-support.jpg"
width="88" height="32" border="0" alt="Support This Project"></a></td></tr> -->
</table>
</td>
</tr>
</table>
</td>
<td bgcolor="#ffffff" align="left" valign="top">
<h1>The OpenGL Extension Wrangler Library</h1>
<!-- end header.html -->
<h2>Supported GLX Extensions</h2>
<table border="0" width="100%" cellpadding="1" cellspacing="0" align="center">
<tr><td class="num">1</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/3DFX/3dfx_multisample.txt">3DFX_multisample</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">2</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt">AMD_gpu_association</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">3</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/glx_create_context.txt">ARB_create_context</a></td></tr>
<tr><td class="num">4</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/glx_create_context.txt">ARB_create_context_profile</a></td></tr>
<tr><td class="num">5</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/glx_create_context_robustness.txt">ARB_create_context_robustness</a></td></tr>
<tr><td class="num">6</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/color_buffer_float.txt">ARB_fbconfig_float</a></td></tr>
<tr><td class="num">7</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt">ARB_framebuffer_sRGB</a></td></tr>
<tr><td class="num">8</td><td>&nbsp;</td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/ARB/get_proc_address.txt">ARB_get_proc_address</a></td></tr>
<tr><td class="num">9</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/multisample.txt">ARB_multisample</a></td></tr>
<tr><td class="num">10</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt">ARB_vertex_buffer_object</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">11</td><td>&nbsp;</td><td>ATI_pixel_format_float</td></tr>
<tr><td class="num">12</td><td>&nbsp;</td><td>ATI_render_texture</td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">13</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/glx_create_context_es2_profile.txt">EXT_create_context_es2_profile</a></td></tr>
<tr><td class="num">14</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt">EXT_fbconfig_packed_float</a></td></tr>
<tr><td class="num">15</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt">EXT_framebuffer_sRGB</a></td></tr>
<tr><td class="num">16</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/import_context.txt">EXT_import_context</a></td></tr>
<tr><td class="num">17</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/scene_marker.txt">EXT_scene_marker</a></td></tr>
<tr><td class="num">18</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/swap_control.txt">EXT_swap_control</a></td></tr>
<tr><td class="num">19</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/texture_from_pixmap.txt">EXT_texture_from_pixmap</a></td></tr>
<tr><td class="num">20</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/visual_info.txt">EXT_visual_info</a></td></tr>
<tr><td class="num">21</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/visual_rating.txt">EXT_visual_rating</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">22</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/INTEL/swap_event.txt">INTEL_swap_event</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">23</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/MESA/agp_offset.txt">MESA_agp_offset</a></td></tr>
<tr><td class="num">24</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/MESA/copy_sub_buffer.txt">MESA_copy_sub_buffer</a></td></tr>
<tr><td class="num">25</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/MESA/pixmap_colormap.txt">MESA_pixmap_colormap</a></td></tr>
<tr><td class="num">26</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/MESA/release_buffers.txt">MESA_release_buffers</a></td></tr>
<tr><td class="num">27</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/MESA/set_3dfx_mode.txt">MESA_set_3dfx_mode</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">28</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/copy_image.txt">NV_copy_image</a></td></tr>
<tr><td class="num">29</td><td>&nbsp;</td><td><a href="http://cvs1.nvidia.com/inc/GL/glxtokens.h">NV_float_buffer</a></td></tr>
<tr><td class="num">30</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/multisample_coverage.txt">NV_multisample_coverage</a></td></tr>
<tr><td class="num">31</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/present_video.txt">NV_present_video</a></td></tr>
<tr><td class="num">32</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/glx_swap_group.txt">NV_swap_group</a></td></tr>
<tr><td class="num">33</td><td>&nbsp;</td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_array_range.txt">NV_vertex_array_range</a></td></tr>
<tr><td class="num">34</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/glx_video_out.txt">NV_video_output</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">35</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/OML/glx_swap_method.txt">OML_swap_method</a></td></tr>
<tr><td class="num">36</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/OML/glx_sync_control.txt">OML_sync_control</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">37</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/blended_overlay.txt">SGIS_blended_overlay</a></td></tr>
<tr><td class="num">38</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/color_range.txt">SGIS_color_range</a></td></tr>
<tr><td class="num">39</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIS/multisample.txt">SGIS_multisample</a></td></tr>
<tr><td class="num">40</td><td>&nbsp;</td><td>SGIS_shared_multisample</td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">41</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/fbconfig.txt">SGIX_fbconfig</a></td></tr>
<tr><td class="num">42</td><td>&nbsp;</td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/SGIX/hyperpipe_group.txt">SGIX_hyperpipe</a></td></tr>
<tr><td class="num">43</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/pbuffer.txt">SGIX_pbuffer</a></td></tr>
<tr><td class="num">44</td><td>&nbsp;</td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/SGIX/swap_barrier.txt">SGIX_swap_barrier</a></td></tr>
<tr><td class="num">45</td><td>&nbsp;</td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/SGIX/swap_group.txt">SGIX_swap_group</a></td></tr>
<tr><td class="num">46</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/video_resize.txt">SGIX_video_resize</a></td></tr>
<tr><td class="num">47</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGIX/visual_select_group.txt">SGIX_visual_select_group</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">48</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGI/cushion.txt">SGI_cushion</a></td></tr>
<tr><td class="num">49</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGI/make_current_read.txt">SGI_make_current_read</a></td></tr>
<tr><td class="num">50</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGI/swap_control.txt">SGI_swap_control</a></td></tr>
<tr><td class="num">51</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SGI/video_sync.txt">SGI_video_sync</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">52</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/SUN/get_transparent_index.txt">SUN_get_transparent_index</a></td></tr>
<tr><td class="num">53</td><td>&nbsp;</td><td><a href="http://wwws.sun.com/software/graphics/opengl/extensions/glx_sun_video_resize.txt">SUN_video_resize</a></td></tr>
</table>
<!-- begin footer.html -->
</td></tr></table></body>
<!-- end footer.html -->
+340
View File
@@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
+204
View File
@@ -0,0 +1,204 @@
<!-- begin header.html -->
<!--
The OpenGL Extension Wrangler Library
Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
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.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html/4/loose.dtd">
<!-- &nbsp;<img src="new.png" height="12" alt="NEW!"> -->
<html>
<head>
<title>GLEW: The OpenGL Extension Wrangler Library</title>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<link href="glew.css" type="text/css" rel="stylesheet">
</head>
<body bgcolor="#fff0d0">
<table border="0" width="100%" cellpadding="12" cellspacing="8" style="height:100%">
<tr>
<td bgcolor="#ffffff" align="left" valign="top" width="200">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr>
<td valign="top">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr><td align="center"><i>Latest Release: <a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/">1.5.8</a></i></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center"><img src="./glew.png" alt="GLEW Logo" width="97" height="75"></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center">
<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td align="center">Download</td></tr>
<tr><td align="center"><a href="install.html">Installation</a></td></tr>
<tr><td align="center"><a href="basic.html">Basic Usage</a></td></tr>
<tr><td align="center"><a href="advanced.html">Advanced Usage</a></td></tr>
<tr><td align="center"><a href="credits.html">Credits & Copyright</a></td></tr>
<tr><td align="center"><a href="log.html">Change Log</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/projects/glew/">Project Page</a></td></tr>
<tr><td align="center"><a href="https://sourceforge.net/mail/?group_id=67586">Mailing Lists</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/tracker/?group_id=67586">Bug Tracker</a></td></tr>
</table>
<tr><td align="center"><br></tr>
</table>
</td>
</tr>
<tr>
<td valign="bottom">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="left">
<tr><td align="center"><i>Last Update: 01-31-11</i></td></tr>
<tr><td align="center">
<a href="http://www.opengl.org"> <img src="./ogl_sm.jpg" width="68"
height="35" border="0" alt="OpenGL Logo"></a>
<a href="http://sourceforge.net"> <img
src="http://sourceforge.net/sflogo.php?group_id=67586&amp;type=1"
width="88" height="31" border="0" alt="SourceForge Logo"></a>
</td>
</tr>
<!--- <tr><td align="center"><a
href="http://sourceforge.net/donate/index.php?group_id=67586"><img
src="http://images.sourceforge.net/images/project-support.jpg"
width="88" height="32" border="0" alt="Support This Project"></a></td></tr> -->
</table>
</td>
</tr>
</table>
</td>
<td bgcolor="#ffffff" align="left" valign="top">
<h1>The OpenGL Extension Wrangler Library</h1>
<!-- end header.html -->
<p>
The OpenGL Extension Wrangler Library (GLEW) is a cross-platform
open-source C/C++ extension loading library. GLEW provides efficient
run-time mechanisms for determining which OpenGL extensions are
supported on the target platform. OpenGL core and extension
functionality is exposed in a single header file. GLEW has been
tested on a variety of operating systems, including Windows, Linux,
Mac OS X, FreeBSD, Irix, and Solaris.
</p>
<h2>Download Center</h2>
<p>
<a href="http://sourceforge.net/projects/glew/">GLEW</a> is distributed
as source and precompiled binaries. The latest release is
<a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/">1.5.8</a>
[01-31-11]:
</p>
<p>
</p>
<p>
<table border="1" cellpadding="5" cellspacing="0" bgcolor="#f0f0f0" align="center">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="0">
<tr>
<td></td>
<td align="right"><b>Source</b></td>
<td></td>
<td align="left">
<a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/glew-1.5.8.zip/download">ZIP</a>&nbsp;|&nbsp;
<a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/glew-1.5.8.tgz/download">TGZ</a></td>
<td></td>
</tr>
<tr>
<td></td>
<td align="right"><b>Binaries</b></td>
<td></td>
<td align="left">
<a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/glew-1.5.8-win32.zip/download">Windows 32-bit</a>&nbsp;|&nbsp;
<a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/glew-1.5.8-win64.zip/download">64-bit</a>&nbsp;
</td>
<td></td>
</tr>
</table>
</tr>
</table>
<p></p>
<p>
An up-to-date copy is also available from the <a href="http://glew.git.sourceforge.net/git/gitweb.cgi?p=glew/glew;a=summary">project repository</a>:
</p>
<p>
<tt>git clone git://glew.git.sourceforge.net/gitroot/glew/glew</tt>
</p>
<h2>Supported Extensions</h2>
<p>
The latest release contains support for OpenGL 3.3, OpenGL 4.1 and the following extensions:
</p>
<ul>
<li><a href="glew.html">OpenGL extensions</a>
<li><a href="wglew.html">WGL extensions</a>
<li><a href="glxew.html">GLX extensions</a>
</ul>
<h2>News</h2>
<ul>
<li>[01-31-11] <a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/">GLEW 1.5.8</a> fixes minor bugs and adds two new extensions</li>
<li>[11-03-10] <a href="https://sourceforge.net/projects/glew/files/glew/1.5.7/">GLEW 1.5.7</a> fixes minor bugs and adds one new extension</li>
<li>[09-07-10] <a href="https://sourceforge.net/projects/glew/files/glew/1.5.6/">GLEW 1.5.6</a> adds suport for OpenGL 4.1, fixes bugs</li>
<li>[07-13-10] <a href="https://sourceforge.net/projects/glew/files/glew/1.5.5/">GLEW 1.5.5</a> fixes minor bugs and adds new extensions</li>
<li>[04-21-10] <a href="https://sourceforge.net/projects/glew/files/glew/1.5.4/">GLEW 1.5.4</a> adds support for OpenGL 3.3, OpenGL 4.0 and new extensions, fixes bugs</li>
<li>[02-28-10] <a href="https://sourceforge.net/projects/glew/files/glew/1.5.3/">GLEW 1.5.3</a> fixes minor bugs and adds three new extensions</li>
<li>[12-31-09] <a href="https://sourceforge.net/projects/glew/files/glew/1.5.2/">GLEW 1.5.2</a> adds support for OpenGL 3.1, OpenGL 3.2 and new extensions</li>
<li>[11-03-08] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=637800">GLEW 1.5.1</a> adds support for OpenGL 3.0 and 31 new extensions</li>
<li>[12-27-07] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=564464">GLEW 1.5.0</a> is released under less restrictive licenses</li>
<li>[04-27-07] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=504079">GLEW 1.4.0</a> is released</li>
<li>[03-08-07] GLEW is included in the <a href="http://developer.nvidia.com/object/sdk_home.html">NVIDIA OpenGL SDK</a></li>
<li>[03-04-07] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=491113">GLEW 1.3.6</a> is released</li>
<li>[02-28-07] <a href="http://glew.svn.sourceforge.net/svnroot/glew/trunk/glew/">Repository</a> is migrated to SVN</li>
<li>[02-25-07] GLEW is included in the <a href="http://www.opengl.org/sdk/">OpenGL SDK</a></li>
<li>[11-21-06] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=465334">GLEW 1.3.5</a> adds OpenGL 2.1 and NVIDIA G80 extensions</li>
<li>[03-04-06] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=398455">GLEW 1.3.4</a> adds support for five new extensions</li>
<li>[05-16-05] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=327647">GLEW 1.3.3</a> is released</li>
<li>[03-16-05] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=313345">GLEW 1.3.2</a> adds support for GL_APPLE_pixel_buffer</li>
<li>[02-11-05] <a href="http://gljava.sourceforge.net/">gljava</a> and <a href="http://sdljava.sourceforge.net/">sdljava</a> provide a Java binding to OpenGL via GLEW</li>
<li>[02-02-05] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=302049">GLEW 1.3.1</a> adds support for <a href="http://www.opengl.org/documentation/extensions/EXT_framebuffer_object.txt">GL_EXT_framebuffer_object</a></li>
<li>[01-04-05] <a href="https://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=294527">GLEW 1.3.0</a> adds core OpenGL 2.0 support plus many enhancements</li>
<li>[12-22-04] <a href="http://glewpy.sf.net/">GLEWpy</a> Python wrapper announced</li>
<li>[12-12-04] <a href="https://sourceforge.net/mail/?group_id=67586">Mailing lists</a> created on sourceforge</li>
<li>[12-06-04] <a href="http://sourceforge.net/project/showfiles.php?group_id=67586&amp;package_id=67942&amp;release_id=287948">GLEW 1.2.5</a> adds new extensions and support for FreeBSD</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="http://www.opengl.org/sdk/">OpenGL Software Development Kit</a></li>
<li><a href="http://www.opengl.org/resources/features/OGLextensions/">All About OpenGL Extensions</a></li>
<li><a href="http://www.opengl.org/registry/">OpenGL Extension Registry</a></li>
<li><a href="http://ati.amd.com/developer/sdk/radeonSDK/html/info/Prog3D.html">ATI OpenGL Extension Specifications</a></li>
<li><a href="http://developer.apple.com/graphicsimaging/opengl/extensions.html">APPLE OpenGL Extensions Guide</a></li>
<li><a href="http://developer.nvidia.com/object/nvidia_opengl_specs.html">NVIDIA OpenGL Extension Specifications</a></li>
</ul>
<!-- begin footer.html -->
</td></tr></table></body>
<!-- end footer.html -->
+228
View File
@@ -0,0 +1,228 @@
<!-- begin header.html -->
<!--
The OpenGL Extension Wrangler Library
Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
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.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html/4/loose.dtd">
<!-- &nbsp;<img src="new.png" height="12" alt="NEW!"> -->
<html>
<head>
<title>GLEW: The OpenGL Extension Wrangler Library</title>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<link href="glew.css" type="text/css" rel="stylesheet">
</head>
<body bgcolor="#fff0d0">
<table border="0" width="100%" cellpadding="12" cellspacing="8" style="height:100%">
<tr>
<td bgcolor="#ffffff" align="left" valign="top" width="200">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr>
<td valign="top">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr><td align="center"><i>Latest Release: <a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/">1.5.8</a></i></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center"><img src="./glew.png" alt="GLEW Logo" width="97" height="75"></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center">
<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td align="center"><a href="index.html">Download</a></td></tr>
<tr><td align="center">Installation</td></tr>
<tr><td align="center"><a href="basic.html">Basic Usage</a></td></tr>
<tr><td align="center"><a href="advanced.html">Advanced Usage</a></td></tr>
<tr><td align="center"><a href="credits.html">Credits & Copyright</a></td></tr>
<tr><td align="center"><a href="log.html">Change Log</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/projects/glew/">Project Page</a></td></tr>
<tr><td align="center"><a href="https://sourceforge.net/mail/?group_id=67586">Mailing Lists</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/tracker/?group_id=67586">Bug Tracker</a></td></tr>
</table>
<tr><td align="center"><br></tr>
</table>
</td>
</tr>
<tr>
<td valign="bottom">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="left">
<tr><td align="center"><i>Last Update: 01-31-11</i></td></tr>
<tr><td align="center">
<a href="http://www.opengl.org"> <img src="./ogl_sm.jpg" width="68"
height="35" border="0" alt="OpenGL Logo"></a>
<a href="http://sourceforge.net"> <img
src="http://sourceforge.net/sflogo.php?group_id=67586&amp;type=1"
width="88" height="31" border="0" alt="SourceForge Logo"></a>
</td>
</tr>
<!--- <tr><td align="center"><a
href="http://sourceforge.net/donate/index.php?group_id=67586"><img
src="http://images.sourceforge.net/images/project-support.jpg"
width="88" height="32" border="0" alt="Support This Project"></a></td></tr> -->
</table>
</td>
</tr>
</table>
</td>
<td bgcolor="#ffffff" align="left" valign="top">
<h1>The OpenGL Extension Wrangler Library</h1>
<!-- end header.html -->
<h2>Installation</h2>
<p>
To use the shared library version of GLEW, you need to copy the
headers and libraries into their destination directories. On Windows
this typically boils down to copying:
</p>
<table border="0" cellpadding="0" cellspacing="0" align="center"> <!-- bgcolor="#f0f0f0" -->
<tr><td align="left"><tt>bin/glew32.dll</tt></td><td>&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align="left"><tt>%SystemRoot%/system32</tt></td></tr>
<tr><td align="left"><tt>lib/glew32.lib</tt></td><td>&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align="left"><tt>{VC Root}/Lib</tt></td></tr>
<tr><td align="left"><tt>include/GL/glew.h</tt></td><td>&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align="left"><tt>{VC Root}/Include/GL</tt></td></tr>
<tr><td align="left"><tt>include/GL/wglew.h</tt></td><td>&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td align="left"><tt>{VC Root}/Include/GL</tt></td></tr>
</table>
<p>
</p>
<p>
where <tt>{VC Root}</tt> is the Visual C++ root directory, typically
<tt>C:/Program Files/Microsoft Visual Studio/VC98</tt> for Visual
Studio 6.0 or <tt>C:/Program Files/Microsoft Visual
Studio .NET 2003/Vc7/PlatformSDK</tt> for Visual Studio .NET.
</p>
<p>
On Unix, typing <tt>make install</tt> will attempt to install GLEW
into <tt>/usr/include/GL</tt> and <tt>/usr/lib</tt>. You can
customize the installation target via the <tt>GLEW_DEST</tt>
environment variable if you do not have write access to these
directories.
</p>
<h2>Building Your Project with GLEW</h2>
<p>
There are two ways to build your project with GLEW.
</p>
<h3>Including the source files / project file</h3>
<p>
The simpler but less flexible way is to include <tt>glew.h</tt> and
<tt>glew.c</tt> into your project. On Windows, you also need to
define the <tt>GLEW_STATIC</tt> preprocessor token when building a
static library or executable, and the <tt>GLEW_BUILD</tt> preprocessor
token when building a dll. You also need to replace
<tt>&lt;GL/gl.h&gt;</tt> and <tt>&lt;GL/glu.h&gt;</tt> with
<tt>&lt;glew.h&gt;</tt> in your code and set the appropriate include
flag (<tt>-I</tt>) to tell the compiler where to look for it. For
example:
</p>
<p class="pre">
#include &lt;glew.h&gt;<br>
#include &lt;GL/glut.h&gt;<br>
&lt;gl, glu, and glut functionality is available here&gt;<br>
</p>
<p>
Depending on where you put <tt>glew.h</tt> you may also need to change
the include directives in <tt>glew.c</tt>. Note that if you are using
GLEW together with GLUT, you have to include <tt>glew.h</tt> first.
In addition, <tt>glew.h</tt> includes <tt>glu.h</tt>, so you do not
need to include it separately.
</p>
<p>
On Windows, you also have the option of adding the supplied project
file <tt>glew_static.dsp</tt> to your workspace (solution) and compile
it together with your other projects. In this case you also need to
change the <tt>GLEW_BUILD</tt> preprocessor constant to
<tt>GLEW_STATIC</tt> when building a static library or executable,
otherwise you get build errors.
</p>
<p>
<b>Note that GLEW does not use the C
runtime library, so it does not matter which version (single-threaded,
multi-threaded or multi-threaded DLL) it is linked with (without
debugging information). It is, however, always a good idea to compile all
your projects including GLEW with the same C runtime settings.</b>
</p>
<h3>Using GLEW as a shared library</h3>
<p>
Alternatively, you can use the provided project files / makefile to
build a separate shared library you can link your projects with later.
In this case the best practice is to install <tt>glew.h</tt>,
<tt>glew32.lib</tt>, and <tt>glew32.dll</tt> / <tt>libGLEW.so</tt> to
where the OpenGL equivalents <tt>gl.h</tt>, <tt>opengl32.lib</tt>, and
<tt>opengl32.dll</tt> / <tt>libGL.so</tt> are located. Note that you
need administrative privileges to do this. If you do not have
administrator access and your system administrator will not do it for
you, you can install GLEW into your own lib and include subdirectories
and tell the compiler where to find it. Then you can just replace
<tt>&lt;GL/gl.h&gt;</tt> with <tt>&lt;GL/glew.h&gt;</tt> in your
program:
</p>
<p class="pre">
#include &lt;GL/glew.h&gt;<br>
#include &lt;GL/glut.h&gt;<br>
&lt;gl, glu, and glut functionality is available here&gt;<br>
</p>
<p>
or:
</p>
<p class="pre">
#include &lt;GL/glew.h&gt;<br>
&lt;gl and glu functionality is available here&gt;<br>
</p>
<p>
Remember to link your project with <tt>glew32.lib</tt>,
<tt>glu32.lib</tt>, and <tt>opengl32.lib</tt> on Windows and
<tt>libGLEW.so</tt>, <tt>libGLU.so</tt>, and <tt>libGL.so</tt> on
Unix (<tt>-lGLEW -lGLU -lGL</tt>).
</p>
<p>
It is important to keep in mind that <tt>glew.h</tt> includes neither
<tt>windows.h</tt> nor <tt>gl.h</tt>. Also, GLEW will warn you by
issuing a preprocessor error in case you have included <tt>gl.h</tt>,
<tt>glext.h</tt>, or <tt>glATI.h</tt> before <tt>glew.h</tt>.
</p>
<!-- begin footer.html -->
</td></tr></table></body>
<!-- end footer.html -->
+20
View File
@@ -0,0 +1,20 @@
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.
+797
View File
@@ -0,0 +1,797 @@
<!-- begin header.html -->
<!--
The OpenGL Extension Wrangler Library
Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
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.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html/4/loose.dtd">
<!-- &nbsp;<img src="new.png" height="12" alt="NEW!"> -->
<html>
<head>
<title>GLEW: The OpenGL Extension Wrangler Library</title>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<link href="glew.css" type="text/css" rel="stylesheet">
</head>
<body bgcolor="#fff0d0">
<table border="0" width="100%" cellpadding="12" cellspacing="8" style="height:100%">
<tr>
<td bgcolor="#ffffff" align="left" valign="top" width="200">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr>
<td valign="top">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr><td align="center"><i>Latest Release: <a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/">1.5.8</a></i></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center"><img src="./glew.png" alt="GLEW Logo" width="97" height="75"></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center">
<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td align="center"><a href="index.html">Download</a></td></tr>
<tr><td align="center"><a href="install.html">Installation</a></td></tr>
<tr><td align="center"><a href="basic.html">Basic Usage</a></td></tr>
<tr><td align="center"><a href="advanced.html">Advanced Usage</a></td></tr>
<tr><td align="center"><a href="credits.html">Credits & Copyright</a></td></tr>
<tr><td align="center">Change Log</td></tr>
<tr><td align="center"><a href="http://sourceforge.net/projects/glew/">Project Page</a></td></tr>
<tr><td align="center"><a href="https://sourceforge.net/mail/?group_id=67586">Mailing Lists</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/tracker/?group_id=67586">Bug Tracker</a></td></tr>
</table>
<tr><td align="center"><br></tr>
</table>
</td>
</tr>
<tr>
<td valign="bottom">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="left">
<tr><td align="center"><i>Last Update: 01-31-11</i></td></tr>
<tr><td align="center">
<a href="http://www.opengl.org"> <img src="./ogl_sm.jpg" width="68"
height="35" border="0" alt="OpenGL Logo"></a>
<a href="http://sourceforge.net"> <img
src="http://sourceforge.net/sflogo.php?group_id=67586&amp;type=1"
width="88" height="31" border="0" alt="SourceForge Logo"></a>
</td>
</tr>
<!--- <tr><td align="center"><a
href="http://sourceforge.net/donate/index.php?group_id=67586"><img
src="http://images.sourceforge.net/images/project-support.jpg"
width="88" height="32" border="0" alt="Support This Project"></a></td></tr> -->
</table>
</td>
</tr>
</table>
</td>
<td bgcolor="#ffffff" align="left" valign="top">
<h1>The OpenGL Extension Wrangler Library</h1>
<!-- end header.html -->
<h2>Change Log</h2>
<hr align="center">
<ul class="none">
<li><b>1.5.8</b> [01-31-11]
<ul>
<li> New extensions:
<ul>
<li> GL_AMD_depth_clamp_separate
<li> GL_EXT_texture_sRGB_decode
</ul>
<li> Bug fixes:
<ul>
<li> Borland C++ fix for __int64
<li> GL_DOUBLE_MATNxM enumerants for OpenGL 4.0
<li> Correction to glGetTransformFeedbackVarying
<li> Correction to glSecondaryColorPointer
<li> Corrections to glGetVertexAttribPointerv and glGetShaderSource
<li> Switched code repository from svn to git
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.7</b> [11-03-10]
<ul>
<li> New extension:
<ul>
<li> GL_NVX_gpu_memory_info
</ul>
<li> Bug fixes:
<ul>
<li> Improved mingw32 build support
<li> Improved cygwin build support
<li> glGetPointervEXT fix
<li> Add GLEW_VERSION_1_2_1
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.6</b> [09-07-10]
<ul>
<li> New features:
<ul>
<li> Support for OpenGL 4.1
</ul>
<li> New extensions:
<ul>
<li> GL_ARB_ES2_compatibility
<li> GL_ARB_cl_event
<li> GL_ARB_debug_output
<li> GL_ARB_get_program_binary
<li> GL_ARB_robustness
<li> GL_ARB_separate_shader_objects
<li> GL_ARB_shader_precision
<li> GL_ARB_shader_stencil_export
<li> GL_ARB_vertex_attrib_64bit
<li> GL_ARB_viewport_array
<li> GLX_ARB_create_context_robustness
<li> GLX_EXT_create_context_es2_profile
<li> WGL_ARB_create_context_robustness
<li> WGL_EXT_create_context_es2_profile
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.5</b> [07-13-10]
<ul>
<li> New extensions:
<ul>
<li> GL_AMD_debug_output
<li> GL_AMD_name_gen_delete
<li> GL_AMD_transform_feedback3_lines_triangles
<li> GL_NV_multisample_coverage
<li> GL_NV_vdpau_interop
<li> GLX_AMD_gpu_association
<li> GLX_NV_multisample_coverage
<li> WGL_NV_multisample_coverage
</ul>
<li> Bug fixes:
<ul>
<li> Compilation issue with GLX_SGI_video_sync
<li> OpenGL 4.0 double-precision uniform functions added
<li> Constness of glPointParameterfvARB and glPointParameterfvEXT
<li> Added glVertexAttribDivisor
<li> Compilation issue with Nvidia GLX headers
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.4</b> [04-21-10]
<ul>
<li> New features:
<ul>
<li> Support for OpenGL 3.3
<li> Support for OpenGL 4.0
</ul>
<li> New extensions:
<ul>
<li> GL_AMD_conservative_depth
<li> GL_ARB_blend_func_extended
<li> GL_ARB_draw_indirect
<li> GL_ARB_explicit_attrib_location
<li> GL_ARB_gpu_shader5
<li> GL_ARB_gpu_shader_fp64
<li> GL_ARB_occlusion_query2
<li> GL_ARB_sampler_objects
<li> GL_ARB_shader_bit_encoding
<li> GL_ARB_shader_subroutine
<li> GL_ARB_shading_language_include
<li> GL_ARB_tessellation_shader
<li> GL_ARB_texture_buffer_object_rgb32
<li> GL_ARB_texture_compression_bptc
<li> GL_ARB_texture_rgb10_a2ui
<li> GL_ARB_texture_swizzle
<li> GL_ARB_timer_query
<li> GL_ARB_transform_feedback2
<li> GL_ARB_transform_feedback3
<li> GL_ARB_vertex_type_2_10_10_10_rev
<li> GL_EXT_shader_image_load_store
<li> GL_EXT_vertex_attrib_64bit
<li> GL_NV_gpu_program5
<li> GL_NV_gpu_program_fp64
<li> GL_NV_gpu_shader5
<li> GL_NV_tessellation_program5
<li> GL_NV_vertex_attrib_integer_64bit
<li> GLX_ARB_vertex_buffer_object
</ul>
<li> Bug fixes:
<ul>
<li> Parameter constness fix for glPointParameteriv and glPointParameterfv
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.3</b> [02-28-10]
<ul>
<li> New extensions:
<ul>
<li> GLX_INTEL_swap_event
<li> GL_AMD_seamless_cubemap_per_texture
<li> GL_AMD_shader_stencil_export
</ul>
<li> Bug fixes:
<ul>
<li> Correct version detection for GL 3.1 and 3.2
<li> Missing 3.1 enumerants
<li> Add glew.pc
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.2</b> [12-31-09]
<ul>
<li> New features:
<ul>
<li> Support for OpenGL 3.1
<li> Support for OpenGL 3.2
</ul>
<li> New extensions:
<ul>
<li> GL_AMD_draw_buffers_blend
<li> GL_AMD_performance_monitor
<li> GL_AMD_texture_texture4
<li> GL_AMD_vertex_shader_tessellator
<li> GL_APPLE_aux_depth_stencil
<li> GL_APPLE_object_purgeable
<li> GL_APPLE_rgb_422
<li> GL_APPLE_row_bytes
<li> GL_APPLE_vertex_program_evaluators
<li> GL_ARB_compatibility
<li> GL_ARB_copy_buffer
<li> GL_ARB_depth_clamp
<li> GL_ARB_draw_buffers_blend
<li> GL_ARB_draw_elements_base_vertex
<li> GL_ARB_fragment_coord_conventions
<li> GL_ARB_provoking_vertex
<li> GL_ARB_sample_shading
<li> GL_ARB_seamless_cube_map
<li> GL_ARB_shader_texture_lod
<li> GL_ARB_sync
<li> GL_ARB_texture_cube_map_array
<li> GL_ARB_texture_gather
<li> GL_ARB_texture_multisample
<li> GL_ARB_texture_query_lod
<li> GL_ARB_uniform_buffer_object
<li> GL_ARB_vertex_array_bgra
<li> GL_ATI_meminfo
<li> GL_EXT_provoking_vertex
<li> GL_EXT_separate_shader_objects
<li> GL_EXT_texture_snorm
<li> GL_NV_copy_image
<li> GL_NV_parameter_buffer_object2
<li> GL_NV_shader_buffer_load
<li> GL_NV_texture_barrier
<li> GL_NV_transform_feedback2
<li> GL_NV_vertex_buffer_unified_memory
<li> WGL_AMD_gpu_association
<li> WGL_ARB_create_context_profile
<li> WGL_NV_copy_image
<li> GLX_ARB_create_context_profile
<li> GLX_EXT_swap_control
<li> GLX_NV_copy_image
</ul>
<li> Bug fixes:
<ul>
<li> DOS line endings for windows .zip archives only.
<li> glTransformFeedbackVaryings arguments.
<li> Resource leak in glewinfo and visualinfo tools.
<li> WIN32_LEAN_AND_MEAN preprocessor pollution.
<li> Fixed version detection for GLEW_VERSION_2_1 and GLEW_VERSION_3_0.
<li> MesaGLUT glut.h GLAPIENTRY dependency.
<li> glFramebufferTextureLayer correction.
<li> OSX compiler warnings resolved.
<li> Cygwin linking to opengl32 by default, rather than X11 OpenGL.
<li> SnowLeopard (OSX 10.6) gl.h detection.
<li> Use $(STRIP) consistently.
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.1</b> [11-03-08]
<ul>
<li> New features:
<ul>
<li> Support for OpenGL 3.0
</ul>
<li> New extensions:
<ul>
<li> GL_ARB_depth_buffer_float
<li> GL_ARB_draw_instance,
<li> GL_ARB_framebuffer_object
<li> GL_ARB_framebuffer_sRGB
<li> GL_ARB_geometry_shader4
<li> GL_ARB_half_float_pixel
<li> GL_ARB_half_float_vertex
<li> GL_ARB_instanced_arrays
<li> GL_ARB_map_buffer_range
<li> GL_ARB_texture_buffer_object
<li> GL_ARB_texture_compression_rgtc
<li> GL_ARB_vertex_array_object
<li> GL_EXT_direct_state_access
<li> GL_EXT_texture_swizzle
<li> GL_EXT_transform_feedback
<li> GL_EXT_vertex_array_bgra
<li> GL_NV_conditional_render
<li> GL_NV_explicit_multisample
<li> GL_NV_present_video
<li> GL_SGIS_point_line_texgen
<li> GL_SGIX_convolution_accuracy
<li> WGL_ARB_create_context
<li> WGL_ARB_framebuffer_sRGB
<li> WGL_NV_present_video
<li> WGL_NV_swap_group
<li> WGL_NV_video_output
<li> GLX_ARB_create_context
<li> GLX_ARB_framebuffer_sRGB
<li> GLX_NV_present_video
<li> GLX_NV_swap_group
<li> GLX_NV_video_output
</ul>
<li> Bug fixes:
<ul>
<li> Licensing issues with documentation
<li> Problems with long long and _MSC_VER on MINGW
<li> Incorrect parameter for glGetUniformLocation
<li> glewGetExtension fails on last entry
<li> Incomplete GL_NV_texture_shader tokens
<li> Scripting problems on Cygwin
<li> Incorrect definition for GLint on OS X
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.5.0</b> [12-27-07]
<ul>
<li> New features:
<ul>
<li> Licensing change (BSD, Mesa 3-D, Khronos)
<li> Switch to using registry on <a href="http://www.opengl.org/registry/">www.opengl.org</a>
<li> Support for major and minor version strings
</ul>
<li> New extensions:
<ul>
<li> GL_APPLE_flush_buffer_range
<li> GL_GREMEDY_frame_terminator
<li> GLX_EXT_texture_from_pixmap
</ul>
<li> Bug fixes:
<ul>
<li> Incorrent 64-bit type definitions
<li> Do not strip static library on install
<li> Missing tokens in GL_ATI_fragment_shader and WGL_{ARB,EXT}_make_current_read
<li> Missing tokens in GL_VERSION_2_1
<li> Missing functions in GL_VERSION_1_4
<li> Incorrect parameter type for glXCopyContext
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.4.0</b> [04-27-07]
<ul>
<li> New features:
<ul>
<li> Extension variables are declared const to avoid possible
corruption of their values
</ul>
<li> New extensions:
<ul>
<li> GL_NV_depth_range_unclamped
</ul>
<li> Bug fixes:
<ul>
<li> Incorrect tokens in GL_NV_transform_feedback and GL_NV_framebuffer_multisample_coverage
<li> Incorrect function names in GL_EXT_gpu_program_parameters
<li> Missing tokens in GL_EXT_framebuffer_multisample
<li> GLEW_MX initialization problem for WGL_{ARB,EXT}_extensions_string
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.3.6</b> [03-04-07]
<ul>
<li> New extensions:
<ul>
<li> GL_ATI_shader_texture_lod
<li> GL_EXT_gpu_program_parameters
<li> GL_NV_geometry_shader4
<li> WGL_NV_gpu_affinity
<li> GLX_SGIX_hyperpipe
</ul>
<li> Bug fixes:
<ul>
<li> Missing include guards in glxew.h
<li> Makefile and install problems for Cygwin builds
<li> Install problem for Linux AMD64 builds
<li> Incorrent token in GL_ATI_texture_compression_3dc
<li> Missing tokens from GL_ATIX_point_sprites
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.3.5</b> [11-21-06]
<ul>
<li> New features:
<ul>
<li> Support for core OpenGL 2.1
<li> Debug support for glewIsSupported
</ul>
<li> New extensions:
<ul>
<li> GL_EXT_bindable_uniform
<li> GL_EXT_draw_buffers2
<li> GL_EXT_draw_instanced
<li> GL_EXT_framebuffer_sRGB
<li> GL_EXT_geometry_shader4
<li> GL_EXT_gpu_shader4
<li> GL_EXT_packed_float
<li> GL_EXT_texture_array
<li> GL_EXT_texture_buffer_object
<li> GL_EXT_texture_compression_latc
<li> GL_EXT_texture_compression_rgtc
<li> GL_EXT_texture_integer
<li> GL_EXT_texture_shared_exponent
<li> GL_EXT_timer_query
<li> GL_NV_depth_buffer_float
<li> GL_NV_fragment_program4
<li> GL_NV_framebuffer_multisample_coverage
<li> GL_NV_geometry_program4
<li> GL_NV_gpu_program4
<li> GL_NV_parameter_buffer_object
<li> GL_NV_transform_feedback
<li> GL_NV_vertex_program4
<li> GL_OES_byte_coordinates
<li> GL_OES_compressed_paletted_texture
<li> GL_OES_read_format
<li> GL_OES_single_precision
<li> WGL_EXT_pixel_format_packed_float
<li> WGL_EXT_framebuffer_sRGB
<li> GLX_EXT_fbconfig_packed_float
<li> GLX_EXT_framebuffer_sRGB
</ul>
<li> Bug fixes:
<ul>
<li> Wrong GLXContext definition on Solaris
<li> Makefile problem for parallel builds
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.3.4</b> [03-04-06]
<ul>
<li> New extensions:
<ul>
<li> GL_EXT_framebuffer_blit
<li> GL_EXT_framebuffer_multisample
<li> GL_EXT_packed_depth_stencil
<li> GL_MESAX_texture_stack
<li> WGL_3DL_stereo_control
</ul>
</ul>
<ul>
<li> Bug fixes:
<ul>
<li> glBlendEquation missing from GL_ARB_imaging
<li> Wrong APIENTRY definition for Cygwin
<li> Incorrect OS X OpenGL types
<li> Unix 64-bit installation patch
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.3.3</b> [05-16-05]
<ul>
<li> New feature:
<ul>
<li> Code generation option to split source into multiple files
</ul>
</ul>
<ul>
<li> Bug fixes:
<ul>
<li> OpenGL 2.0 core initialization problems
<li> Wrong value for token GL_SHADER_TYPE
<li> Missing tokens in GL_ATI_fragment_shader
<li> Missing entry points in GL_ARB_transpose_matrix
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.3.2</b> [03-16-05]
<ul>
<li> New extension:
<ul>
<li> GL_APPLE_pixel_buffer
</ul>
<li> Bug fixes:
<ul>
<li> Missing OpenGL 2.0 entry points
<li> Missing tokens in GL_SGIX_shadow
<li> MinGW makefile problem
<li> Check for incorrect OpenGL version string on SiS hardware
<li> Documentation update to meet the HTML 4.01 Transitional specification
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.3.1</b> [02-02-05]
<ul>
<li> New features:
<ul>
<li> Consistent Unix and Windows versioning
</ul>
<li> New extensions:
<ul>
<li> GL_EXT_framebuffer_object
<li> GL_ARB_pixel_buffer_object
</ul>
<li> Bug fixes:
<ul>
<li> Missing OpenGL 2.0 tokens
<li> Incorrect typedefs (GLhandleARB and GLhalf)
<li> Borland compiler problems
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.3.0</b> [01-04-05]
<ul>
<li> New features:
<ul>
<li> Support for core OpenGL 2.0
<li> <tt>glewIsSupported</tt> provides efficient string-based extension checks
<li> Custom code generation from a list of extensions
<li> Makefile changes
</ul>
<li> New extensions:
<ul>
<li> WGL_ATI_render_texture_rectangle
</ul>
<li> Bug fixes:
<ul>
<li> Incorrect function signature in OpenGL 1.5 core
</ul>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.2.5</b> [12-06-04]
<ul>
<li> New extensions:
<ul>
<li>GL_ATI_texture_compression_3dc
<li>GL_EXT_Cg_shader
<li>GL_EXT_draw_range_elements
<li>GL_KTX_buffer_region
</ul>
<li> Bug fixes:
<ul>
<li> OpenGL version detection bug
<li> Problems with wxWindows and MinGW compilation
<li> <tt>visualinfo</tt> compilation problem with GLEW_MX specified
<li> Wrong token name in OpenGL 1.5 core
</ul>
<li> Support for FreeBSD
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.2.4</b> [09-06-04]
<ul>
<li> Added ARB_draw_buffers and ARB_texture_rectangle
<li> Fixed bug in ARB_shader_objects
<li> Replaced <tt>wglinfo</tt> with <tt>visualinfo</tt>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.2.3</b> [06-10-04]
<ul>
<li> Added GL_NV_fragment_program2, GL_NV_fragment_program_option, GL_NV_vertex_program2_option, GL_NV_vertex_program3
<li> Bug fix in GL_ARB_vertex_blend
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.2.2</b> [05-08-04]
<ul>
<li> Added GL_EXT_pixel_buffer_object, removed GL_NV_element_array
<li> Fixed GLEW_MX problems
<li> Bug fix in GL_EXT_texture_rectangle and <tt>wglinfo</tt>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.2.1</b> [03-18-04]
<ul>
<li> Bug fix in OpenGL version query (early release of 1.2.0 contained this bug)
<li> Bug fix in GL_ARB_shader_objects and temporary bug fix in GL_ARB_vertex_shader
<li> Added flags on GDI support and multisampling to <tt>wglinfo</tt>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.2.0</b> [02-19-04]
<ul>
<li> Added full OpenGL 1.5 support
<li> Added support for multiple rendering contexts with different capabilities
<li> Added command line flags to <tt>glewinfo</tt> for selecting displays and visuals
<li> Added GLX_SGIS_multisample, GLX_SUN_video_resize, and GL_SUN_read_video_pixels
<li> Added MinGW/MSYS support
<li> Bug fixes in GL_ARB_shader_objects and the OS X build
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.1.4</b> [12-15-03]
<ul>
<li> Added GL_APPLE_float_pixels, GL_APPLE_texture_range,
GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,
GLX_ATI_pixel_format_float, and GLX_ATI_render_texture
<li> Bug fixes in GL_ATI_map_object_buffer and GL_ATI_fragment_shader
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.1.3</b> [10-28-03]
<ul>
<li> Added Solaris and Darwin support
<li> Added GL_ARB_fragment_shader, GL_ARB_shader_objects, and GL_ARB_vertex_shader
<li> Fixed bug in GL_WIN_swap_hint
<li> Removed <tt>glewinfo</tt>'s dependency on <tt>GLUT</tt>
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.1.2</b> [09-15-03]
<ul>
<li> Removed dependency on WGL_{ARB,EXT}_extensions_string to make GLEW run on Matrox cards
<li> Added glewGetString for querying the GLEW version string
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.1.1</b> [08-11-03]
<ul>
<li> Added GLX_NV_float_buffer, GL_ARB_shading_language_100, and GL_ARB_texture_non_power_of_two
<li> Fixed bug in GL_ARB_vertex_buffer_object
<li> Minor updates in documentation
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.1.0</b> [07-08-03]
<ul>
<li> Added automatic code generation
<li> Added almost every extension in the registry
<li> Added separate namespace
<li> Added Irix support
<li> Updated documentation
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.7</b> [06-29-03]
<ul>
<li> Added GL_EXT_depth_bounds_test
<li> Fixed typos
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.6</b> [05-05-03]
<ul>
<li> Added ARB_vertex_buffer_object and NV_half_float
<li> Updated <tt>wglinfo</tt>
<li> Temporary Linux bug fixes (problems with SDL and MESA)
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.5</b> [02-17-03]
<ul>
<li> Bug fixes
<li> Added <tt>wglinfo</tt>
<li> Updated documentation
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.4</b> [02-02-03]
<ul>
<li> Added NV_texture_expand_normal
<li> Added mingw support
<li> Updated documentation
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.3</b> [01-09-03]
<ul>
<li> Cleaned up ATI extensions
<li> Changed function prototypes to match glext.h
<li> Added EXT_texture3D
<li> Fixed typos in ATI_vertex_attrib_array_object and ATI_draw_buffers
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.2</b> [12-21-02]
<ul>
<li> Added list of supported extensions to documentation
<li> Added NV_half_float and NV_texgen_emboss
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.1</b> [12-17-02]
<ul>
<li> Bug fixes
<li> Added glewGetExtension
</ul>
</ul>
<hr align="center">
<ul class="none">
<li><b>1.0.0</b> [12-12-02]
<ul>
<li> Initial release
</ul>
</ul>
<hr align="center">
<!-- begin footer.html -->
</td></tr></table></body>
<!-- end footer.html -->
+21
View File
@@ -0,0 +1,21 @@
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.
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

+159
View File
@@ -0,0 +1,159 @@
<!-- begin header.html -->
<!--
The OpenGL Extension Wrangler Library
Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
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.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html/4/loose.dtd">
<!-- &nbsp;<img src="new.png" height="12" alt="NEW!"> -->
<html>
<head>
<title>GLEW: The OpenGL Extension Wrangler Library</title>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<link href="glew.css" type="text/css" rel="stylesheet">
</head>
<body bgcolor="#fff0d0">
<table border="0" width="100%" cellpadding="12" cellspacing="8" style="height:100%">
<tr>
<td bgcolor="#ffffff" align="left" valign="top" width="200">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr>
<td valign="top">
<table border="0" width="100%" cellpadding="0" cellspacing="0" align="left">
<tr><td align="center"><i>Latest Release: <a href="https://sourceforge.net/projects/glew/files/glew/1.5.8/">1.5.8</a></i></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center"><img src="./glew.png" alt="GLEW Logo" width="97" height="75"></td></tr>
<tr><td align="center"><br></td></tr>
<tr><td align="center">
<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td align="center"><a href="index.html">Download</a></td></tr>
<tr><td align="center"><a href="install.html">Installation</a></td></tr>
<tr><td align="center"><a href="basic.html">Basic Usage</a></td></tr>
<tr><td align="center"><a href="advanced.html">Advanced Usage</a></td></tr>
<tr><td align="center"><a href="credits.html">Credits & Copyright</a></td></tr>
<tr><td align="center"><a href="log.html">Change Log</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/projects/glew/">Project Page</a></td></tr>
<tr><td align="center"><a href="https://sourceforge.net/mail/?group_id=67586">Mailing Lists</a></td></tr>
<tr><td align="center"><a href="http://sourceforge.net/tracker/?group_id=67586">Bug Tracker</a></td></tr>
</table>
<tr><td align="center"><br></tr>
</table>
</td>
</tr>
<tr>
<td valign="bottom">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="left">
<tr><td align="center"><i>Last Update: 01-31-11</i></td></tr>
<tr><td align="center">
<a href="http://www.opengl.org"> <img src="./ogl_sm.jpg" width="68"
height="35" border="0" alt="OpenGL Logo"></a>
<a href="http://sourceforge.net"> <img
src="http://sourceforge.net/sflogo.php?group_id=67586&amp;type=1"
width="88" height="31" border="0" alt="SourceForge Logo"></a>
</td>
</tr>
<!--- <tr><td align="center"><a
href="http://sourceforge.net/donate/index.php?group_id=67586"><img
src="http://images.sourceforge.net/images/project-support.jpg"
width="88" height="32" border="0" alt="Support This Project"></a></td></tr> -->
</table>
</td>
</tr>
</table>
</td>
<td bgcolor="#ffffff" align="left" valign="top">
<h1>The OpenGL Extension Wrangler Library</h1>
<!-- end header.html -->
<h2>Supported WGL Extensions</h2>
<table border="0" width="100%" cellpadding="1" cellspacing="0" align="center">
<tr><td class="num">1</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/3DFX/3dfx_multisample.txt">3DFX_multisample</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">2</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/3DL/stereo_control.txt">3DL_stereo_control</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">3</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt">AMD_gpu_association</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">4</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/wgl_buffer_region.txt">ARB_buffer_region</a></td></tr>
<tr><td class="num">5</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/wgl_create_context.txt">ARB_create_context</a></td></tr>
<tr><td class="num">6</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/wgl_create_context.txt">ARB_create_context_profile</a></td></tr>
<tr><td class="num">7</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/wgl_create_context_robustness.txt">ARB_create_context_robustness</a></td></tr>
<tr><td class="num">8</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/wgl_extensions_string.txt">ARB_extensions_string</a></td></tr>
<tr><td class="num">9</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt">ARB_framebuffer_sRGB</a></td></tr>
<tr><td class="num">10</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/wgl_make_current_read.txt">ARB_make_current_read</a></td></tr>
<tr><td class="num">11</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/multisample.txt">ARB_multisample</a></td></tr>
<tr><td class="num">12</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt">ARB_pbuffer</a></td></tr>
<tr><td class="num">13</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt">ARB_pixel_format</a></td></tr>
<tr><td class="num">14</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/color_buffer_float.txt">ARB_pixel_format_float</a></td></tr>
<tr><td class="num">15</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ARB/wgl_render_texture.txt">ARB_render_texture</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">16</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/ATI/pixel_format_float.txt">ATI_pixel_format_float</a></td></tr>
<tr><td class="num">17</td><td>&nbsp;</td><td>ATI_render_texture_rectangle</td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">18</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/wgl_create_context_es2_profile.txt">EXT_create_context_es2_profile</a></td></tr>
<tr><td class="num">19</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/wgl_depth_float.txt">EXT_depth_float</a></td></tr>
<tr><td class="num">20</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/wgl_display_color_table.txt">EXT_display_color_table</a></td></tr>
<tr><td class="num">21</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/wgl_extensions_string.txt">EXT_extensions_string</a></td></tr>
<tr><td class="num">22</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt">EXT_framebuffer_sRGB</a></td></tr>
<tr><td class="num">23</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/wgl_make_current_read.txt">EXT_make_current_read</a></td></tr>
<tr><td class="num">24</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/wgl_multisample.txt">EXT_multisample</a></td></tr>
<tr><td class="num">25</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/wgl_pbuffer.txt">EXT_pbuffer</a></td></tr>
<tr><td class="num">26</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/wgl_pixel_format.txt">EXT_pixel_format</a></td></tr>
<tr><td class="num">27</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt">EXT_pixel_format_packed_float</a></td></tr>
<tr><td class="num">28</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/EXT/wgl_swap_control.txt">EXT_swap_control</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">29</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/I3D/wgl_digital_video_control.txt">I3D_digital_video_control</a></td></tr>
<tr><td class="num">30</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/I3D/wgl_gamma.txt">I3D_gamma</a></td></tr>
<tr><td class="num">31</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/I3D/wgl_genlock.txt">I3D_genlock</a></td></tr>
<tr><td class="num">32</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/I3D/wgl_image_buffer.txt">I3D_image_buffer</a></td></tr>
<tr><td class="num">33</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/I3D/wgl_swap_frame_lock.txt">I3D_swap_frame_lock</a></td></tr>
<tr><td class="num">34</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/I3D/wgl_swap_frame_usage.txt">I3D_swap_frame_usage</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">35</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/copy_image.txt">NV_copy_image</a></td></tr>
<tr><td class="num">36</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/float_buffer.txt">NV_float_buffer</a></td></tr>
<tr><td class="num">37</td><td>&nbsp;</td><td><a href="http://developer.download.nvidia.com/opengl/specs/WGL_nv_gpu_affinity.txt">NV_gpu_affinity</a></td></tr>
<tr><td class="num">38</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/multisample_coverage.txt">NV_multisample_coverage</a></td></tr>
<tr><td class="num">39</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/present_video.txt">NV_present_video</a></td></tr>
<tr><td class="num">40</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/render_depth_texture.txt">NV_render_depth_texture</a></td></tr>
<tr><td class="num">41</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/render_texture_rectangle.txt">NV_render_texture_rectangle</a></td></tr>
<tr><td class="num">42</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/wgl_swap_group.txt">NV_swap_group</a></td></tr>
<tr><td class="num">43</td><td>&nbsp;</td><td><a href="http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_array_range.txt">NV_vertex_array_range</a></td></tr>
<tr><td class="num">44</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/NV/wgl_video_out.txt">NV_video_output</a></td></tr>
<tr><td><br></td><td></td><td></td></tr>
<tr><td class="num">45</td><td>&nbsp;</td><td><a href="http://www.opengl.org/registry/specs/OML/wgl_sync_control.txt">OML_sync_control</a></td></tr>
</table>
<!-- begin footer.html -->
</td></tr></table></body>
<!-- end footer.html -->
+10
View File
@@ -0,0 +1,10 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: glew
Description: The OpenGL Extension Wrangler library
Version: @version@
Cflags: -I${includedir}
Libs: -L${libdir} -lGLEW
+15343
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+15201
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+155
View File
@@ -0,0 +1,155 @@
/* RageDisplay_Legacy: OpenGL renderer. */
#ifndef RAGE_DISPLAY_OGL_H
#define RAGE_DISPLAY_OGL_H
#include "RageDisplay.h"
/* Making an OpenGL call doesn't also flush the error state; if we happen
* to have an error from a previous call, then the assert below will fail.
* Flush it. */
#define FlushGLErrors() do { } while( glGetError() != GL_NO_ERROR )
#define AssertNoGLError() \
{ \
GLenum error = glGetError(); \
ASSERT_M( error == GL_NO_ERROR, RageDisplay_Legacy_Helpers::GLToString(error) ); \
}
#if defined(DEBUG) || !defined(GL_GET_ERROR_IS_SLOW)
#define DebugFlushGLErrors() FlushGLErrors()
#define DebugAssertNoGLError() AssertNoGLError()
#else
#define DebugFlushGLErrors()
#define DebugAssertNoGLError()
#endif
class RageDisplay_Legacy: public RageDisplay
{
public:
RageDisplay_Legacy();
virtual ~RageDisplay_Legacy();
virtual RString Init( const VideoModeParams &p, bool bAllowUnacceleratedRenderer );
virtual RString GetApiDescription() const { return "OpenGL"; }
virtual void GetDisplayResolutions( DisplayResolutions &out ) const;
void ResolutionChanged();
const PixelFormatDesc *GetPixelFormatDesc(PixelFormat pf) const;
bool SupportsThreadedRendering();
void BeginConcurrentRenderingMainThread();
void EndConcurrentRenderingMainThread();
void BeginConcurrentRendering();
void EndConcurrentRendering();
bool BeginFrame();
void EndFrame();
VideoModeParams GetActualVideoModeParams() const;
void SetBlendMode( BlendMode mode );
bool SupportsTextureFormat( PixelFormat pixfmt, bool realtime=false );
bool SupportsPerVertexMatrixScale();
unsigned CreateTexture(
PixelFormat pixfmt,
RageSurface* img,
bool bGenerateMipMaps );
void UpdateTexture(
unsigned iTexHandle,
RageSurface* img,
int xoffset, int yoffset, int width, int height
);
void DeleteTexture( unsigned iTexHandle );
RageSurface *GetTexture( unsigned iTexture );
RageTextureLock *CreateTextureLock();
void ClearAllTextures();
int GetNumTextureUnits();
void SetTexture( TextureUnit tu, unsigned iTexture );
void SetTextureMode( TextureUnit tu, TextureMode tm );
void SetTextureWrapping( TextureUnit tu, bool b );
int GetMaxTextureSize() const;
void SetTextureFiltering( TextureUnit tu, bool b );
void SetEffectMode( EffectMode effect );
bool IsEffectModeSupported( EffectMode effect );
bool SupportsRenderToTexture() const;
unsigned CreateRenderTarget( const RenderTargetParam &param, int &iTextureWidthOut, int &iTextureHeightOut );
void SetRenderTarget( unsigned iHandle, bool bPreserveTexture );
bool IsZWriteEnabled() const;
bool IsZTestEnabled() const;
void SetZWrite( bool b );
void SetZBias( float f );
void SetZTestMode( ZTestMode mode );
void ClearZBuffer();
void SetCullMode( CullMode mode );
void SetAlphaTest( bool b );
void SetMaterial(
const RageColor &emissive,
const RageColor &ambient,
const RageColor &diffuse,
const RageColor &specular,
float shininess
);
void SetLighting( bool b );
void SetLightOff( int index );
void SetLightDirectional(
int index,
const RageColor &ambient,
const RageColor &diffuse,
const RageColor &specular,
const RageVector3 &dir );
void SetSphereEnvironmentMapping( TextureUnit tu, bool b );
void SetCelShaded( int stage );
RageCompiledGeometry* CreateCompiledGeometry();
void DeleteCompiledGeometry( RageCompiledGeometry* p );
// hacks for cell-shaded models
virtual void SetPolygonMode( PolygonMode pm );
virtual void SetLineWidth( float fWidth );
RString GetTextureDiagnostics( unsigned id ) const;
protected:
void DrawQuadsInternal( const RageSpriteVertex v[], int iNumVerts );
void DrawQuadStripInternal( const RageSpriteVertex v[], int iNumVerts );
void DrawFanInternal( const RageSpriteVertex v[], int iNumVerts );
void DrawStripInternal( const RageSpriteVertex v[], int iNumVerts );
void DrawTrianglesInternal( const RageSpriteVertex v[], int iNumVerts );
void DrawCompiledGeometryInternal( const RageCompiledGeometry *p, int iMeshIndex );
void DrawLineStripInternal( const RageSpriteVertex v[], int iNumVerts, float LineWidth );
void DrawSymmetricQuadStripInternal( const RageSpriteVertex v[], int iNumVerts );
RString TryVideoMode( const VideoModeParams &p, bool &bNewDeviceOut );
RageSurface* CreateScreenshot();
PixelFormat GetImgPixelFormat( RageSurface* &img, bool &FreeImg, int width, int height, bool bPalettedTexture );
bool SupportsSurfaceFormat( PixelFormat pixfmt );
void SendCurrentMatrices();
};
#endif
/*
* Copyright (c) 2001-2011 Chris Danford, Glenn Maynard, Colby Klein
* 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, and/or sell copies of the Software, and to permit persons to
* whom the Software is furnished to do so, provided that the above
* copyright notice(s) and this permission notice appear in all copies of
* the Software and that both the above copyright notice(s) and this
* permission notice appear in supporting documentation.
*
* 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 OF
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
+82
View File
@@ -0,0 +1,82 @@
#include "global.h"
#include "RageDisplay_Legacy_Helpers.h"
#include "RageUtil.h"
#include "RageLog.h"
#include "RageUtil.h"
#include "arch/LowLevelWindow/LowLevelWindow.h"
#include <map>
#include <set>
namespace
{
map<GLenum, RString> g_Strings;
void InitStringMap()
{
static bool bInitialized = false;
if( bInitialized )
return;
bInitialized = true;
#define X(a) g_Strings[a] = #a;
X(GL_RGBA8); X(GL_RGBA4); X(GL_RGB5_A1); X(GL_RGB5); X(GL_RGBA); X(GL_RGB);
X(GL_BGR); X(GL_BGRA);
X(GL_COLOR_INDEX8_EXT); X(GL_COLOR_INDEX4_EXT); X(GL_COLOR_INDEX);
X(GL_UNSIGNED_BYTE); X(GL_UNSIGNED_SHORT_4_4_4_4); X(GL_UNSIGNED_SHORT_5_5_5_1);
X(GL_UNSIGNED_SHORT_1_5_5_5_REV);
X(GL_INVALID_ENUM); X(GL_INVALID_VALUE); X(GL_INVALID_OPERATION);
X(GL_STACK_OVERFLOW); X(GL_STACK_UNDERFLOW); X(GL_OUT_OF_MEMORY);
#undef X
}
};
void RageDisplay_Legacy_Helpers::Init()
{
InitStringMap();
}
RString RageDisplay_Legacy_Helpers::GLToString( GLenum e )
{
if( g_Strings.find(e) != g_Strings.end() )
return g_Strings[e];
return ssprintf( "%i", int(e) );
}
/*
static void GetGLExtensions( set<string> &ext )
{
const char *szBuf = (const char *) glGetString( GL_EXTENSIONS );
vector<RString> asList;
split( szBuf, " ", asList );
for( unsigned i = 0; i < asList.size(); ++i )
ext.insert( asList[i] );
}
*/
/*
* Copyright (c) 2001-2011 Chris Danford, Glenn Maynard, Colby Klein
* 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, and/or sell copies of the Software, and to permit persons to
* whom the Software is furnished to do so, provided that the above
* copyright notice(s) and this permission notice appear in all copies of
* the Software and that both the above copyright notice(s) and this
* permission notice appear in supporting documentation.
*
* 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 OF
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
+73
View File
@@ -0,0 +1,73 @@
#ifndef RAGE_DISPLAY_OGL_HELPERS_H
#define RAGE_DISPLAY_OGL_HELPERS_H
#if defined(WIN32)
#include <windows.h>
#endif
#include <GL/glew.h>
/* Import RageDisplay, for types. Do not include RageDisplay_Legacy.h. */
#include "RageDisplay.h"
/* Windows defines GL_EXT_paletted_texture incompletely: */
#ifndef GL_TEXTURE_INDEX_SIZE_EXT
#define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED
#endif
/** @brief Utilities for working with the RageDisplay. */
namespace RageDisplay_Legacy_Helpers
{
void Init();
RString GLToString( GLenum e );
};
class RenderTarget
{
public:
virtual ~RenderTarget() { }
virtual void Create( const RenderTargetParam &param, int &iTextureWidthOut, int &iTextureHeightOut ) = 0;
virtual unsigned GetTexture() const = 0;
/* Render to this RenderTarget. */
virtual void StartRenderingTo() = 0;
/* Stop rendering to this RenderTarget. Update the texture, if necessary, and
* make it available. */
virtual void FinishRenderingTo() = 0;
virtual bool InvertY() const { return false; }
const RenderTargetParam &GetParam() const { return m_Param; }
protected:
RenderTargetParam m_Param;
};
#endif
/*
* Copyright (c) 2001-2011 Chris Danford, Glenn Maynard, Colby Klein
* 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, and/or sell copies of the Software, and to permit persons to
* whom the Software is furnished to do so, provided that the above
* copyright notice(s) and this permission notice appear in all copies of
* the Software and that both the above copyright notice(s) and this
* permission notice appear in supporting documentation.
*
* 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 OF
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
+373 -374
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -1,4 +1,4 @@
/* RageDisplay_OGL: OpenGL renderer. */
/* RageDisplay_Legacy: OpenGL renderer. */
#ifndef RAGE_DISPLAY_OGL_H
#define RAGE_DISPLAY_OGL_H
@@ -12,7 +12,7 @@
#define AssertNoGLError() \
{ \
GLenum error = glGetError(); \
ASSERT_M( error == GL_NO_ERROR, RageDisplay_OGL_Helpers::GLToString(error) ); \
ASSERT_M( error == GL_NO_ERROR, RageDisplay_Legacy_Helpers::GLToString(error) ); \
}
#if defined(DEBUG) || !defined(GL_GET_ERROR_IS_SLOW)
@@ -23,11 +23,11 @@
#define DebugAssertNoGLError()
#endif
class RageDisplay_OGL: public RageDisplay
class RageDisplay_Legacy: public RageDisplay
{
public:
RageDisplay_OGL();
virtual ~RageDisplay_OGL();
RageDisplay_Legacy();
virtual ~RageDisplay_Legacy();
virtual RString Init( const VideoModeParams &p, bool bAllowUnacceleratedRenderer );
virtual RString GetApiDescription() const { return "OpenGL"; }
@@ -129,7 +129,7 @@ protected:
#endif
/*
* Copyright (c) 2001-2004 Chris Danford, Glenn Maynard
* Copyright (c) 2001-2011 Chris Danford, Glenn Maynard, Colby Klein
* All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
+5 -227
View File
@@ -31,61 +31,19 @@ namespace
}
};
void RageDisplay_OGL_Helpers::Init()
void RageDisplay_Legacy_Helpers::Init()
{
InitStringMap();
}
RString RageDisplay_OGL_Helpers::GLToString( GLenum e )
RString RageDisplay_Legacy_Helpers::GLToString( GLenum e )
{
if( g_Strings.find(e) != g_Strings.end() )
return g_Strings[e];
return ssprintf( "%i", int(e) );
}
GLExt_t GLExt;
/* Available extensions: */
static set<string> g_glExts;
bool GLExt_t::HasExtension( const RString &sExt ) const
{
return g_glExts.find(sExt) != g_glExts.end();
}
#define F(n) { (void **)(&GLExt.n), #n }
struct func_t
{
void **p;
const char *name;
};
static bool LoadAllOrNothing( struct func_t *funcs, LowLevelWindow *pWind )
{
bool bGotAll = true;
for( unsigned i = 0; funcs[i].p != NULL; ++i )
{
*funcs[i].p = pWind->GetProcAddress( funcs[i].name );
if( *funcs[i].p == NULL )
{
bGotAll = false;
break;
}
}
if( bGotAll )
return true;
/* If any function in the array wasn't found, clear them all. */
for( unsigned i = 0; funcs[i].p != NULL; ++i )
*funcs[i].p = NULL;
return false;
}
/*
static void GetGLExtensions( set<string> &ext )
{
const char *szBuf = (const char *) glGetString( GL_EXTENSIONS );
@@ -96,190 +54,10 @@ static void GetGLExtensions( set<string> &ext )
for( unsigned i = 0; i < asList.size(); ++i )
ext.insert( asList[i] );
}
void GLExt_t::Load( LowLevelWindow *pWind )
{
memset( this, 0, sizeof(*this) );
GetGLExtensions( g_glExts );
m_bARB_texture_env_combine = HasExtension("GL_ARB_texture_env_combine");
m_bEXT_texture_env_combine = HasExtension("GL_EXT_texture_env_combine");
m_bGL_EXT_bgra = HasExtension("GL_EXT_bgra");
m_bGL_ARB_texture_float = HasExtension("GL_ARB_texture_float");
#if defined(WIN32)
if( HasExtension("WGL_EXT_swap_control") )
wglSwapIntervalEXT = (PWSWAPINTERVALEXTPROC) pWind->GetProcAddress("wglSwapIntervalEXT");
#endif
if( HasExtension("GL_EXT_paletted_texture") )
{
glColorTableEXT = (PFNGLCOLORTABLEPROC) pWind->GetProcAddress("glColorTableEXT");
glGetColorTableParameterivEXT = (PFNGLCOLORTABLEPARAMETERIVPROC) pWind->GetProcAddress("glGetColorTableParameterivEXT");
}
if( HasExtension("GL_ARB_multitexture") )
{
func_t funcs[] = {
F( glActiveTextureARB ),
F( glClientActiveTextureARB ),
{ NULL, NULL },
};
LoadAllOrNothing( funcs, pWind);
}
if( HasExtension("GL_EXT_blend_func_separate") )
glBlendFuncSeparateEXT = (PFNGLBLENDFUNCSEPARATEEXTPROC) pWind->GetProcAddress("glBlendFuncSeparateEXT");
if( HasExtension("GL_EXT_blend_subtract") )
glBlendEquation = (PFNGLBLENDEQUATIONPROC) pWind->GetProcAddress("glBlendEquation");
/*
* Find extension functions.
*
* X11R6.7.0 (or possibly ATI's drivers) seem to be returning bogus values for glBindBufferARB
* if we don't actually check for GL_ARB_vertex_buffer_object.
* https://sf.net/tracker/download.php?group_id=37892&atid=421366&file_id=88086&aid=958820
* https://sf.net/tracker/download.php?group_id=37892&atid=421366&file_id=85542&aid=944836
*
* Let's check them all, to be safe.
*/
if( HasExtension("GL_ARB_vertex_buffer_object") )
{
func_t funcs[] = {
F( glGenBuffersARB ),
F( glBindBufferARB ),
F( glBufferDataARB ),
F( glBufferSubDataARB ),
F( glDeleteBuffersARB ),
F( glMapBufferARB ),
F( glUnmapBufferARB ),
{ NULL, NULL },
};
LoadAllOrNothing( funcs, pWind );
}
if( HasExtension("GL_EXT_draw_range_elements") )
GLExt.glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC) pWind->GetProcAddress("glDrawRangeElements");
m_bGL_ARB_shader_objects = HasExtension("GL_ARB_shader_objects");
if( m_bGL_ARB_shader_objects )
{
func_t funcs[] = {
F( glCreateShaderObjectARB ),
F( glCreateShaderObjectARB ),
F( glCreateProgramObjectARB ),
F( glShaderSourceARB ),
F( glCompileShaderARB ),
F( glGetObjectParameterfvARB ),
F( glGetObjectParameterivARB ),
F( glGetInfoLogARB ),
F( glAttachObjectARB ),
F( glDeleteObjectARB ),
F( glLinkProgramARB ),
F( glUseProgramObjectARB ),
F( glVertexAttrib2fARB ),
F( glVertexAttrib3fARB ),
F( glVertexAttrib4fARB ),
F( glEnableVertexAttribArrayARB ),
F( glDisableVertexAttribArrayARB ),
F( glVertexAttribPointerARB ),
F( glGetUniformLocationARB ),
F( glUniform1fARB ),
F( glUniform2fARB ),
F( glUniform3fARB ),
F( glUniform4fARB ),
F( glUniform1iARB ),
F( glUniform2iARB ),
F( glUniform3iARB ),
F( glUniform4iARB ),
F( glUniform1fvARB ),
F( glUniform2fvARB ),
F( glUniform3fvARB ),
F( glUniform4fvARB ),
F( glUniform1ivARB ),
F( glUniform2ivARB ),
F( glUniform3ivARB ),
F( glUniform4ivARB ),
F( glUniformMatrix2fvARB ),
F( glUniformMatrix2fvARB ),
F( glUniformMatrix2fvARB ),
{ NULL, NULL }
};
if( !LoadAllOrNothing(funcs, pWind) )
m_bGL_ARB_shader_objects = false;
}
m_bGL_ARB_vertex_shader = m_bGL_ARB_shader_objects && HasExtension("GL_ARB_vertex_shader");
m_bGL_ARB_fragment_shader = m_bGL_ARB_shader_objects && HasExtension("GL_ARB_fragment_shader");
if( m_bGL_ARB_vertex_shader )
{
func_t funcs[] =
{
F( glBindAttribLocationARB ),
F( glGetAttribLocationARB ),
{ NULL, NULL }
};
if( !LoadAllOrNothing(funcs, pWind) )
m_bGL_ARB_vertex_shader = false;
}
m_bGL_ARB_shading_language_100 = HasExtension("GL_ARB_shading_language_100");
if( m_bGL_ARB_shading_language_100 )
{
while( glGetError() != GL_NO_ERROR )
;
const char *pzVersion = (const char *) glGetString( GL_SHADING_LANGUAGE_VERSION );
GLenum glError = glGetError();
if( glError == GL_INVALID_ENUM )
{
LOG->Info( "No GL_SHADING_LANGUAGE_VERSION; assuming 1.0" );
m_iShadingLanguageVersion = 100;
}
else
{
const float fVersion = StringToFloat( pzVersion );
m_iShadingLanguageVersion = lrintf( fVersion * 100 );
/* The version string may contain extra information beyond the version number. */
LOG->Info( "OpenGL shading language: %s", pzVersion );
}
}
m_bGL_EXT_framebuffer_object = HasExtension("GL_EXT_framebuffer_object");
if( m_bGL_EXT_framebuffer_object )
{
func_t funcs[] = {
F( glIsRenderbufferEXT ),
F( glBindRenderbufferEXT ),
F( glDeleteRenderbuffersEXT ),
F( glGenRenderbuffersEXT ),
F( glRenderbufferStorageEXT ),
F( glGetRenderbufferParameterivEXT ),
F( glIsFramebufferEXT ),
F( glBindFramebufferEXT ),
F( glDeleteFramebuffersEXT ),
F( glGenFramebuffersEXT ),
F( glCheckFramebufferStatusEXT ),
F( glFramebufferTexture1DEXT ),
F( glFramebufferTexture2DEXT ),
F( glFramebufferTexture3DEXT ),
F( glFramebufferRenderbufferEXT ),
F( glGetFramebufferAttachmentParameterivEXT ),
F( glGenerateMipmapEXT ),
{ NULL, NULL }
};
if( !LoadAllOrNothing(funcs, pWind) )
m_bGL_EXT_framebuffer_object = false;
}
}
*/
/*
* Copyright (c) 2001-2005 Chris Danford, Glenn Maynard
* Copyright (c) 2001-2011 Chris Danford, Glenn Maynard, Colby Klein
* All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
+4 -121
View File
@@ -1,25 +1,13 @@
#ifndef RAGE_DISPLAY_OGL_HELPERS_H
#define RAGE_DISPLAY_OGL_HELPERS_H
/* ours may be more up-to-date */
#define __glext_h_
#if defined(WIN32)
#include <windows.h>
#endif
#if !defined(MACOSX)
# include <GL/gl.h>
# include <GL/glu.h>
#else
# include <OpenGL/gl.h>
# include <OpenGL/glu.h>
#endif
#include <GL/glew.h>
#undef __glext_h_
#include "glext.h"
/* Import RageDisplay, for types. Do not include RageDisplay_OGL.h. */
/* Import RageDisplay, for types. Do not include RageDisplay_Legacy.h. */
#include "RageDisplay.h"
/* Windows defines GL_EXT_paletted_texture incompletely: */
@@ -27,11 +15,8 @@
#define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED
#endif
/* Not in glext.h: */
typedef bool (APIENTRY * PWSWAPINTERVALEXTPROC) (int interval);
/** @brief Utilities for working with the RageDisplay. */
namespace RageDisplay_OGL_Helpers
namespace RageDisplay_Legacy_Helpers
{
void Init();
RString GLToString( GLenum e );
@@ -60,112 +45,10 @@ protected:
RenderTargetParam m_Param;
};
class LowLevelWindow;
struct GLExt_t
{
bool m_bARB_texture_env_combine;
bool m_bEXT_texture_env_combine;
bool m_bGL_EXT_bgra;
bool m_bGL_ARB_texture_float;
PWSWAPINTERVALEXTPROC wglSwapIntervalEXT;
PFNGLCOLORTABLEPROC glColorTableEXT;
PFNGLBLENDFUNCSEPARATEEXTPROC glBlendFuncSeparateEXT;
PFNGLBLENDEQUATIONPROC glBlendEquation;
PFNGLCOLORTABLEPARAMETERIVPROC glGetColorTableParameterivEXT;
PFNGLACTIVETEXTUREARBPROC glActiveTextureARB;
PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements;
// ARB_vertex_buffer_object:
PFNGLGENBUFFERSARBPROC glGenBuffersARB;
PFNGLBINDBUFFERARBPROC glBindBufferARB;
PFNGLBUFFERDATAARBPROC glBufferDataARB;
PFNGLBUFFERSUBDATAARBPROC glBufferSubDataARB;
PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB;
PFNGLMAPBUFFERARBPROC glMapBufferARB;
PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB;
// GL_ARB_shader_objects:
bool m_bGL_ARB_shader_objects;
PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
PFNGLGETOBJECTPARAMETERFVARBPROC glGetObjectParameterfvARB;
PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
PFNGLVERTEXATTRIB2FARBPROC glVertexAttrib2fARB;
PFNGLVERTEXATTRIB3FARBPROC glVertexAttrib3fARB;
PFNGLVERTEXATTRIB4FARBPROC glVertexAttrib4fARB;
PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB;
PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB;
PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB;
PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
PFNGLUNIFORM1FARBPROC glUniform1fARB;
PFNGLUNIFORM2FARBPROC glUniform2fARB;
PFNGLUNIFORM3FARBPROC glUniform3fARB;
PFNGLUNIFORM4FARBPROC glUniform4fARB;
PFNGLUNIFORM1IARBPROC glUniform1iARB;
PFNGLUNIFORM2IARBPROC glUniform2iARB;
PFNGLUNIFORM3IARBPROC glUniform3iARB;
PFNGLUNIFORM4IARBPROC glUniform4iARB;
PFNGLUNIFORM1FVARBPROC glUniform1fvARB;
PFNGLUNIFORM2FVARBPROC glUniform2fvARB;
PFNGLUNIFORM3FVARBPROC glUniform3fvARB;
PFNGLUNIFORM4FVARBPROC glUniform4fvARB;
PFNGLUNIFORM1IVARBPROC glUniform1ivARB;
PFNGLUNIFORM2IVARBPROC glUniform2ivARB;
PFNGLUNIFORM3IVARBPROC glUniform3ivARB;
PFNGLUNIFORM4IVARBPROC glUniform4ivARB;
PFNGLUNIFORMMATRIX2FVARBPROC glUniformMatrix2fvARB;
PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fvARB;
PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fvARB;
// GL_ARB_vertex_shader and GL_ARB_fragment_shader:
bool m_bGL_ARB_vertex_shader;
bool m_bGL_ARB_fragment_shader;
PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
bool m_bGL_ARB_shading_language_100;
int m_iShadingLanguageVersion; /* * 100 */
// GL_EXT_framebuffer_object:
bool m_bGL_EXT_framebuffer_object;
PFNGLISRENDERBUFFEREXTPROC glIsRenderbufferEXT;
PFNGLBINDRENDERBUFFEREXTPROC glBindRenderbufferEXT;
PFNGLDELETERENDERBUFFERSEXTPROC glDeleteRenderbuffersEXT;
PFNGLGENRENDERBUFFERSEXTPROC glGenRenderbuffersEXT;
PFNGLRENDERBUFFERSTORAGEEXTPROC glRenderbufferStorageEXT;
PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glGetRenderbufferParameterivEXT;
PFNGLISFRAMEBUFFEREXTPROC glIsFramebufferEXT;
PFNGLBINDFRAMEBUFFEREXTPROC glBindFramebufferEXT;
PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT;
PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT;
PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glCheckFramebufferStatusEXT;
PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glFramebufferTexture1DEXT;
PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glFramebufferTexture2DEXT;
PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glFramebufferTexture3DEXT;
PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glFramebufferRenderbufferEXT;
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glGetFramebufferAttachmentParameterivEXT;
PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT;
void Load( LowLevelWindow *pWind );
bool HasExtension( const RString &sExt ) const;
};
extern GLExt_t GLExt;
#endif
/*
* Copyright (c) 2001-2005 Chris Danford, Glenn Maynard
* Copyright (c) 2001-2011 Chris Danford, Glenn Maynard, Colby Klein
* All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
+89 -86
View File
@@ -80,7 +80,6 @@ AutoScreenMessage( SM_BackFromTimeSignatureNumeratorChange );
AutoScreenMessage( SM_BackFromTimeSignatureDenominatorChange );
AutoScreenMessage( SM_BackFromTickcountChange );
AutoScreenMessage( SM_BackFromComboChange );
AutoScreenMessage( SM_BackFromWarpChange );
AutoScreenMessage( SM_DoSaveAndExit );
AutoScreenMessage( SM_DoExit );
AutoScreenMessage( SM_SaveSuccessful );
@@ -95,6 +94,35 @@ static const char *EditStateNames[] = {
XToString( EditState );
LuaXType( EditState );
#if defined(XBOX)
void ScreenEdit::InitEditMappings()
{
/* XXX: fill this in */
m_EditMappingsDeviceInput.Clear();
switch( EDIT_MODE.GetValue() )
{
case EditMode_Practice:
m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_PREV_MEASURE][0] = DeviceInput(DEVICE_JOY1, JOY_HAT_UP);
m_EditMappingsMenuButton.button[EDIT_BUTTON_SCROLL_PREV_MEASURE][0] = GAME_BUTTON_UP;
m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_NEXT_MEASURE][0] = DeviceInput(DEVICE_JOY1, JOY_HAT_DOWN);
m_EditMappingsMenuButton.button[EDIT_BUTTON_SCROLL_NEXT_MEASURE][0] = GAME_BUTTON_DOWN;
break;
default:
m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_UP_LINE][0] = DeviceInput(DEVICE_JOY1, JOY_HAT_UP);
m_EditMappingsMenuButton.button[EDIT_BUTTON_SCROLL_UP_LINE][0] = GAME_BUTTON_UP;
m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_DOWN_LINE][0] = DeviceInput(DEVICE_JOY1, JOY_HAT_DOWN);
m_EditMappingsMenuButton.button[EDIT_BUTTON_SCROLL_DOWN_LINE][0] = GAME_BUTTON_DOWN;
break;
}
// Map these to the triggers: L goes up, R goes down.
m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_UP_PAGE][0] = DeviceInput(DEVICE_JOY1, JOY_BUTTON_7);
//m_EditMappingsMenuButton.button[EDIT_BUTTON_SCROLL_UP_PAGE][0] = GAME_BUTTON_UPLEFT;
m_EditMappingsDeviceInput.button[EDIT_BUTTON_SCROLL_DOWN_PAGE][0] = DeviceInput(DEVICE_JOY1, JOY_BUTTON_8);
//m_EditMappingsMenuButton.button[EDIT_BUTTON_SCROLL_DOWN_PAGE][0] = GAME_BUTTON_UPRIGHT;
}
#else
void ScreenEdit::InitEditMappings()
{
m_EditMappingsDeviceInput.Clear();
@@ -207,7 +235,7 @@ void ScreenEdit::InitEditMappings()
m_EditMappingsDeviceInput.hold[EDIT_BUTTON_SAMPLE_LENGTH_DOWN][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LSHIFT);
m_EditMappingsDeviceInput.hold[EDIT_BUTTON_SAMPLE_LENGTH_DOWN][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RSHIFT);
m_EditMappingsDeviceInput.button[EDIT_BUTTON_PLAY_SAMPLE_MUSIC][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cl);
m_EditMappingsDeviceInput.button[EDIT_BUTTON_PLAY_SAMPLE_MUSIC][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cm);
m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_BGCHANGE_LAYER1_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cb);
m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_BGCHANGE_LAYER2_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cb);
@@ -240,7 +268,7 @@ void ScreenEdit::InitEditMappings()
m_EditMappingsDeviceInput.button[EDIT_BUTTON_RIGHT_SIDE][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RALT);
m_EditMappingsDeviceInput.button[EDIT_BUTTON_LAY_ROLL][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LSHIFT);
// m_EditMappingsDeviceInput.button[EDIT_BUTTON_LAY_TAP_ATTACK][0] = DeviceInput(DEVICE_KEYBOARD, KEY_RSHIFT);
m_EditMappingsDeviceInput.button[EDIT_BUTTON_CYCLE_TAP_LEFT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cn);
m_EditMappingsDeviceInput.button[EDIT_BUTTON_CYCLE_TAP_RIGHT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cm);
@@ -263,7 +291,7 @@ void ScreenEdit::InitEditMappings()
m_EditMappingsMenuButton.button[EDIT_BUTTON_OPEN_EDIT_MENU][1] = GAME_BUTTON_BACK;
m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_AREA_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_ENTER);
m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_INPUT_HELP][0] = DeviceInput(DEVICE_KEYBOARD, KEY_F1);
m_EditMappingsDeviceInput.button[EDIT_BUTTON_BAKE_RANDOM_FROM_SONG_GROUP][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cb);
m_EditMappingsDeviceInput.hold[EDIT_BUTTON_BAKE_RANDOM_FROM_SONG_GROUP][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LALT);
m_EditMappingsDeviceInput.hold[EDIT_BUTTON_BAKE_RANDOM_FROM_SONG_GROUP][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RALT);
@@ -281,7 +309,7 @@ void ScreenEdit::InitEditMappings()
m_EditMappingsDeviceInput.button[EDIT_BUTTON_ADJUST_FINE][0] = DeviceInput(DEVICE_KEYBOARD, KEY_RALT);
m_EditMappingsDeviceInput.button[EDIT_BUTTON_ADJUST_FINE][1] = DeviceInput(DEVICE_KEYBOARD, KEY_LALT);
m_EditMappingsDeviceInput.button[EDIT_BUTTON_SAVE][1] = DeviceInput(DEVICE_KEYBOARD, KEY_Cs);
#if defined(MACOSX)
/* use cmd */
@@ -294,10 +322,10 @@ void ScreenEdit::InitEditMappings()
#endif
m_EditMappingsDeviceInput.button[EDIT_BUTTON_UNDO][1] = DeviceInput(DEVICE_KEYBOARD, KEY_Cu);
// Switch players, if it makes sense to do so.
m_EditMappingsDeviceInput.button[EDIT_BUTTON_SWITCH_PLAYERS][0] = DeviceInput(DEVICE_KEYBOARD, KEY_SLASH);
m_PlayMappingsDeviceInput.button[EDIT_BUTTON_RETURN_TO_EDIT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_ESC);
m_PlayMappingsMenuButton.button[EDIT_BUTTON_RETURN_TO_EDIT][1] = GAME_BUTTON_BACK;
@@ -318,6 +346,8 @@ void ScreenEdit::InitEditMappings()
m_RecordPausedMappingsDeviceInput.button[EDIT_BUTTON_UNDO][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cu);
}
#endif
/* Given a DeviceInput that was just depressed, return an active edit function. */
EditButton ScreenEdit::DeviceToEdit( const DeviceInput &DeviceI ) const
{
@@ -510,7 +540,8 @@ static MenuDef g_AreaMenu(
static MenuDef g_StepsInformation(
"ScreenMiniMenuStepsInformation",
MenuRowDef( ScreenEdit::difficulty, "Difficulty", true, EditMode_Practice, true, true, 0, NULL ),
MenuRowDef( ScreenEdit::meter, "Meter", true, EditMode_Practice, true, false, 0, MIN_METER, MAX_METER ),
// xxx: this giant list of numbers SUUUUUUUUUUCKS -aj
MenuRowDef( ScreenEdit::meter, "Meter", true, EditMode_Practice, true, false, 0, "1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25" ),
MenuRowDef( ScreenEdit::description, "Description", true, EditMode_Practice, true, true, 0, NULL ),
MenuRowDef( ScreenEdit::chartstyle, "Chart Style", true, EditMode_Practice, true, true, 0, NULL ),
MenuRowDef( ScreenEdit::step_credit, "Step Author", true, EditMode_Practice, true, true, 0, NULL ),
@@ -538,10 +569,7 @@ static MenuDef g_SongInformation(
MenuRowDef( ScreenEdit::main_title_transliteration, "Main title transliteration", true, EditMode_Practice, true, true, 0, NULL ),
MenuRowDef( ScreenEdit::sub_title_transliteration, "Sub title transliteration", true, EditMode_Practice, true, true, 0, NULL ),
MenuRowDef( ScreenEdit::artist_transliteration, "Artist transliteration", true, EditMode_Practice, true, true, 0, NULL ),
MenuRowDef( ScreenEdit::last_beat_hint, "Last beat hint", true, EditMode_Full, true, true, 0, NULL ),
MenuRowDef( ScreenEdit::display_bpm, "Display BPM", true, EditMode_Full, true, true, 0, "Actual", "Specified", "Random" ),
MenuRowDef( ScreenEdit::min_bpm, "Min BPM", true, EditMode_Full, true, true, 0, NULL ),
MenuRowDef( ScreenEdit::max_bpm, "Max BPM", true, EditMode_Full, true, true, 0, NULL )
MenuRowDef( ScreenEdit::last_beat_hint, "Last beat hint", true, EditMode_Full, true, true, 0, NULL )
);
static MenuDef g_TimingDataInformation(
@@ -552,8 +580,7 @@ static MenuDef g_TimingDataInformation(
MenuRowDef( ScreenEdit::time_signature_numerator, "Edit time signature (top)", true, EditMode_Full, true, true, 0, NULL ),
MenuRowDef( ScreenEdit::time_signature_denominator, "Edit time signature (bottom)", true, EditMode_Full, true, true, 0, NULL ),
MenuRowDef( ScreenEdit::tickcount, "Edit tickcount", true, EditMode_Full, true, true, 0, NULL ),
MenuRowDef( ScreenEdit::combo, "Edit combo", true, EditMode_Full, true, true, 0, NULL ),
MenuRowDef( ScreenEdit::warp, "Edit warp", true, EditMode_Full, true, true, 0, NULL )
MenuRowDef( ScreenEdit::combo, "Edit combo", true, EditMode_Full, true, true, 0, NULL )
);
enum { song_bganimation, song_movie, song_bitmap, global_bganimation, global_movie, global_movie_song_group, global_movie_song_group_and_genre, dynamic_random, baked_random, none };
@@ -738,11 +765,8 @@ void ScreenEdit::Init()
}
}
m_PlayerStateEdit.m_PlayerNumber = PLAYER_1;
// If we always go with the GAMESTATE NoteSkin, we will have fun effects
// like Vivid or Flat in the editor notefield. This is not conducive to
// productive editing.
// todo: We should allow certain noteskins (note-colored/rhythm) to be
// displayed. (Perhaps this should be a noteskin metric.) -aj
// If we always go with the GAMESTATE NoteSkin, we will have fun effects like Vivid or Flat in the editor notefield.
// This is not conducive to productive editing.
if( NOTESKIN->DoesNoteSkinExist( EDITOR_NOTE_SKINS[PLAYER_1].Get() ) )
{
PO_GROUP_ASSIGN( m_PlayerStateEdit.m_PlayerOptions, ModsLevel_Stage, m_sNoteSkin, EDITOR_NOTE_SKINS[PLAYER_1].Get() );
@@ -1219,8 +1243,6 @@ static int FindAttackAtTime( const AttackArray& attacks, float fStartTime )
static LocalizedString SWITCHED_TO ( "ScreenEdit", "Switched to" );
static LocalizedString NO_BACKGROUNDS_AVAILABLE ( "ScreenEdit", "No backgrounds available" );
static ThemeMetric<bool> INVERT_SCROLL_BUTTONS ( "ScreenEdit", "InvertScrollSpeedButtons" );
void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB )
{
if( input.type == IET_RELEASE )
@@ -1342,10 +1364,10 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB )
{
DEFAULT_FAIL(EditB);
case EDIT_BUTTON_SCROLL_SPEED_DOWN:
INVERT_SCROLL_BUTTONS ? ++iSpeed : --iSpeed;
--iSpeed;
break;
case EDIT_BUTTON_SCROLL_SPEED_UP:
INVERT_SCROLL_BUTTONS ? --iSpeed : ++iSpeed;
++iSpeed;
break;
}
iSpeed = clamp( iSpeed, 0, (int) ARRAYLEN(fSpeeds)-1 );
@@ -2646,12 +2668,6 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM )
}
SetDirty( true );
}
else if ( SM == SM_BackFromWarpChange )
{
float fWarp = StringToFloat( ScreenTextEntry::s_sLastAnswer );
m_pSong->m_Timing.SetWarpAtBeat( GAMESTATE->m_fSongBeat, fWarp );
SetDirty( true );
}
else if( SM == SM_BackFromBGChange )
{
HandleBGChangeChoice( (BGChangeChoice)ScreenMiniMenu::s_iLastRowCode, ScreenMiniMenu::s_viLastAnswers );
@@ -2851,8 +2867,8 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM )
if( (*s)->IsAutogen() )
continue;
// If the notedata has content, let it go.
if( !(*s)->GetNoteData().IsEmpty() )
continue;
// if( !(*s)->m_NoteData->IsEmpty() )
// continue;
// It's hard to say if these steps were saved to disk or not.
/*
if( !(*s)->GetSavedToDisk() )
@@ -2982,16 +2998,6 @@ static void ChangeLastBeatHint( const RString &sNew )
GAMESTATE->m_pCurSong->m_fSpecifiedLastBeat = StringToFloat( sNew );
}
static void ChangeMinBPM( const RString &sNew )
{
GAMESTATE->m_pCurSong->m_fSpecifiedBPMMin = StringToFloat( sNew );
}
static void ChangeMaxBPM( const RString &sNew )
{
GAMESTATE->m_pCurSong->m_fSpecifiedBPMMax = StringToFloat( sNew );
}
// End helper functions
static LocalizedString REVERT_LAST_SAVE ( "ScreenEdit", "Do you want to revert to your last save?" );
@@ -3183,9 +3189,6 @@ void ScreenEdit::HandleMainMenuChoice( MainMenuChoice c, const vector<int> &iAns
g_SongInformation.rows[sub_title_transliteration].SetOneUnthemedChoice( pSong->m_sSubTitleTranslit );
g_SongInformation.rows[artist_transliteration].SetOneUnthemedChoice( pSong->m_sArtistTranslit );
g_SongInformation.rows[last_beat_hint].SetOneUnthemedChoice( ssprintf("%.5f", pSong->m_fSpecifiedLastBeat) );
g_SongInformation.rows[display_bpm].iDefaultChoice = pSong->m_DisplayBPMType;
g_SongInformation.rows[min_bpm].SetOneUnthemedChoice( ssprintf("%.5f", pSong->m_fSpecifiedBPMMin) );
g_SongInformation.rows[max_bpm].SetOneUnthemedChoice( ssprintf("%.5f", pSong->m_fSpecifiedBPMMax) );
EditMiniMenu( &g_SongInformation, SM_BackFromSongInformation );
}
@@ -3202,7 +3205,6 @@ void ScreenEdit::HandleMainMenuChoice( MainMenuChoice c, const vector<int> &iAns
g_TimingDataInformation.rows[time_signature_denominator].SetOneUnthemedChoice( ssprintf("%d", pTime.GetTimeSignatureDenominatorAtBeat( fBeat ) ) );
g_TimingDataInformation.rows[tickcount].SetOneUnthemedChoice( ssprintf("%d", pTime.GetTickcountAtBeat( fBeat ) ) );
g_TimingDataInformation.rows[combo].SetOneUnthemedChoice( ssprintf("%d", pTime.GetComboAtBeat( fBeat ) ) );
g_TimingDataInformation.rows[warp].SetOneUnthemedChoice( ssprintf("%.5f", pTime.GetWarpAtBeat( fBeat ) ) );
EditMiniMenu( &g_TimingDataInformation, SM_BackFromTimingDataInformation );
}
@@ -3415,9 +3417,11 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector<int> &iAns
case tempo:
{
// This affects all steps.
const NoteData OldClipboard( m_Clipboard );
HandleAreaMenuChoice( cut );
AlterType at = (AlterType)iAnswers[c];
float fScale = -1;
switch( at )
{
DEFAULT_FAIL( at );
@@ -3428,18 +3432,31 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector<int> &iAns
case expand_3_2: fScale = 1.5f; break;
case expand_2x: fScale = 2; break;
}
int iStartIndex = m_NoteFieldEdit.m_iBeginMarker;
int iEndIndex = m_NoteFieldEdit.m_iEndMarker;
int iNewEndIndex = iEndIndex + lrintf( (iEndIndex - iStartIndex) * (fScale - 1) );
// scale currently editing notes
NoteDataUtil::ScaleRegion( m_NoteDataEdit, fScale, iStartIndex, iEndIndex );
// scale timing data
m_pSong->m_Timing.ScaleRegion( fScale, m_NoteFieldEdit.m_iBeginMarker, m_NoteFieldEdit.m_iEndMarker, true );
// scale all other steps.
switch( at )
{
DEFAULT_FAIL( at );
case compress_2x: NoteDataUtil::Scale( m_Clipboard, fScale ); break;
case compress_3_2: NoteDataUtil::Scale( m_Clipboard, fScale ); break;
case compress_4_3: NoteDataUtil::Scale( m_Clipboard, fScale ); break;
case expand_4_3: NoteDataUtil::Scale( m_Clipboard, fScale ); break;
case expand_3_2: NoteDataUtil::Scale( m_Clipboard, fScale ); break;
case expand_2x: NoteDataUtil::Scale( m_Clipboard, fScale ); break;
}
int iOldClipboardRow = m_NoteFieldEdit.m_iEndMarker - m_NoteFieldEdit.m_iBeginMarker;
int iNewClipboardRow = lrintf( iOldClipboardRow * fScale );
int iDeltaRows = iNewClipboardRow - iOldClipboardRow;
int iNewClipboardEndRow = m_NoteFieldEdit.m_iBeginMarker + iNewClipboardRow;
if( iDeltaRows > 0 )
NoteDataUtil::InsertRows( m_NoteDataEdit, m_NoteFieldEdit.m_iBeginMarker, iDeltaRows );
else
NoteDataUtil::DeleteRows( m_NoteDataEdit, m_NoteFieldEdit.m_iBeginMarker, -iDeltaRows );
m_pSong->m_Timing.ScaleRegion( fScale, m_NoteFieldEdit.m_iBeginMarker, m_NoteFieldEdit.m_iEndMarker );
HandleAreaMenuChoice( paste_at_begin_marker );
const vector<Steps*> sIter = m_pSong->GetAllSteps();
RString sTempStyle, sTempDiff;
for( unsigned i = 0; i < sIter.size(); i++ )
@@ -3459,8 +3476,12 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector<int> &iAns
sIter[i]->SetNoteData( ndTemp );
}
m_NoteFieldEdit.m_iEndMarker = iNewEndIndex;
m_NoteFieldEdit.m_iEndMarker = iNewClipboardEndRow;
float fOldBPM = m_pSong->GetBPMAtBeat( NoteRowToBeat(m_NoteFieldEdit.m_iBeginMarker) );
float fNewBPM = fOldBPM * fScale;
m_pSong->m_Timing.SetBPMAtRow( m_NoteFieldEdit.m_iBeginMarker, fNewBPM );
m_pSong->m_Timing.SetBPMAtRow( iNewClipboardEndRow, fOldBPM );
}
break;
case play:
@@ -3520,7 +3541,7 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector<int> &iAns
// don't move the step from where it is, just move everything later
NoteDataUtil::InsertRows( m_NoteDataEdit, BeatToNoteRow(GAMESTATE->m_fSongBeat) + 1, BeatToNoteRow(fStopBeats) );
m_pSong->m_Timing.InsertRows( BeatToNoteRow(GAMESTATE->m_fSongBeat) + 1, BeatToNoteRow(fStopBeats) );
m_pSong->m_Timing.InsertRows( BeatToNoteRow(GAMESTATE->m_fSongBeat) + 1, BeatToNoteRow(fStopSeconds) );
}
break;
case undo:
@@ -3546,6 +3567,7 @@ void ScreenEdit::HandleStepsInformationChoice( StepsInformationChoice c, const v
switch( c )
{
case description:
// todo: Call a screen with class ScreenTextEntry instead. -aj
ScreenTextEntry::TextEntry(
SM_None,
ENTER_NEW_DESCRIPTION,
@@ -3590,15 +3612,15 @@ static LocalizedString ENTER_MAIN_TITLE_TRANSLIT ("ScreenEdit","Enter a new main
static LocalizedString ENTER_SUB_TITLE_TRANSLIT ("ScreenEdit","Enter a new sub title transliteration.");
static LocalizedString ENTER_ARTIST_TRANSLIT ("ScreenEdit","Enter a new artist transliteration.");
static LocalizedString ENTER_LAST_BEAT_HINT ("ScreenEdit","Enter a new last beat hint.");
static LocalizedString ENTER_MIN_BPM ("ScreenEdit","Enter a new min BPM.");
static LocalizedString ENTER_MAX_BPM ("ScreenEdit","Enter a new max BPM.");
void ScreenEdit::HandleSongInformationChoice( SongInformationChoice c, const vector<int> &iAnswers )
{
Song* pSong = GAMESTATE->m_pCurSong;
pSong->m_DisplayBPMType = static_cast<DisplayBPM>(iAnswers[display_bpm]);
// todo: Call a screen with class ScreenTextEntry instead.
// multiple times in this section, so I'm only saying it here. -aj
switch( c )
{
DEFAULT_FAIL(c);
case main_title:
ScreenTextEntry::TextEntry( SM_None, ENTER_MAIN_TITLE, pSong->m_sMainTitle, 100, NULL, ChangeMainTitle, NULL );
break;
@@ -3624,20 +3646,7 @@ void ScreenEdit::HandleSongInformationChoice( SongInformationChoice c, const vec
ScreenTextEntry::TextEntry( SM_None, ENTER_ARTIST_TRANSLIT, pSong->m_sArtistTranslit, 100, NULL, ChangeArtistTranslit, NULL );
break;
case last_beat_hint:
ScreenTextEntry::TextEntry( SM_None, ENTER_LAST_BEAT_HINT,
ssprintf("%.5f", pSong->m_fSpecifiedLastBeat), 20,
ScreenTextEntry::FloatValidate, ChangeLastBeatHint, NULL );
break;
case min_bpm:
ScreenTextEntry::TextEntry( SM_None, ENTER_MIN_BPM,
ssprintf("%.5f", pSong->m_fSpecifiedBPMMin), 20,
ScreenTextEntry::FloatValidate, ChangeMinBPM, NULL );
break;
case max_bpm:
ScreenTextEntry::TextEntry( SM_None, ENTER_MAX_BPM,
ssprintf("%.5f", pSong->m_fSpecifiedBPMMax), 20,
ScreenTextEntry::FloatValidate, ChangeMaxBPM, NULL );
break;
ScreenTextEntry::TextEntry( SM_None, ENTER_LAST_BEAT_HINT, ssprintf("%.5f", pSong->m_fSpecifiedLastBeat), 20, ScreenTextEntry::FloatValidate, ChangeLastBeatHint, NULL );
};
}
@@ -3648,13 +3657,13 @@ static LocalizedString ENTER_TIME_SIGNATURE_NUMERATOR_VALUE ( "ScreenEdit", "Ent
static LocalizedString ENTER_TIME_SIGNATURE_DENOMINATOR_VALUE ( "ScreenEdit", "Enter a new Time Signature denominator value." );
static LocalizedString ENTER_TICKCOUNT_VALUE ( "ScreenEdit", "Enter a new Tickcount value." );
static LocalizedString ENTER_COMBO_VALUE ( "ScreenEdit", "Enter a new Combo value." );
static LocalizedString ENTER_WARP_VALUE ( "ScreenEdit", "Enter a new Warp value." );
void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice c, const vector<int> &iAnswers )
{
switch( c )
{
DEFAULT_FAIL( c );
case bpm:
// todo: Call a screen with class ScreenTextEntry instead. -aj
ScreenTextEntry::TextEntry(
SM_BackFromBPMChange,
ENTER_BPM_VALUE,
@@ -3663,6 +3672,7 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice
);
break;
case stop:
// todo: Call a screen with class ScreenTextEntry instead. -aj
ScreenTextEntry::TextEntry(
SM_BackFromStopChange,
ENTER_STOP_VALUE,
@@ -3671,6 +3681,7 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice
);
break;
case delay:
// todo: Call a screen with class ScreenTextEntry instead. -aj
ScreenTextEntry::TextEntry(
SM_BackFromDelayChange,
ENTER_DELAY_VALUE,
@@ -3710,14 +3721,6 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice
4
);
break;
case warp:
ScreenTextEntry::TextEntry(
SM_BackFromWarpChange,
ENTER_WARP_VALUE,
ssprintf( "%.4f", m_pSong->m_Timing.GetWarpAtRow( BeatToNoteRow(GAMESTATE->m_fSongBeat) ) ),
10
);
break;
}
}
+39 -7
View File
@@ -68,12 +68,27 @@
#include "SpecialFiles.h"
#include "Profile.h"
#if defined(WIN32)
#if defined(XBOX)
#include "Archutils/Xbox/VirtualMemory.h"
#endif
#if defined(WIN32) && !defined(XBOX)
#include <windows.h>
#endif
// since the XBOX SDK only works with VS.Net 2003, this doesn't exist yet.
// see http://old.nabble.com/Linking-Error-with-MSVC%2B%2B-6.0-td21608559.html
// for more information. -aj
#if defined(XBOX)
extern "C"
{
int _get_output_format( void ){ return 0; }
}
#endif
static Preference<bool> g_bAllowMultipleInstances( "AllowMultipleInstances", false );
void StepMania::GetPreferredVideoModeParams( VideoModeParams &paramsOut )
{
/* We can't rely on there being full-screen video modes that give us square
@@ -406,7 +421,7 @@ static void AdjustForChangedSystemCapabilities()
}
#if defined(WIN32)
#include "RageDisplay_D3D.h"
//#include "RageDisplay_D3D.h"
#include "archutils/Win32/VideoDriverInfo.h"
#endif
@@ -454,6 +469,14 @@ struct VideoCardDefaults
}
} const g_VideoCardDefaults[] =
{
VideoCardDefaults(
"Xbox",
"d3d",
600,400,
32,32,32,
2048,
true
),
VideoCardDefaults(
"Voodoo *5",
"d3d,opengl", // received 3 reports of opengl crashing. -Chris
@@ -613,6 +636,8 @@ static RString GetVideoDriverName()
{
#if defined(_WINDOWS)
return GetPrimaryVideoDriverName();
#elif defined(_XBOX)
return "Xbox";
#else
return "OpenGL";
#endif
@@ -737,14 +762,15 @@ RageDisplay *CreateDisplay()
if( sRenderer.CompareNoCase("opengl")==0 )
{
#if defined(SUPPORT_OPENGL)
pRet = new RageDisplay_OGL;
pRet = new RageDisplay_Legacy;
#endif
}
else if( sRenderer.CompareNoCase("d3d")==0 )
{
#if defined(SUPPORT_D3D)
pRet = new RageDisplay_D3D;
#endif
// TODO: ANGLE/RageDisplay_Modern
//#if defined(SUPPORT_D3D)
// pRet = new RageDisplay_D3D;
//#endif
}
else if( sRenderer.CompareNoCase("null")==0 )
{
@@ -854,8 +880,11 @@ static void MountTreeOfZips( const RString &dir )
RString path = dirs.back();
dirs.pop_back();
#if !defined(XBOX)
// Xbox doesn't detect directories properly, so we'll ignore this
if( !IsADirectory(path) )
continue;
#endif
vector<RString> zips;
GetDirListing( path + "/*.zip", zips, false, true );
@@ -969,6 +998,10 @@ int main(int argc, char* argv[])
ApplyLogPreferences();
#if defined(XBOX)
vmem_Manager.Init();
#endif
WriteLogHeader();
// Set up alternative filesystem trees.
@@ -1534,4 +1567,3 @@ void HandleInputEvents(float fDeltaTime)
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
@@ -3,7 +3,7 @@
#import "DisplayResolutions.h"
#import "RageUtil.h"
#import "RageThreads.h"
#import "RageDisplay_OGL_Helpers.h"
#import "RageDisplay_Legacy_Helpers.h"
#import "arch/ArchHooks/ArchHooks.h"
#import <Cocoa/Cocoa.h>
@@ -257,7 +257,7 @@ void RenderTarget_MacOSX::Create( const RenderTargetParam &param, int &iTextureW
iTextureWidth, iTextureHeight, 0, param.bWithAlpha? GL_RGBA:GL_RGB,
GL_UNSIGNED_BYTE, NULL );
GLenum error = glGetError();
ASSERT_M( error == GL_NO_ERROR, RageDisplay_OGL_Helpers::GLToString(error) );
ASSERT_M( error == GL_NO_ERROR, RageDisplay_Legacy_Helpers::GLToString(error) );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
@@ -284,7 +284,7 @@ void RenderTarget_MacOSX::FinishRenderingTo()
glCopyTexSubImage2D( GL_TEXTURE_2D, 0, 0, 0, 0, 0, m_iWidth, m_iHeight );
GLenum error = glGetError();
ASSERT_M( error == GL_NO_ERROR, RageDisplay_OGL_Helpers::GLToString(error) );
ASSERT_M( error == GL_NO_ERROR, RageDisplay_Legacy_Helpers::GLToString(error) );
glBindTexture( GL_TEXTURE_2D, 0 );
@@ -632,4 +632,3 @@ void LowLevelWindow_MacOSX::BeginConcurrentRendering()
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
@@ -9,7 +9,7 @@
#include "LocalizedString.h"
#include "RageDisplay_OGL_Helpers.h"
using namespace RageDisplay_OGL_Helpers;
using namespace RageDisplay_Legacy_Helpers;
using namespace X11Helper;
#include <stack>