Major overhaul fix

This commit is contained in:
Robin Engman 2014-02-10 10:52:08 +01:00
parent 99146430a4
commit 427ec3b716
678 changed files with 22618 additions and 1072 deletions

View File

@ -25,9 +25,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NetworkDependencies", "Netw
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GamePhysics", "GamePhysics\GamePhysics.vcxproj", "{104FA3E9-94D9-4E1D-A941-28A03BC8A095}"
ProjectSection(ProjectDependencies) = postProject
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2} = {6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274} = {B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}
{22C0C4D8-6C43-406A-9CDB-76A4F800971A} = {22C0C4D8-6C43-406A-9CDB-76A4F800971A}
{D4985405-3286-4026-BD61-E9E53DC5027E} = {D4985405-3286-4026-BD61-E9E53DC5027E}
{C933A737-D7BA-4136-95AF-D12310BD6BA8} = {C933A737-D7BA-4136-95AF-D12310BD6BA8}
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B} = {74EDC06C-85E5-47BC-B42D-F55CE6E9928B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DanBiasGame", "Game\DanBiasGame\DanBiasGame.vcxproj", "{2A1BC987-AF42-4500-802D-89CD32FC1309}"
@ -44,19 +44,17 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GameProtocols", "Game\GameP
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DanBiasServerLauncher", "Game\DanBiasServerLauncher\DanBiasServerLauncher.vcxproj", "{060B1890-CBF3-4808-BA99-A4776222093B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Physics lab", "Physics lab\Physics lab.vcxproj", "{5128BD77-6472-4C4A-BE6F-724AD0E589C2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GameServer", "Game\GameServer\GameServer.vcxproj", "{143BD516-20A1-4890-A3E4-F8BFD02220E7}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aDanBiasGameLauncher", "Game\aDanBiasGameLauncher\aDanBiasGameLauncher.vcxproj", "{666FEA52-975F-41CD-B224-B19AF3C0ABBA}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Physics", "Physics", "{0D86E569-9C74-47F0-BDB2-390C0C9A084B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BulletCollision", "Physics\BulletCollision\BulletCollision.vcxproj", "{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BulletCollision", "Physics\src\BulletCollision\BulletCollision.vcxproj", "{C933A737-D7BA-4136-95AF-D12310BD6BA8}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BulletDynamics", "Physics\BulletDynamics\BulletDynamics.vcxproj", "{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LinearMath", "Physics\src\LinearMath\LinearMath.vcxproj", "{D4985405-3286-4026-BD61-E9E53DC5027E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LinearMath", "Physics\LinearMath\LinearMath.vcxproj", "{22C0C4D8-6C43-406A-9CDB-76A4F800971A}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BulletDynamics", "Physics\src\BulletDynamics\BulletDynamics.vcxproj", "{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -464,24 +462,6 @@ Global
{060B1890-CBF3-4808-BA99-A4776222093B}.RelWithDebInfo|Win32.Build.0 = Release|Win32
{060B1890-CBF3-4808-BA99-A4776222093B}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{060B1890-CBF3-4808-BA99-A4776222093B}.RelWithDebInfo|x64.Build.0 = Release|x64
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.Debug|Win32.ActiveCfg = Debug|Win32
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.Debug|Win32.Build.0 = Debug|Win32
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.Debug|x64.ActiveCfg = Debug|x64
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.Debug|x64.Build.0 = Debug|x64
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.MinSizeRel|Mixed Platforms.ActiveCfg = Release|Win32
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.MinSizeRel|Win32.ActiveCfg = Release|Win32
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.MinSizeRel|x64.ActiveCfg = Release|x64
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.Release|Mixed Platforms.Build.0 = Release|Win32
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.Release|Win32.ActiveCfg = Release|Win32
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.Release|Win32.Build.0 = Release|Win32
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.Release|x64.ActiveCfg = Release|x64
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.Release|x64.Build.0 = Release|x64
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.RelWithDebInfo|Mixed Platforms.ActiveCfg = Release|Win32
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.RelWithDebInfo|Win32.ActiveCfg = Release|Win32
{5128BD77-6472-4C4A-BE6F-724AD0E589C2}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{143BD516-20A1-4890-A3E4-F8BFD02220E7}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{143BD516-20A1-4890-A3E4-F8BFD02220E7}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{143BD516-20A1-4890-A3E4-F8BFD02220E7}.Debug|Win32.ActiveCfg = Debug|Win32
@ -530,66 +510,66 @@ Global
{666FEA52-975F-41CD-B224-B19AF3C0ABBA}.RelWithDebInfo|Win32.Build.0 = Release|Win32
{666FEA52-975F-41CD-B224-B19AF3C0ABBA}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{666FEA52-975F-41CD-B224-B19AF3C0ABBA}.RelWithDebInfo|x64.Build.0 = Release|x64
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.Debug|Win32.ActiveCfg = Debug|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.Debug|Win32.Build.0 = Debug|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.Debug|x64.ActiveCfg = Debug|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.MinSizeRel|Mixed Platforms.ActiveCfg = MinSizeRel|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.MinSizeRel|Mixed Platforms.Build.0 = MinSizeRel|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.MinSizeRel|x64.ActiveCfg = MinSizeRel|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.Release|Mixed Platforms.Build.0 = Release|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.Release|Win32.ActiveCfg = Release|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.Release|Win32.Build.0 = Release|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.Release|x64.ActiveCfg = Release|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.RelWithDebInfo|Mixed Platforms.ActiveCfg = RelWithDebInfo|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.RelWithDebInfo|Mixed Platforms.Build.0 = RelWithDebInfo|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.Debug|Win32.ActiveCfg = Debug|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.Debug|Win32.Build.0 = Debug|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.Debug|x64.ActiveCfg = Debug|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.MinSizeRel|Mixed Platforms.ActiveCfg = MinSizeRel|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.MinSizeRel|Mixed Platforms.Build.0 = MinSizeRel|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.MinSizeRel|x64.ActiveCfg = MinSizeRel|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.Release|Mixed Platforms.Build.0 = Release|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.Release|Win32.ActiveCfg = Release|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.Release|Win32.Build.0 = Release|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.Release|x64.ActiveCfg = Release|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.RelWithDebInfo|Mixed Platforms.ActiveCfg = RelWithDebInfo|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.RelWithDebInfo|Mixed Platforms.Build.0 = RelWithDebInfo|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.Debug|Win32.ActiveCfg = Debug|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.Debug|Win32.Build.0 = Debug|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.Debug|x64.ActiveCfg = Debug|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.MinSizeRel|Mixed Platforms.ActiveCfg = MinSizeRel|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.MinSizeRel|Mixed Platforms.Build.0 = MinSizeRel|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.MinSizeRel|x64.ActiveCfg = MinSizeRel|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.Release|Mixed Platforms.Build.0 = Release|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.Release|Win32.ActiveCfg = Release|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.Release|Win32.Build.0 = Release|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.Release|x64.ActiveCfg = Release|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.RelWithDebInfo|Mixed Platforms.ActiveCfg = RelWithDebInfo|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.RelWithDebInfo|Mixed Platforms.Build.0 = RelWithDebInfo|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{22C0C4D8-6C43-406A-9CDB-76A4F800971A}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.Debug|Win32.ActiveCfg = Debug|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.Debug|Win32.Build.0 = Debug|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.Debug|x64.ActiveCfg = Debug|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.MinSizeRel|Mixed Platforms.ActiveCfg = MinSizeRel|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.MinSizeRel|Mixed Platforms.Build.0 = MinSizeRel|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.MinSizeRel|x64.ActiveCfg = MinSizeRel|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.Release|Mixed Platforms.Build.0 = Release|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.Release|Win32.ActiveCfg = Release|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.Release|Win32.Build.0 = Release|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.Release|x64.ActiveCfg = Release|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.RelWithDebInfo|Mixed Platforms.ActiveCfg = RelWithDebInfo|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.RelWithDebInfo|Mixed Platforms.Build.0 = RelWithDebInfo|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.Debug|Win32.ActiveCfg = Debug|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.Debug|Win32.Build.0 = Debug|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.Debug|x64.ActiveCfg = Debug|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.MinSizeRel|Mixed Platforms.ActiveCfg = MinSizeRel|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.MinSizeRel|Mixed Platforms.Build.0 = MinSizeRel|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.MinSizeRel|x64.ActiveCfg = MinSizeRel|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.Release|Mixed Platforms.Build.0 = Release|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.Release|Win32.ActiveCfg = Release|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.Release|Win32.Build.0 = Release|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.Release|x64.ActiveCfg = Release|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.RelWithDebInfo|Mixed Platforms.ActiveCfg = RelWithDebInfo|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.RelWithDebInfo|Mixed Platforms.Build.0 = RelWithDebInfo|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.Debug|Win32.ActiveCfg = Debug|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.Debug|Win32.Build.0 = Debug|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.Debug|x64.ActiveCfg = Debug|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.MinSizeRel|Mixed Platforms.ActiveCfg = MinSizeRel|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.MinSizeRel|Mixed Platforms.Build.0 = MinSizeRel|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.MinSizeRel|x64.ActiveCfg = MinSizeRel|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.Release|Mixed Platforms.Build.0 = Release|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.Release|Win32.ActiveCfg = Release|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.Release|Win32.Build.0 = Release|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.Release|x64.ActiveCfg = Release|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.RelWithDebInfo|Mixed Platforms.ActiveCfg = RelWithDebInfo|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.RelWithDebInfo|Mixed Platforms.Build.0 = RelWithDebInfo|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -606,8 +586,8 @@ Global
{060B1890-CBF3-4808-BA99-A4776222093B} = {20720CA7-795C-45AD-A302-9383A6DD503A}
{143BD516-20A1-4890-A3E4-F8BFD02220E7} = {20720CA7-795C-45AD-A302-9383A6DD503A}
{666FEA52-975F-41CD-B224-B19AF3C0ABBA} = {20720CA7-795C-45AD-A302-9383A6DD503A}
{B84D4C8B-DF9F-4B41-994D-A6FFFA64F274} = {0D86E569-9C74-47F0-BDB2-390C0C9A084B}
{6BCE5708-BFA3-4DE3-9942-E521A8A4EFE2} = {0D86E569-9C74-47F0-BDB2-390C0C9A084B}
{22C0C4D8-6C43-406A-9CDB-76A4F800971A} = {0D86E569-9C74-47F0-BDB2-390C0C9A084B}
{C933A737-D7BA-4136-95AF-D12310BD6BA8} = {0D86E569-9C74-47F0-BDB2-390C0C9A084B}
{D4985405-3286-4026-BD61-E9E53DC5027E} = {0D86E569-9C74-47F0-BDB2-390C0C9A084B}
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B} = {0D86E569-9C74-47F0-BDB2-390C0C9A084B}
EndGlobalSection
EndGlobal

View File

@ -465,13 +465,13 @@ void GameState::Protocol( ObjPos* pos )
if(privData->object[i]->GetId() == pos->object_ID)
{
privData->object[i]->setPos(world);
Oyster::Math::Float3 pos = Oyster::Math::Float3(0, 600, 15);
if(i == myId) // playerobj
{
Oyster::Math::Float3 right = Oyster::Math::Float3(world[0], world[1], world[2]);
Oyster::Math::Float3 up = Oyster::Math::Float3(world[4], world[5], world[6]);
Oyster::Math::Float3 objForward = (Oyster::Math::Float3(world[8], world[9], world[10]));
Oyster::Math::Float3 pos = Oyster::Math::Float3(world[12], world[13], world[14]);
Oyster::Math::Float3 cameraLook = camera->GetLook();
@ -496,6 +496,7 @@ void GameState::Protocol( ObjPos* pos )
camera->UpdateViewMatrix();
}
camera->SetPosition(pos);
}
}
}

View File

@ -89,7 +89,7 @@
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)Physics\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)Physics\Bullet Source\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_WINDLL;PHYSICS_DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<GenerateXMLDocumentationFiles>false</GenerateXMLDocumentationFiles>
</ClCompile>
@ -97,7 +97,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
<ModuleDefinitionFile>
</ModuleDefinitionFile>
<AdditionalDependencies>$(SolutionDir)Physics/Debug/BulletCollision_Debug.lib;$(SolutionDir)Physics/Debug/BulletDynamics_Debug.lib;$(SolutionDir)Physics/Debug/LinearMath_Debug.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>$(SolutionDir)Physics/lib/debug/BulletCollision_Debug.lib;$(SolutionDir)Physics/lib/debug/BulletDynamics_Debug.lib;$(SolutionDir)Physics/lib/debug/LinearMath_Debug.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

View File

@ -67,7 +67,7 @@ void SimpleRigidBody::SetSubscription(EventAction_AfterCollisionResponse functio
void SimpleRigidBody::CallSubsciptMessage(ICustomBody* bodyA, ICustomBody* bodyB, Oyster::Math::Float kineticEnergyLoss)
{
this->CallSubsciptMessage(bodyA, bodyB, kineticEnergyLoss);
return;
}
btDefaultMotionState* SimpleRigidBody::GetMotionState() const

View File

@ -0,0 +1,244 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="MinSizeRel|Win32">
<Configuration>MinSizeRel</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="RelWithDebInfo|Win32">
<Configuration>RelWithDebInfo</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGUID>{14E546AD-2393-41B9-BAA2-134241286A4E}</ProjectGUID>
<Keyword>Win32Proj</Keyword>
<Platform>Win32</Platform>
<ProjectName>ALL_BUILD</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.20506.1</_ProjectFileVersion>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<AdditionalIncludeDirectories>C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\Glut;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<OutputDirectory>$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<AdditionalIncludeDirectories>C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\Glut;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<OutputDirectory>$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">
<Midl>
<AdditionalIncludeDirectories>C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\Glut;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<OutputDirectory>$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">
<Midl>
<AdditionalIncludeDirectories>C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\Glut;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<OutputDirectory>$(IntDir)</OutputDirectory>
<HeaderFileName>%(Filename).h</HeaderFileName>
<TypeLibraryName>%(Filename).tlb</TypeLibraryName>
<InterfaceIdentifierFileName>%(Filename)_i.c</InterfaceIdentifierFileName>
<ProxyFileName>%(Filename)_p.c</ProxyFileName>
</Midl>
</ItemDefinitionGroup>
<ItemGroup>
<CustomBuild Include="Bullet Source\CMakeLists.txt">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Building Custom Rule C:/DV1477/Git Repository/Danbias/Code/Physics/Bullet Source/CMakeLists.txt</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">setlocal
"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" "-HC:/DV1477/Git Repository/Danbias/Code/Physics/Bullet Source" "-BC:/DV1477/Git Repository/Danbias/Code/Physics" --check-stamp-file "C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\generate.stamp"
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal &amp; call :cmErrorLevel %errorlevel% &amp; goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:/DV1477/Git Repository/Danbias/Code/Physics/Bullet Source/CMakeLists.txt;C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\CMakeLists.txt;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeSystem.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeCCompiler.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeCXXCompiler.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeGenericSystem.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\WindowsPaths.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeRCCompiler.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeRCInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCXXInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindOpenGL.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageMessage.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeParseArguments.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindGLU.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindOpenGL.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageMessage.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeParseArguments.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindGLUT.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageMessage.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeParseArguments.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\BulletConfig.cmake.in;C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\CMakeLists.txt;%(AdditionalInputs)</AdditionalInputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\generate.stamp</Outputs>
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkObjects>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Building Custom Rule C:/DV1477/Git Repository/Danbias/Code/Physics/Bullet Source/CMakeLists.txt</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">setlocal
"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" "-HC:/DV1477/Git Repository/Danbias/Code/Physics/Bullet Source" "-BC:/DV1477/Git Repository/Danbias/Code/Physics" --check-stamp-file "C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\generate.stamp"
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal &amp; call :cmErrorLevel %errorlevel% &amp; goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:/DV1477/Git Repository/Danbias/Code/Physics/Bullet Source/CMakeLists.txt;C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\CMakeLists.txt;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeSystem.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeCCompiler.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeCXXCompiler.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeGenericSystem.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\WindowsPaths.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeRCCompiler.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeRCInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCXXInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindOpenGL.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageMessage.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeParseArguments.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindGLU.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindOpenGL.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageMessage.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeParseArguments.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindGLUT.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageMessage.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeParseArguments.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\BulletConfig.cmake.in;C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\CMakeLists.txt;%(AdditionalInputs)</AdditionalInputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\generate.stamp</Outputs>
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkObjects>
<Message Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">Building Custom Rule C:/DV1477/Git Repository/Danbias/Code/Physics/Bullet Source/CMakeLists.txt</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">setlocal
"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" "-HC:/DV1477/Git Repository/Danbias/Code/Physics/Bullet Source" "-BC:/DV1477/Git Repository/Danbias/Code/Physics" --check-stamp-file "C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\generate.stamp"
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal &amp; call :cmErrorLevel %errorlevel% &amp; goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">C:/DV1477/Git Repository/Danbias/Code/Physics/Bullet Source/CMakeLists.txt;C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\CMakeLists.txt;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeSystem.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeCCompiler.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeCXXCompiler.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeGenericSystem.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\WindowsPaths.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeRCCompiler.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeRCInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCXXInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindOpenGL.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageMessage.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeParseArguments.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindGLU.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindOpenGL.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageMessage.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeParseArguments.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindGLUT.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageMessage.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeParseArguments.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\BulletConfig.cmake.in;C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\CMakeLists.txt;%(AdditionalInputs)</AdditionalInputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\generate.stamp</Outputs>
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">false</LinkObjects>
<Message Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">Building Custom Rule C:/DV1477/Git Repository/Danbias/Code/Physics/Bullet Source/CMakeLists.txt</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">setlocal
"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" "-HC:/DV1477/Git Repository/Danbias/Code/Physics/Bullet Source" "-BC:/DV1477/Git Repository/Danbias/Code/Physics" --check-stamp-file "C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\generate.stamp"
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal &amp; call :cmErrorLevel %errorlevel% &amp; goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">C:/DV1477/Git Repository/Danbias/Code/Physics/Bullet Source/CMakeLists.txt;C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\CMakeLists.txt;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeSystem.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeCCompiler.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeCXXCompiler.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeSystemSpecificInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeGenericSystem.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\WindowsPaths.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC-C.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\2.8.12.2\CMakeRCCompiler.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeRCInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCXXInformation.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC-CXX.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\Platform\Windows-MSVC.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeCommonLanguageInclude.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindOpenGL.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageMessage.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeParseArguments.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindGLU.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindOpenGL.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageMessage.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeParseArguments.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindGLUT.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageHandleStandardArgs.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\FindPackageMessage.cmake;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules\CMakeParseArguments.cmake;C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\BulletConfig.cmake.in;C:\DV1477\Git Repository\Danbias\Code\Physics\Bullet Source\CMakeLists.txt;%(AdditionalInputs)</AdditionalInputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\generate.stamp</Outputs>
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">false</LinkObjects>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="CMakeFiles\a6d6ba8aee0513ad68b7d519ca138700\ALL_BUILD.rule">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Build all projects</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">setlocal
:cmEnd
endlocal &amp; call :cmErrorLevel %errorlevel% &amp; goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:/DV1477/Git Repository/Danbias/Code/Physics/CMakeFiles/a6d6ba8aee0513ad68b7d519ca138700/ALL_BUILD.rule;%(AdditionalInputs)</AdditionalInputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\ALL_BUILD</Outputs>
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkObjects>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Build all projects</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">setlocal
:cmEnd
endlocal &amp; call :cmErrorLevel %errorlevel% &amp; goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:/DV1477/Git Repository/Danbias/Code/Physics/CMakeFiles/a6d6ba8aee0513ad68b7d519ca138700/ALL_BUILD.rule;%(AdditionalInputs)</AdditionalInputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\ALL_BUILD</Outputs>
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkObjects>
<Message Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">Build all projects</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">setlocal
:cmEnd
endlocal &amp; call :cmErrorLevel %errorlevel% &amp; goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">C:/DV1477/Git Repository/Danbias/Code/Physics/CMakeFiles/a6d6ba8aee0513ad68b7d519ca138700/ALL_BUILD.rule;%(AdditionalInputs)</AdditionalInputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\ALL_BUILD</Outputs>
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|Win32'">false</LinkObjects>
<Message Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">Build all projects</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">setlocal
:cmEnd
endlocal &amp; call :cmErrorLevel %errorlevel% &amp; goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">C:/DV1477/Git Repository/Danbias/Code/Physics/CMakeFiles/a6d6ba8aee0513ad68b7d519ca138700/ALL_BUILD.rule;%(AdditionalInputs)</AdditionalInputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">C:\DV1477\Git Repository\Danbias\Code\Physics\CMakeFiles\ALL_BUILD</Outputs>
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|Win32'">false</LinkObjects>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<None Include="CMakeFiles\ALL_BUILD" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="C:/DV1477/Git Repository/Danbias/Code/Physics/src/BulletCollision/BulletCollision.vcxproj">
<Project>C933A737-D7BA-4136-95AF-D12310BD6BA8</Project>
</ProjectReference>
<ProjectReference Include="C:/DV1477/Git Repository/Danbias/Code/Physics/src/BulletDynamics/BulletDynamics.vcxproj">
<Project>74EDC06C-85E5-47BC-B42D-F55CE6E9928B</Project>
</ProjectReference>
<ProjectReference Include="C:/DV1477/Git Repository/Danbias/Code/Physics/src/BulletMultiThreaded/BulletMultiThreaded.vcxproj">
<Project>83B388D3-BE71-476A-AA6A-CC7082E3866D</Project>
</ProjectReference>
<ProjectReference Include="C:/DV1477/Git Repository/Danbias/Code/Physics/src/BulletSoftBody/BulletSoftBody.vcxproj">
<Project>14DC504E-697F-4178-8E05-87173957FE59</Project>
</ProjectReference>
<ProjectReference Include="C:/DV1477/Git Repository/Danbias/Code/Physics/src/BulletMultiThreaded/GpuSoftBodySolvers/DX11/BulletSoftBodySolvers_DX11.vcxproj">
<Project>2CF89262-94E6-4A9F-A29A-1BE6D73DDA85</Project>
</ProjectReference>
<ProjectReference Include="C:/DV1477/Git Repository/Danbias/Code/Physics/src/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/MiniCL/BulletSoftBodySolvers_OpenCL_Mini.vcxproj">
<Project>80FC7669-D649-4212-8B6F-C0167CE9CB59</Project>
</ProjectReference>
<ProjectReference Include="C:/DV1477/Git Repository/Danbias/Code/Physics/src/LinearMath/LinearMath.vcxproj">
<Project>D4985405-3286-4026-BD61-E9E53DC5027E</Project>
</ProjectReference>
<ProjectReference Include="C:/DV1477/Git Repository/Danbias/Code/Physics/src/MiniCL/MiniCL.vcxproj">
<Project>FA9E3157-5228-4CA4-8327-BD0AF11BD390</Project>
</ProjectReference>
<ProjectReference Include="C:/DV1477/Git Repository/Danbias/Code/Physics/ZERO_CHECK.vcxproj">
<Project>53399ED8-C4B0-4F84-9CA8-623049125822</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,162 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ALL_BUILD", "ALL_BUILD.vcxproj", "{14E546AD-2393-41B9-BAA2-134241286A4E}"
ProjectSection(ProjectDependencies) = postProject
{C933A737-D7BA-4136-95AF-D12310BD6BA8} = {C933A737-D7BA-4136-95AF-D12310BD6BA8}
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B} = {74EDC06C-85E5-47BC-B42D-F55CE6E9928B}
{83B388D3-BE71-476A-AA6A-CC7082E3866D} = {83B388D3-BE71-476A-AA6A-CC7082E3866D}
{14DC504E-697F-4178-8E05-87173957FE59} = {14DC504E-697F-4178-8E05-87173957FE59}
{2CF89262-94E6-4A9F-A29A-1BE6D73DDA85} = {2CF89262-94E6-4A9F-A29A-1BE6D73DDA85}
{80FC7669-D649-4212-8B6F-C0167CE9CB59} = {80FC7669-D649-4212-8B6F-C0167CE9CB59}
{D4985405-3286-4026-BD61-E9E53DC5027E} = {D4985405-3286-4026-BD61-E9E53DC5027E}
{FA9E3157-5228-4CA4-8327-BD0AF11BD390} = {FA9E3157-5228-4CA4-8327-BD0AF11BD390}
{53399ED8-C4B0-4F84-9CA8-623049125822} = {53399ED8-C4B0-4F84-9CA8-623049125822}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BulletCollision", "src\BulletCollision\BulletCollision.vcxproj", "{C933A737-D7BA-4136-95AF-D12310BD6BA8}"
ProjectSection(ProjectDependencies) = postProject
{53399ED8-C4B0-4F84-9CA8-623049125822} = {53399ED8-C4B0-4F84-9CA8-623049125822}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BulletDynamics", "src\BulletDynamics\BulletDynamics.vcxproj", "{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}"
ProjectSection(ProjectDependencies) = postProject
{53399ED8-C4B0-4F84-9CA8-623049125822} = {53399ED8-C4B0-4F84-9CA8-623049125822}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BulletMultiThreaded", "src\BulletMultiThreaded\BulletMultiThreaded.vcxproj", "{83B388D3-BE71-476A-AA6A-CC7082E3866D}"
ProjectSection(ProjectDependencies) = postProject
{53399ED8-C4B0-4F84-9CA8-623049125822} = {53399ED8-C4B0-4F84-9CA8-623049125822}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BulletSoftBody", "src\BulletSoftBody\BulletSoftBody.vcxproj", "{14DC504E-697F-4178-8E05-87173957FE59}"
ProjectSection(ProjectDependencies) = postProject
{53399ED8-C4B0-4F84-9CA8-623049125822} = {53399ED8-C4B0-4F84-9CA8-623049125822}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BulletSoftBodySolvers_DX11", "src\BulletMultiThreaded\GpuSoftBodySolvers\DX11\BulletSoftBodySolvers_DX11.vcxproj", "{2CF89262-94E6-4A9F-A29A-1BE6D73DDA85}"
ProjectSection(ProjectDependencies) = postProject
{53399ED8-C4B0-4F84-9CA8-623049125822} = {53399ED8-C4B0-4F84-9CA8-623049125822}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BulletSoftBodySolvers_OpenCL_Mini", "src\BulletMultiThreaded\GpuSoftBodySolvers\OpenCL\MiniCL\BulletSoftBodySolvers_OpenCL_Mini.vcxproj", "{80FC7669-D649-4212-8B6F-C0167CE9CB59}"
ProjectSection(ProjectDependencies) = postProject
{53399ED8-C4B0-4F84-9CA8-623049125822} = {53399ED8-C4B0-4F84-9CA8-623049125822}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "INSTALL", "INSTALL.vcxproj", "{71641E56-5E9E-462B-844F-A9F8A6D82120}"
ProjectSection(ProjectDependencies) = postProject
{14E546AD-2393-41B9-BAA2-134241286A4E} = {14E546AD-2393-41B9-BAA2-134241286A4E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LinearMath", "src\LinearMath\LinearMath.vcxproj", "{D4985405-3286-4026-BD61-E9E53DC5027E}"
ProjectSection(ProjectDependencies) = postProject
{53399ED8-C4B0-4F84-9CA8-623049125822} = {53399ED8-C4B0-4F84-9CA8-623049125822}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MiniCL", "src\MiniCL\MiniCL.vcxproj", "{FA9E3157-5228-4CA4-8327-BD0AF11BD390}"
ProjectSection(ProjectDependencies) = postProject
{53399ED8-C4B0-4F84-9CA8-623049125822} = {53399ED8-C4B0-4F84-9CA8-623049125822}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZERO_CHECK", "ZERO_CHECK.vcxproj", "{53399ED8-C4B0-4F84-9CA8-623049125822}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
MinSizeRel|Win32 = MinSizeRel|Win32
RelWithDebInfo|Win32 = RelWithDebInfo|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{14E546AD-2393-41B9-BAA2-134241286A4E}.Debug|Win32.ActiveCfg = Debug|Win32
{14E546AD-2393-41B9-BAA2-134241286A4E}.Debug|Win32.Build.0 = Debug|Win32
{14E546AD-2393-41B9-BAA2-134241286A4E}.Release|Win32.ActiveCfg = Release|Win32
{14E546AD-2393-41B9-BAA2-134241286A4E}.Release|Win32.Build.0 = Release|Win32
{14E546AD-2393-41B9-BAA2-134241286A4E}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{14E546AD-2393-41B9-BAA2-134241286A4E}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{14E546AD-2393-41B9-BAA2-134241286A4E}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{14E546AD-2393-41B9-BAA2-134241286A4E}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.Debug|Win32.ActiveCfg = Debug|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.Debug|Win32.Build.0 = Debug|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.Release|Win32.ActiveCfg = Release|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.Release|Win32.Build.0 = Release|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{C933A737-D7BA-4136-95AF-D12310BD6BA8}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.Debug|Win32.ActiveCfg = Debug|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.Debug|Win32.Build.0 = Debug|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.Release|Win32.ActiveCfg = Release|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.Release|Win32.Build.0 = Release|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{74EDC06C-85E5-47BC-B42D-F55CE6E9928B}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{83B388D3-BE71-476A-AA6A-CC7082E3866D}.Debug|Win32.ActiveCfg = Debug|Win32
{83B388D3-BE71-476A-AA6A-CC7082E3866D}.Debug|Win32.Build.0 = Debug|Win32
{83B388D3-BE71-476A-AA6A-CC7082E3866D}.Release|Win32.ActiveCfg = Release|Win32
{83B388D3-BE71-476A-AA6A-CC7082E3866D}.Release|Win32.Build.0 = Release|Win32
{83B388D3-BE71-476A-AA6A-CC7082E3866D}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{83B388D3-BE71-476A-AA6A-CC7082E3866D}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{83B388D3-BE71-476A-AA6A-CC7082E3866D}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{83B388D3-BE71-476A-AA6A-CC7082E3866D}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{14DC504E-697F-4178-8E05-87173957FE59}.Debug|Win32.ActiveCfg = Debug|Win32
{14DC504E-697F-4178-8E05-87173957FE59}.Debug|Win32.Build.0 = Debug|Win32
{14DC504E-697F-4178-8E05-87173957FE59}.Release|Win32.ActiveCfg = Release|Win32
{14DC504E-697F-4178-8E05-87173957FE59}.Release|Win32.Build.0 = Release|Win32
{14DC504E-697F-4178-8E05-87173957FE59}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{14DC504E-697F-4178-8E05-87173957FE59}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{14DC504E-697F-4178-8E05-87173957FE59}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{14DC504E-697F-4178-8E05-87173957FE59}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{2CF89262-94E6-4A9F-A29A-1BE6D73DDA85}.Debug|Win32.ActiveCfg = Debug|Win32
{2CF89262-94E6-4A9F-A29A-1BE6D73DDA85}.Debug|Win32.Build.0 = Debug|Win32
{2CF89262-94E6-4A9F-A29A-1BE6D73DDA85}.Release|Win32.ActiveCfg = Release|Win32
{2CF89262-94E6-4A9F-A29A-1BE6D73DDA85}.Release|Win32.Build.0 = Release|Win32
{2CF89262-94E6-4A9F-A29A-1BE6D73DDA85}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{2CF89262-94E6-4A9F-A29A-1BE6D73DDA85}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{2CF89262-94E6-4A9F-A29A-1BE6D73DDA85}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{2CF89262-94E6-4A9F-A29A-1BE6D73DDA85}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{80FC7669-D649-4212-8B6F-C0167CE9CB59}.Debug|Win32.ActiveCfg = Debug|Win32
{80FC7669-D649-4212-8B6F-C0167CE9CB59}.Debug|Win32.Build.0 = Debug|Win32
{80FC7669-D649-4212-8B6F-C0167CE9CB59}.Release|Win32.ActiveCfg = Release|Win32
{80FC7669-D649-4212-8B6F-C0167CE9CB59}.Release|Win32.Build.0 = Release|Win32
{80FC7669-D649-4212-8B6F-C0167CE9CB59}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{80FC7669-D649-4212-8B6F-C0167CE9CB59}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{80FC7669-D649-4212-8B6F-C0167CE9CB59}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{80FC7669-D649-4212-8B6F-C0167CE9CB59}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{71641E56-5E9E-462B-844F-A9F8A6D82120}.Debug|Win32.ActiveCfg = Debug|Win32
{71641E56-5E9E-462B-844F-A9F8A6D82120}.Release|Win32.ActiveCfg = Release|Win32
{71641E56-5E9E-462B-844F-A9F8A6D82120}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{71641E56-5E9E-462B-844F-A9F8A6D82120}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.Debug|Win32.ActiveCfg = Debug|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.Debug|Win32.Build.0 = Debug|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.Release|Win32.ActiveCfg = Release|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.Release|Win32.Build.0 = Release|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{D4985405-3286-4026-BD61-E9E53DC5027E}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{FA9E3157-5228-4CA4-8327-BD0AF11BD390}.Debug|Win32.ActiveCfg = Debug|Win32
{FA9E3157-5228-4CA4-8327-BD0AF11BD390}.Debug|Win32.Build.0 = Debug|Win32
{FA9E3157-5228-4CA4-8327-BD0AF11BD390}.Release|Win32.ActiveCfg = Release|Win32
{FA9E3157-5228-4CA4-8327-BD0AF11BD390}.Release|Win32.Build.0 = Release|Win32
{FA9E3157-5228-4CA4-8327-BD0AF11BD390}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{FA9E3157-5228-4CA4-8327-BD0AF11BD390}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{FA9E3157-5228-4CA4-8327-BD0AF11BD390}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{FA9E3157-5228-4CA4-8327-BD0AF11BD390}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{53399ED8-C4B0-4F84-9CA8-623049125822}.Debug|Win32.ActiveCfg = Debug|Win32
{53399ED8-C4B0-4F84-9CA8-623049125822}.Debug|Win32.Build.0 = Debug|Win32
{53399ED8-C4B0-4F84-9CA8-623049125822}.Release|Win32.ActiveCfg = Release|Win32
{53399ED8-C4B0-4F84-9CA8-623049125822}.Release|Win32.Build.0 = Release|Win32
{53399ED8-C4B0-4F84-9CA8-623049125822}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{53399ED8-C4B0-4F84-9CA8-623049125822}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{53399ED8-C4B0-4F84-9CA8-623049125822}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{53399ED8-C4B0-4F84-9CA8-623049125822}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,22 @@
Bullet Physics Library is an open source project with help from the community at the Physics Forum
See the forum at http://bulletphysics.com
The project was started by Erwin Coumans
Following people contributed to Bullet
(random order, please let us know on the forum if your name should be in this list)
Gino van den Bergen: LinearMath classes
Christer Ericson: parts of the voronoi simplex solver
Simon Hobbs: 3d axis sweep and prune, Extras/SATCollision, separating axis theorem + SIMD code
Dirk Gregorius: generic D6 constraint
Erin Catto: accumulated impulse in sequential impulse
Nathanael Presson: EPA penetration depth calculation
Francisco Leon: GIMPACT Concave Concave collision
Joerg Henrichs: make buildsystem (work in progress)
Eric Sunshine: jam + msvcgen buildsystem
Steve Baker: GPU physics and general implementation improvements
Jay Lee: Double precision support
KleMiX, aka Vsevolod Klementjev, managed version, rewritten in C# for XNA
Erwin Coumans: most other source code

Binary file not shown.

View File

@ -0,0 +1,25 @@
# -*- cmake -*-
#
# BulletConfig.cmake(.in)
#
# Use the following variables to compile and link against Bullet:
# BULLET_FOUND - True if Bullet was found on your system
# BULLET_USE_FILE - The file making Bullet usable
# BULLET_DEFINITIONS - Definitions needed to build with Bullet
# BULLET_INCLUDE_DIR - Directory where Bullet-C-Api.h can be found
# BULLET_INCLUDE_DIRS - List of directories of Bullet and it's dependencies
# BULLET_LIBRARIES - List of libraries to link against Bullet library
# BULLET_LIBRARY_DIRS - List of directories containing Bullet' libraries
# BULLET_ROOT_DIR - The base directory of Bullet
# BULLET_VERSION_STRING - A human-readable string containing the version
set ( BULLET_FOUND 1 )
set ( BULLET_USE_FILE "@BULLET_USE_FILE@" )
set ( BULLET_DEFINITIONS "@BULLET_DEFINITIONS@" )
set ( BULLET_INCLUDE_DIR "@INCLUDE_INSTALL_DIR@" )
set ( BULLET_INCLUDE_DIRS "@INCLUDE_INSTALL_DIR@" )
set ( BULLET_LIBRARIES "@BULLET_LIBRARIES@" )
set ( BULLET_LIBRARY_DIRS "@LIB_DESTINATION@" )
set ( BULLET_ROOT_DIR "@CMAKE_INSTALL_PREFIX@" )
set ( BULLET_VERSION_STRING "@BULLET_VERSION@" )

View File

@ -0,0 +1,18 @@
/*
Copyright (c) 2003-2010 Erwin Coumans http://continuousphysics.com/Bullet/
This software is provided 'as-is', without any express or implied warranty.
In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it freely,
subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
Free for commercial use, please report projects in the forum at http://www.bulletphysics.org
In case you want to display a Bullet logo in your software: you can download the Bullet logo in various vector formats and high resolution at the download section in http://bullet.googlecode.com

View File

@ -0,0 +1,439 @@
cmake_minimum_required(VERSION 2.4.3)
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
#this line has to appear before 'PROJECT' in order to be able to disable incremental linking
SET(MSVC_INCREMENTAL_DEFAULT ON)
PROJECT(BULLET_PHYSICS)
SET(BULLET_VERSION 2.82)
IF(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
ENDIF(COMMAND cmake_policy)
IF (NOT CMAKE_BUILD_TYPE)
# SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_BUILD_TYPE "Release")
ENDIF (NOT CMAKE_BUILD_TYPE)
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG")
#MESSAGE("CMAKE_CXX_FLAGS_DEBUG="+${CMAKE_CXX_FLAGS_DEBUG})
OPTION(USE_DOUBLE_PRECISION "Use double precision" OFF)
OPTION(USE_GRAPHICAL_BENCHMARK "Use Graphical Benchmark" ON)
OPTION(USE_MSVC_RUNTIME_LIBRARY_DLL "Use MSVC Runtime Library DLL (/MD or /MDd)" OFF)
OPTION(USE_MSVC_INCREMENTAL_LINKING "Use MSVC Incremental Linking" OFF)
OPTION(USE_CUSTOM_VECTOR_MATH "Use custom vectormath library" OFF)
IF (USE_CUSTOM_VECTOR_MATH)
ADD_DEFINITIONS(-DUSE_SYSTEM_VECTORMATH)
IF(WIN32)
SET (VECTOR_MATH_INCLUDE ${BULLET_PHYSICS_SOURCE_DIR}/src/vectormath/sse CACHE PATH "Vector Math library include path.")
ELSE(WIN32)
SET (VECTOR_MATH_INCLUDE ${BULLET_PHYSICS_SOURCE_DIR}/src/vectormath/scalar CACHE PATH "Vector Math library include path.")
ENDIF(WIN32)
ENDIF(USE_CUSTOM_VECTOR_MATH)
IF (APPLE OR MSVC)
OPTION(BUILD_MULTITHREADING "Use BulletMultiThreading" ON)
ELSE()
OPTION(BUILD_MULTITHREADING "Use BulletMultiThreading" OFF)
ENDIF()
IF (BUILD_MULTITHREADING)
OPTION(USE_MULTITHREADED_BENCHMARK "Use Multithreaded Benchmark" OFF)
IF (USE_MULTITHREADED_BENCHMARK)
ADD_DEFINITIONS(-DUSE_PARALLEL_SOLVER_BENCHMARK -DUSE_PARALLEL_DISPATCHER_BENCHMARK)
ENDIF(USE_MULTITHREADED_BENCHMARK)
IF (MSVC OR APPLE)
OPTION(BUILD_MINICL_OPENCL_DEMOS "Build OpenCL demos for MiniCL (Generic CPU)" ON)
ELSE()
OPTION(BUILD_MINICL_OPENCL_DEMOS "Build OpenCL demos for MiniCL (Generic CPU)" OFF)
ENDIF(MSVC OR APPLE)
IF(MSVC)
FIND_PATH(DIRECTX_SDK_BASE_DIR Include/D3D11.h PATH $ENV{DXSDK_DIR} )
IF(DIRECTX_SDK_BASE_DIR)
OPTION(USE_DX11 "Use DirectX 11" ON)
ELSE()
OPTION(USE_DX11 "Use DirectX 11" OFF)
ENDIF()
FIND_PATH(AMD_OPENCL_BASE_DIR include/CL/cl.h PATH $ENV{ATISTREAMSDKROOT} $ENV{AMDAPPSDKROOT} )
IF(AMD_OPENCL_BASE_DIR)
#AMD adds an extras slash at the end of the ATISTREAMSDKROOT variable
SET(AMD_OPENCL_INCLUDES ${AMD_OPENCL_BASE_DIR}/include )
MESSAGE("AMD OPENCL SDK FOUND")
IF (CMAKE_CL_64)
SET(CMAKE_ATISTREAMSDK_LIBPATH ${AMD_OPENCL_BASE_DIR}/lib/x86_64 )
ELSE(CMAKE_CL_64)
SET(CMAKE_ATISTREAMSDK_LIBPATH ${AMD_OPENCL_BASE_DIR}/lib/x86 )
ENDIF(CMAKE_CL_64)
SET(CMAKE_ATISTREAMSDK_LIBRARY ${CMAKE_ATISTREAMSDK_LIBPATH}/OpenCL.lib )
OPTION(BUILD_AMD_OPENCL_DEMOS "Build OpenCL demos for AMD (GPU or CPU)" ON)
IF (CMAKE_CL_64)
SET(CMAK_GLEW_LIBRARY
${BULLET_PHYSICS_SOURCE_DIR}/Glut/glew64s.lib )
ELSE(CMAKE_CL_64)
SET(CMAK_GLEW_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Glut/glew32s.lib )
ENDIF(CMAKE_CL_64)
ELSE()
OPTION(BUILD_AMD_OPENCL_DEMOS "Build OpenCL demos for AMD (GPU or CPU)" OFF)
ENDIF()
FIND_PATH(INTEL_OPENCL_BASE_DIR include/CL/cl.h PATH $ENV{INTELOCLSDKROOT} )
IF(INTEL_OPENCL_BASE_DIR)
SET(INTEL_OPENCL_INCLUDES ${INTEL_OPENCL_BASE_DIR}/include )
MESSAGE("INTEL OPENCL SDK FOUND")
MESSAGE(${INTEL_OPENCL_INCLUDES})
IF (CMAKE_CL_64)
SET(CMAKE_INTELOCLSDK_LIBPATH ${INTEL_OPENCL_BASE_DIR}/lib/x64 )
ELSE(CMAKE_CL_64)
SET(CMAKE_INTELOCLSDK_LIBPATH ${INTEL_OPENCL_BASE_DIR}/lib/x86 )
ENDIF(CMAKE_CL_64)
SET(INTEL_OPENCL_LIBRARIES ${CMAKE_INTELOCLSDK_LIBPATH}/OpenCL.lib)
OPTION(BUILD_INTEL_OPENCL_DEMOS "Build OpenCL demos for Intel (CPU)" ON)
ELSE()
OPTION(BUILD_INTEL_OPENCL_DEMOS "Build OpenCL demos for Intel (CPU)" OFF)
ENDIF()
FIND_PATH(NVIDIA_OPENCL_BASE_DIR include/CL/cl.h PATH $ENV{CUDA_PATH} )
IF(NVIDIA_OPENCL_BASE_DIR)
SET(NVIDIA_OPENCL_INCLUDES ${NVIDIA_OPENCL_BASE_DIR}/include )
MESSAGE("NVIDIA OPENCL SDK FOUND")
MESSAGE(${NVIDIA_OPENCL_INCLUDES})
IF (CMAKE_CL_64)
SET(CMAKE_NVSDKCOMPUTE_LIBPATH ${NVIDIA_OPENCL_BASE_DIR}/lib/x64 )
ELSE(CMAKE_CL_64)
SET(CMAKE_NVSDKCOMPUTE_LIBPATH ${NVIDIA_OPENCL_BASE_DIR}/lib/Win32 )
ENDIF(CMAKE_CL_64)
SET(NVIDIA_OPENCL_LIBRARIES ${CMAKE_NVSDKCOMPUTE_LIBPATH}/OpenCL.lib)
OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" ON)
ELSE()
OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" OFF)
ENDIF()
ELSE(MSVC)
FIND_PATH(AMD_OPENCL_BASE_DIR include/CL/cl.h PATH $ENV{ATISTREAMSDKROOT} $ENV{AMDAPPSDKROOT} )
IF(AMD_OPENCL_BASE_DIR)
#AMD adds an extras slash at the end of the ATISTREAMSDKROOT variable
SET(AMD_OPENCL_INCLUDES ${AMD_OPENCL_BASE_DIR}/include )
MESSAGE("AMD OPENCL SDK FOUND")
MESSAGE(${AMD_OPENCL_INCLUDES})
IF (CMAKE_CL_64)
SET(CMAKE_ATISTREAMSDK_LIBPATH ${AMD_OPENCL_BASE_DIR}/lib/x86_64 )
ELSE(CMAKE_CL_64)
SET(CMAKE_ATISTREAMSDK_LIBPATH ${AMD_OPENCL_BASE_DIR}/lib/x86 )
ENDIF(CMAKE_CL_64)
OPTION(BUILD_AMD_OPENCL_DEMOS "Build OpenCL demos for AMD (GPU or CPU)" ON)
SET(CMAKE_ATISTREAMSDK_LIBRARY OpenCL )
ELSE()
OPTION(BUILD_AMD_OPENCL_DEMOS "Build OpenCL demos for AMD (GPU or CPU)" OFF)
ENDIF(AMD_OPENCL_BASE_DIR)
FIND_PATH(INTEL_OPENCL_INCLUDES CL/cl.h)
FIND_PATH(INTEL_OPENCL_ICD_CFG intelocl64.icd /etc/OpenCL/vendors)
FIND_LIBRARY(INTEL_OPENCL_LIBRARIES OpenCL PATH /usr/lib64)
IF (INTEL_OPENCL_INCLUDES AND INTEL_OPENCL_LIBRARIES AND INTEL_OPENCL_ICD_CFG)
MESSAGE("INTEL OPENCL SDK FOUND")
MESSAGE(${INTEL_OPENCL_LIBRARIES})
OPTION(BUILD_INTEL_OPENCL_DEMOS "Build OpenCL demos for Intel (CPU)" ON)
ELSE ()
MESSAGE("INTEL OPENCL NOT FOUND")
OPTION(BUILD_INTEL_OPENCL_DEMOS "Build OpenCL demos for Intel (CPU)" OFF)
ENDIF ()
FIND_PATH(NVIDIA_OPENCL_INCLUDES CL/cl.h)
FIND_PATH(NVIDIA_OPENCL_ICD_CFG nvidia.icd /etc/OpenCL/vendors)
FIND_LIBRARY(NVIDIA_OPENCL_LIBRARIES OpenCL PATH /usr/lib64 /usr/local/lib)
IF (NVIDIA_OPENCL_INCLUDES AND NVIDIA_OPENCL_LIBRARIES AND NVIDIA_OPENCL_ICD_CFG)
MESSAGE("NVidia OPENCL FOUND")
MESSAGE(${NVIDIA_OPENCL_LIBRARIES})
OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" ON)
ELSE ()
MESSAGE("NVidia OPENCL NOT FOUND")
OPTION(BUILD_NVIDIA_OPENCL_DEMOS "Build OpenCL demos for NVidia (GPU)" OFF)
ENDIF ()
ENDIF(MSVC)
ELSE(BUILD_MULTITHREADING)
# SET(BUILD_NVIDIA_OPENCL_DEMOS OFF CACHE BOOL "Build OpenCL demos for NVidia" FORCE)
# SET(BUILD_AMD_OPENCL_DEMOS OFF CACHE BOOL "Build OpenCL demos for AMD" FORCE)
# SET(BUILD_INTEL_OPENCL_DEMOS OFF CACHE BOOL "Build OpenCL demos for Intel (CPU)" FORCE)
# SET(BUILD_MINICL_OPENCL_DEMOS OFF CACHE BOOL "Build OpenCL demos for MiniCL (Generic CPU)" FORCE)
# SET(USE_DX11 OFF CACHE BOOL "Use DirectX 11" FORCE)
# SET(USE_MULTITHREADED_BENCHMARK OFF CACHE BOOL "Use Multithreaded Benchmark" FORCE)
ENDIF(BUILD_MULTITHREADING)
#SET(CMAKE_EXE_LINKER_FLAGS_INIT "/STACK:10000000 /INCREMENTAL:NO")
#SET(CMAKE_EXE_LINKER_FLAGS "/STACK:10000000 /INCREMENTAL:NO")
#MESSAGE("MSVC_INCREMENTAL_YES_FLAG"+${MSVC_INCREMENTAL_YES_FLAG})
IF(MSVC)
IF (NOT USE_MSVC_INCREMENTAL_LINKING)
#MESSAGE("MSVC_INCREMENTAL_DEFAULT"+${MSVC_INCREMENTAL_DEFAULT})
SET( MSVC_INCREMENTAL_YES_FLAG "/INCREMENTAL:NO")
STRING(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replacementFlags ${CMAKE_EXE_LINKER_FLAGS_DEBUG})
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "/INCREMENTAL:NO ${replacementFlags}" )
MESSAGE("CMAKE_EXE_LINKER_FLAGS_DEBUG=${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
# STRING(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replacementFlags2 ${CMAKE_EXE_LINKER_FLAGS})
# SET(CMAKE_EXE_LINKER_FLAGS ${replacementFlag2})
# STRING(REPLACE "INCREMENTAL:YES" "" replacementFlags3 ${CMAKE_EXTRA_LINK_FLAGS})
# SET(CMAKE_EXTRA_LINK_FLAGS ${replacementFlag3})
STRING(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replacementFlags3 ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO})
SET(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO ${replacementFlags3})
SET(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "/INCREMENTAL:NO ${replacementFlags3}" )
ENDIF (NOT USE_MSVC_INCREMENTAL_LINKING)
IF (NOT USE_MSVC_RUNTIME_LIBRARY_DLL)
#We statically link to reduce dependancies
FOREACH(flag_var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
IF(${flag_var} MATCHES "/MD")
STRING(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
ENDIF(${flag_var} MATCHES "/MD")
IF(${flag_var} MATCHES "/MDd")
STRING(REGEX REPLACE "/MDd" "/MTd" ${flag_var} "${${flag_var}}")
ENDIF(${flag_var} MATCHES "/MDd")
ENDFOREACH(flag_var)
ENDIF (NOT USE_MSVC_RUNTIME_LIBRARY_DLL)
IF (CMAKE_CL_64)
ADD_DEFINITIONS(-D_WIN64)
ELSE()
OPTION(USE_MSVC_SSE "Use MSVC /arch:sse option" ON)
IF (USE_MSVC_SSE)
ADD_DEFINITIONS(/arch:SSE)
ENDIF()
ENDIF()
OPTION(USE_MSVC_FAST_FLOATINGPOINT "Use MSVC /fp:fast option" ON)
IF (USE_MSVC_FAST_FLOATINGPOINT)
ADD_DEFINITIONS(/fp:fast)
ENDIF()
ENDIF(MSVC)
IF (WIN32)
OPTION(INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES "Create MSVC projectfiles that can be distributed" OFF)
IF (INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
SET (LIBRARY_OUTPUT_PATH ${BULLET_PHYSICS_SOURCE_DIR}/lib CACHE PATH "Single output directory for building all libraries.")
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${BULLET_PHYSICS_SOURCE_DIR})
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${BULLET_PHYSICS_SOURCE_DIR})
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${BULLET_PHYSICS_SOURCE_DIR})
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${BULLET_PHYSICS_SOURCE_DIR})
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${BULLET_PHYSICS_SOURCE_DIR})
ELSE()
SET (LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE PATH "Single output directory for building all libraries.")
ENDIF()
OPTION(INTERNAL_CREATE_MSVC_RELATIVE_PATH_PROJECTFILES "Create MSVC projectfiles with relative paths" OFF)
OPTION(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES "Add MSVC postfix for executable names (_Debug)" OFF)
SET(CMAKE_DEBUG_POSTFIX "_Debug" CACHE STRING "Adds a postfix for debug-built libraries.")
SET(CMAKE_MINSIZEREL_POSTFIX "_MinsizeRel" CACHE STRING "Adds a postfix for MinsizeRelease-built libraries.")
SET(CMAKE_RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo" CACHE STRING "Adds a postfix for ReleaseWithDebug-built libraries.")
IF (INTERNAL_CREATE_MSVC_RELATIVE_PATH_PROJECTFILES)
SET(CMAKE_SUPPRESS_REGENERATION 1)
SET(CMAKE_USE_RELATIVE_PATHS 1)
ENDIF(INTERNAL_CREATE_MSVC_RELATIVE_PATH_PROJECTFILES)
ENDIF (WIN32)
OPTION(BUILD_CPU_DEMOS "Build original Bullet CPU demos" ON)
OPTION(INTERNAL_UPDATE_SERIALIZATION_STRUCTURES "Internal update serialization structures" OFF)
IF (INTERNAL_UPDATE_SERIALIZATION_STRUCTURES)
ADD_DEFINITIONS( -DBT_INTERNAL_UPDATE_SERIALIZATION_STRUCTURES)
ENDIF (INTERNAL_UPDATE_SERIALIZATION_STRUCTURES)
IF (USE_DOUBLE_PRECISION)
ADD_DEFINITIONS( -DBT_USE_DOUBLE_PRECISION)
SET( BULLET_DOUBLE_DEF "-DBT_USE_DOUBLE_PRECISION")
ENDIF (USE_DOUBLE_PRECISION)
IF(USE_GRAPHICAL_BENCHMARK)
ADD_DEFINITIONS( -DUSE_GRAPHICAL_BENCHMARK)
ENDIF (USE_GRAPHICAL_BENCHMARK)
IF (WIN32)
OPTION(USE_GLUT "Use Glut" ON)
ADD_DEFINITIONS( -D_IRR_STATIC_LIB_ )
ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS )
ADD_DEFINITIONS( -D_CRT_SECURE_NO_DEPRECATE )
ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS )
IF (USE_GLUT AND MSVC)
string (REPLACE "/D_WINDOWS" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
remove_definitions(-D_WINDOWS )
ENDIF()
ELSE(WIN32)
OPTION(USE_GLUT "Use Glut" ON)
ENDIF(WIN32)
IF(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
ENDIF(COMMAND cmake_policy)
# This is the shortcut to finding GLU, GLUT and OpenGL if they are properly installed on your system
# This should be the case.
FIND_PACKAGE(OpenGL)
IF (OPENGL_FOUND)
MESSAGE("OPENGL FOUND")
MESSAGE(${OPENGL_LIBRARIES})
ELSE (OPENGL_FOUND)
MESSAGE("OPENGL NOT FOUND")
SET(OPENGL_gl_LIBRARY opengl32)
SET(OPENGL_glu_LIBRARY glu32)
ENDIF (OPENGL_FOUND)
# ADD_DEFINITIONS(-DBT_USE_FREEGLUT)
FIND_PACKAGE(GLU)
IF (USE_GLUT)
FIND_PACKAGE(GLUT)
IF (GLUT_FOUND)
MESSAGE("GLUT FOUND")
MESSAGE(${GLUT_glut_LIBRARY})
ELSE (GLUT_FOUND)
IF (MINGW)
MESSAGE ("GLUT NOT FOUND not found, trying to use MINGW glut32")
SET(GLUT_glut_LIBRARY glut32)
#TODO add better GLUT detection for MinGW
SET(GLUT_FOUND TRUE)
ENDIF (MINGW)
IF (MSVC)
SET(GLUT_FOUND TRUE)
IF (CMAKE_CL_64)
message("Win64 using Glut/glut64.lib")
SET(GLUT_glut_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Glut/glut64.lib)
ELSE(CMAKE_CL_64)
message("Win32 using Glut/glut32.lib")
SET(GLUT_glut_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Glut/glut32.lib)
ENDIF (CMAKE_CL_64)
INCLUDE_DIRECTORIES(${BULLET_PHYSICS_SOURCE_DIR}/Glut)
ELSE()
MESSAGE("GLUT NOT FOUND")
ENDIF (MSVC)
ENDIF (GLUT_FOUND)
IF(NOT WIN32)
# This is added for linux. This should always work if everything is installed and working fine.
INCLUDE_DIRECTORIES(/usr/include /usr/local/include)
ENDIF()
ENDIF(USE_GLUT)
OPTION(BUILD_DEMOS "Set when you want to build the demos" ON)
IF(BUILD_DEMOS)
IF(EXISTS ${BULLET_PHYSICS_SOURCE_DIR}/Demos AND IS_DIRECTORY ${BULLET_PHYSICS_SOURCE_DIR}/Demos)
SUBDIRS(Demos)
ENDIF()
ENDIF(BUILD_DEMOS)
# "Demos_ps3")
IF (MSVC)
IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES)
IF(EXISTS ${BULLET_PHYSICS_SOURCE_DIR}/Demos_ps3 AND IS_DIRECTORY ${BULLET_PHYSICS_SOURCE_DIR}/Demos_ps3)
MESSAGE("Demos_ps3 found")
SUBDIRS(Demos_ps3)
ENDIF()
ENDIF()
ENDIF(MSVC)
OPTION(BUILD_EXTRAS "Set when you want to build the extras" ON)
IF(BUILD_EXTRAS)
SUBDIRS(Extras)
ENDIF(BUILD_EXTRAS)
#Maya Dynamica plugin is moved to http://dynamica.googlecode.com
SUBDIRS(src)
IF("${CMAKE_GENERATOR}" MATCHES "Unix Makefiles")
OPTION(INSTALL_LIBS "Set when you want to install libraries" ON)
ELSE()
IF(APPLE AND FRAMEWORK)
OPTION(INSTALL_LIBS "Set when you want to install libraries" ON)
ELSE()
#by default, don't enable the 'INSTALL' option for Xcode and MSVC projectfiles
OPTION(INSTALL_LIBS "Set when you want to install libraries" OFF)
ENDIF()
ENDIF()
IF(INSTALL_LIBS)
SET (LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
SET (LIB_DESTINATION "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE STRING "Library directory name")
## the following are directories where stuff will be installed to
SET(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include/bullet/" CACHE PATH "The subdirectory to the header prefix")
SET(PKGCONFIG_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/pkgconfig/" CACHE STRING "Base directory for pkgconfig files")
IF(NOT WIN32)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/bullet.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/bullet.pc @ONLY)
INSTALL(
FILES
${CMAKE_CURRENT_BINARY_DIR}/bullet.pc
DESTINATION
${PKGCONFIG_INSTALL_PREFIX})
ENDIF(NOT WIN32)
ENDIF(INSTALL_LIBS)
#INSTALL of other files requires CMake 2.6
IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
OPTION(INSTALL_EXTRA_LIBS "Set when you want extra libraries installed" OFF)
ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
OPTION(BUILD_UNIT_TESTS "Build Unit Tests" OFF)
IF (BUILD_UNIT_TESTS)
SUBDIRS(UnitTests)
ENDIF()
set (BULLET_CONFIG_CMAKE_PATH lib${LIB_SUFFIX}/cmake/bullet )
list (APPEND BULLET_LIBRARIES LinearMath)
list (APPEND BULLET_LIBRARIES BulletCollisions)
list (APPEND BULLET_LIBRARIES BulletDynamics)
list (APPEND BULLET_LIBRARIES BulletSoftBody)
set (BULLET_USE_FILE ${CMAKE_INSTALL_PREFIX}/${BULLET_CONFIG_CMAKE_PATH}/UseBullet.cmake)
configure_file ( ${CMAKE_SOURCE_DIR}/BulletConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake
@ONLY ESCAPE_QUOTES
)
install ( FILES ${CMAKE_SOURCE_DIR}/UseBullet.cmake
${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake
DESTINATION ${BULLET_CONFIG_CMAKE_PATH}
)

View File

@ -0,0 +1,17 @@
/*
Bullet Continuous Collision Detection and Physics Library
Copyright (c) 2003-2011 Erwin Coumans http://bulletphysics.org
This software is provided 'as-is', without any express or implied warranty.
In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it freely,
subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
All files in the Bullet/src folder are under this Zlib license.
Files in the Extras and Demos folder may have a different license, see the respective files.

View File

@ -0,0 +1,795 @@
Bullet Continuous Collision Detection and Physics Library
Primary author and maintainer: Erwin Coumans
This ChangeLog is incomplete, for an up-to-date list of all fixed issues see http://bullet.googlecode.com
using http://tinyurl.com/yabmjjj
2013 October 23
- Bullet 2.82 release
- See docs/BulletQuickstart.pdf or issue tracked for details.
2012 September 10
- Bullet 2.81 release preparation
2011 September 15
- Bullet 2.79 release, revision 2433 (mainly a bugfix release)
- Revert a change in 2.78 related to speculative contacts (it has undesired side effects)
- Use HACD Hierachical Approximate Convex Decomposition (thanks to Khaled Mammou and Sujeon Kim)
- Add Intel cmake-build support for OpenCL accelerated cloth/particle
- add premake4 build system support to autogenerate visual studio project files that can be shipped (see msvc folder)
- preliminary build support for Google NativeClient, using premake4 (see msvc folder)
2011 April 8
- Bullet 2.78 release 2383
- Added FractureDemo
- Added Separatinx Axis Test and Polyhedral Clipping support (See InternalEdgeDemo)
- Added speculative contacts as CCD response method (See CcdPhysicsDemo)
- OpenCL and DirectCompute cloth as basic support for capsule collision
2010 September 7
- autotools now uses CamelCase naming for libraries just like cmake:
libbulletdynamics -> libBulletDynamics, libbulletmath -> libLinearMath
2010 July 21
- Preparing for Bullet 2.77 release, around revision r2135
- Added an OpenCL particle demo, running on NVidia, AMD and MiniCL
Thanks to NVidia for the original particle demo from their OpenCL SDK
- Added GPU deformable object solvers for OpenCL and DirectCompute, and a DirectX 11 cloth demo
Thanks to AMD
- Create a separate library for MiniCL,
MiniCL is a rudimentary OpenCL wrapper that allows to compile OpenCL kernels for multi-core CPU, using Win32 Threads or Posix
- Moved vectormath into Bullet/src, and added a SSE implementation
- Added a btParallelConstraintSolver, mainly for PlayStation 3 Cell SPUs (although it runs fine on CPU too)
2010 March 6
- Dynamica Maya plugin (and COLLADA support) is moved to http://dynamica.googlecode.com
2010 February
- Bullet 2.76 release, revision 2010
- support for the .bullet binary file format
- btInternalEdgeUtility to adjust unwanted collisions against internal triangle edges
- Improved Maya Dynamica plugin with better constraint authoring and .bullet file export
2009 September 17
- Minor update to Bullet 2.75 release, revision 1776
- Support for btConvex2dShape, check out Bullet/Demos/Box2dDemo
- Fixes in build systems
- Minor fix in btGjkPairDetector
- Initialize world transform for btCollisionShape in constructor
2009 September 6
- Bullet 2.75 release
- Added SPH fluid simulation in Extras, not integrated with rigid body / soft body yet
Thanks to Rama Hoetzlein to make this contribution available under the ZLib license
- add special capsule-capsule collider code in btConvexConvexCollisionAlgorithm, to speed up capsule-ragdolls
- soft body improvement: faster building of bending constraints
- soft body improvement: allow to disable/enable cluster self-collision
- soft body fix: 'exploding' soft bodies when using cluster collision
- fix some degenerate cases in continuous convex cast, could impact ray cast/convex cast
Thanks to Jacob Langford for the report and reproduction cases, see http://code.google.com/p/bullet/issues/detail?id=250&can=1&start=200
- re-enabled split impulse
- added btHinge2Constraint, btUniversalConstraint, btGeneric6DofSpringConstraint
- demonstrate 2D physics with 2D/3D object interaction
2008 December 2
- Fix contact refresh issues with btCompoundShape, introduced with btDbvt acceleration structure in btCompoundCollisionAlgorithm
- Made btSequentialImpulseConstraintSolver 100% compatible with ODE quickstep
constraints can use 'solveConstraint' method or 'getInfo/getInfo2'
2008 November 30
- Add highly optimized SIMD branchless PGS/SI solver innerloop
2008 November 12
- Add compound shape export to BulletColladaConverter
Thanks to JamesH for the report: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=12&t=2840
- Fix compiler build for Visual Studio 6
Thanks to JoF for the report: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2841
2008 November 11
- Add CProfileManager::dumpAll() to dump performance statistics to console using printf.
- Add support for interaction between btSoftBody and btCollisionObject/btGhostObject
2008 November 8
- Fix PosixThreadSupport
- Add improved btHeightfieldTerrainShape support and new Demos/TerrainDemo
Thanks to tomva, http://code.google.com/p/bullet/issues/detail?id=63&can=1
- Moved kinematic character controller from Demos/CharacterDemo into src/BulletDynamics/Character/btKinematicCharacterController.cpp
2008 November 6
- reduced default memory pool allocation from 40Mb to 3Mb. This should be more suitable for all platforms, including iPhone
- improved CUDA broadphase
- IBM Cell SDK 3.x support, fix ibmsdk Makefiles
- improved CMake support with 'install' and 'framework option
2008 November 4
- add btAxisSweep::resetPool to avoid non-determinism due to shuffled linked list
Thanks to Ole for the contribution,
2008 October 30
- disabled btTriangleMesh duplicate search by default, it is extremely slow
- added Extras/IFF binary chunk serialization library as preparation for in-game native platform serialization (planned COLLADA DOM -> IFF converter)
2008 October 20
- added SCE Physics Effects box-box collision detection for SPU/BulletMultiThreaded version
See Bullet/src/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/boxBoxDistance.cpp
Thanks to Sony Computer Entertainment Japan, SCEI for the contribution
2008 October 17
- Added btGhostObject support, this helps character controller, explosions, triggers and other local spatial queries
2008 October 10
- Moved aabb to btBroadphaseProxy, improves rayTest dramatically. Further raytest improvements using the broadphase acceleration structures are planned
- Moved BulletMultiThreaded from Extras to /src/BulletMultiThreaded for better integration
2008 October 3
- Add support for autoconf automake
./autogen.sh and ./configure will create both Makefile and Jamfile. CMake and autogenerated Visual Studio projectfiles remain supported too.
- Improved ColladaConverter: plane shape export, and callback for shape construction to allow deletion of memory
2008 Sept 30
- Improved Soft Body support, fixed issues related to soft body colliding against concave triangle meshes
- Shared more code between regular version and SPU/BulletMultiThreaded, in particular GJK/EPA
2008 Sept 28
- Fixed rotation issues in Dynamic Maya Plugin
2008 Sept 11
- Enable CCD motion clamping for btDiscreteDynamicsWorld, to avoid tunneling. A more advanced solution will be implemented in btContinuousDynamicsWorld.
2008 Sept 7
- Add btScaledBvhTriangleMeshShape, to allow re-use of btBvhTriangleMeshShape of different sizes, without copying of the BVH data.
2008 Sept 5
- Enabled Demos/ForkLiftDemo
Thanks Roman Ponomarev.
2008 Sept 4
- Added btCudaBroadphase in Extras/CUDA: some research into accelerating Bullet using CUDA.
Thanks to the particle demo from the NVidia CUDA SDK.
2008 Sept 3
- Several bug fixes and contributions related to inertia tensor, memory leaks etc.
Thanks to Ole K.
2008 Sept 1
- Updated CDTestFramework, with latest version of OPCODE Array SAP. See Extras/CDTestFramework
Thanks to Pierre Terdiman for the update
2008 August 25
- Walt Disney Studios contributes their in-house Maya Plugin for simulating Bullet physics, with options for other engines such as PhysBam or PhysX.
Thanks to Nicola Candussi and Arthur Shek
2008 August 14
- Improved performance for btDbvtBroadphase, based on dual dynamic AABB trees (one for static, one for dynamic objects, where objects can move from one to the other tree)
Thanks to Nathanael Presson again, for all his work.
2008 July 31
- Added Havok .hkx to COLLADA Physics .dae converter patch+information
- Fix btSubsimplexConvexCast
Thanks to Nacho, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2422)
- Fix in rendering, GL_STENCIL
- btTriangleIndexVertexArray indices should be unsigned int/unsigned short int,
- Made InternalProcessAllTriangles virtual, thanks to
Both thank to Fullmetalcoder, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2401
- clamp impulse for btPoint2PointConstraint
Thanks to Martijn Reuvers, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2418
- Free memory of bvh, pass in scaling factor (optional)
Thanks to Roy Eltham, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2375
2008 July 27
btDbvtBroadphase:
- Fixed a performance issues reported by 'reltham'
- Added btDbvtBroadphase::optimize() for people who want good performances right
away or don't do dynamics.
- fixed compilation issues when DBVT_BP_PROFILE was set.
btSoftBody:
- Fixed singular matrix issues related to polar decomposition (flat meshes).
DemoApplication:
- Shadows (enable/disable through 'g' or DemoApplication::setShadows(bool)).
- Texture can be enable/disable through 'u'
CDFramework:
- fixed compilation issues.
All thanks to Nathanael Presson
2008 July 10
- Added btMultimaterialTriangleMeshShape and MultiMaterialDemo
Thanks to Alex Silverman for the contribution
2008 June 30
- Added initial support for kinematic character controller
Thanks to John McCutchan
2008 April 14
- Added ray cast support for Soft Bodies
Thanks to Nathanael Presson for the contribution
2008 April 9
- Cleanup of Stan Melax ConvexHull, removed Extras/ConvexHull, moved sources into LinearMath/BulletCollision
2008 April 4
- Added btSliderConstraint and demo
Thanks Roman Ponomarev
2008 April 3
- Fixed btMinkowskiSumShape, and added hitpoint to btSubsimplexConvexCast
2008 April 2
- Added Extras/CdTestFrameWork
Thanks Pierre Terdiman
2008 April 1
- Added posix thread (pthread) support
Thanks Enrico
2008 March 30
- Added Soft Body, cloth, rope and deformable volumes, including demos and interaction
Thanks Nathanael Presson for this great contribution
2008 March 17
- Improved BulletColladaConverter
Thanks John McCutchan
2008 March 15
- btMultiSapBroadphase in a working state. Needs more optimizations to be fully useable.
- Allow btOptimizedBvh to be used for arbitrary objects, not just triangles
- added quicksort to btAlignedObjectArray
- removed btTypedUserInfo, added btHashMap
2008 March 30
- Moved quickstep solver and boxbox into Bullet/src folder
Thanks Russell L. Smith for permission to redistribute Open Dynamics Engine quickstep and box-box under the ZLib license
2008 Feb 27
- Added initial version for Character Control Demo
- Applied fixes to IBM Cell SDK 3.0 build makefiles
Thanks Jochen and mojo for reporting/providing patch: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1922
2008 Feb 8
- Bugfixes in ConvexCast support against the world.
Thanks to Isgmasa for reporting/providing fix: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1823
2008 Feb 6
- Added btCapsuleShapeX and btCapsuleShapeZ for capsules around X and Z axis (default capsule is around Y)
2008 Feb 3
- Added btTypedUserInfo, useful for serialization
2008 Jan 31
- Add support for 16 and 32-bit indices for SPU / BulletMultiThreaded version.
2008 Jan 29
- Added COLLADA Physics export/serialization/snapshot from any Bullet btDynamicsWorld. Saving the physics world into a text .xml file is useful for debugging etc.
2008 Jan 23
- Added Stan Melax Convex Hull utility library in Extras/ConvexHull. This is useful to render non-polyhedral convex objects, and to simplify convex polyhedra.
2008 Jan 14
- Add support for batch raycasting on SPU / BulletMultiThreaded
2007 Dec 16
- Added btRigidBodyConstructionInfo, to make it easier to set individual setting (and leave other untouched) during rigid body construction.
Thanks Vangelis Kokkevis for pointing this out.
- Fixed memoryleak in the ConstraintDemo and Raytracer demo.
- Fixed issue with clearing forces/gravity at the end of the stepSimulation, instead of during internalSingleStepSimulation.
Thanks chunky for pointing this out: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1780
- Disabled additional damping in rigid body by default, but enable it in most demos. Set btRigidBodyConstructionInfo m_additionalDamping to true to enable this.
- Removed obsolete QUICKPROF BEGIN/END_PROFILE, and enabled BT_PROFILE. Profiling is enabled by default (see Bullet/Demos/OpenGL/DemoApplication.cpp how to use this).
User can switch off profiling by enabling define BT_NO_PROFILE in Bullet/src/btQuickprof.h.
2007 Dec 14
- Added Hello World and BulletMultiThreaded demos
- Add portable version of BulletMultiThreaded, through SequentialThreadSupport (non-parallel but sharing the same code-path)
- Add Cmake support for AllBulletDemos
2007 Dec 11
- Moved the 'btRigidBody::clearForce' to the end of the stepSimulation, instead of in each substep.
See discussion http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1601
- Added btConvexPlaneCollisionAlgorithm, makes planes perform better, and prevents tunneling
Thanks Andy O'Neil for reporting the performance/functionality issue
- Fixes for IBM Cell SDK 3.0
Thanks to Jochen Roth for the patch.
2007 Dec 10
- Fixes in btHeightfieldTerrainShape
Thanks to Jay Lee for the patch.
2007 Dec 9
- Only update aabb of active objects
Thanks Peter Tchernev for reporting (http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1764 )
- Added workaround to compile libxml under Visual Studio 2008 Beta 2
- Make glui compile under MSVC 9.0 beta (vsnprintf is already defined)
2007 Dec 6
- Added DynamicControlDemo, showing dynamic control through constraint motors
Thanks to Eddy Boxerman
- Add support for generic concave shapes for convex cast.
- Added convex cast query to collision world.
- Added workaround for OpenGL bug in Mac OS X 10.5.0 (Leopard)
- Added concave raycast demo
All above thanks to John McCutchan (JMC)
- Fixed issues that prevent Linux version to compile.
Thanks to Enrico for reporting and patch, see
- Fixed misleading name 'numTriangleIndices' into 'numTriangles'
Thanks Sean Tasker for reporting:
2007 Nov 28:
- Added raycast against trianglemesh. Will be extended to object cast soon.
Thanks John McCutchan (JMC)
- make getNumPoints const correct, add const getPoints().
Thanks Dirk Gregorius
- Bugfix: allow btCollisionObjects (non-btRigidBody) to interact properly with btRigidBody for cache-friendly btSequentialImpulseConstraintSolver.
Thanks Andy O'Neil for pointing this out.
- Bugfix: don't fail if spheres have identical center, use arbitrary separating normal (1,0,0)
Thanks Sean Tasker for reporting! http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1681
2007, November 20
- Added hierarchical profiling
- Fixed memory leak in btMultiSapBroadphase,
- Fixed hash function (typo, should use 2 proxies)
Thanks to Stephen (shatcher) for reporting and fixes! http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1696
2007 Nov 11
- Fixed parallel solver (BulletMultiThreaded) friction issue
- Terminate Win32 Threads when closing the CcdPhysicsDemo (when USE_PARALLEL_SOLVER/USE_PARALLEL_DISPATCHER is defined)
2007 Nov 6
- Added support for 16-bit indices for triangle meshes
- Added support for multiple mesh parts using btBvhTriangleMeshShape.
Thanks to Tim Johansson
2007 Oct 22
- All memory allocations go through btAlignedAlloc/btAlignedFree. User can override this to verify memory leaks
- added a few more demos to AllBulletDemos
- fix for one of the constructors of btHingeConstraint
Thanks Marcus Hennix
2007 Oct 20
- included glui, a GLUT/OpenGL based toolkit for some graphical user elements
Removed dynamic_cast from glui, to allow linkage without rtti
- added Box2D framework using glui, allowing all demos to run within one executable
Thanks Erin Catto for the FrameWork skeleton (http://www.box2d.org)
2007 Ocy 17
- Allow user to pass in their own memory (stack and pool) allocators, through collisionConfiguration. See demos how to use this
2007 Oct 14
- Included working version of Cell SPU parallel optimized version for Libspe2 SPU task scheduler.
This version compiles and runs on Playstation 3 Linux and IBM CellBlade, see BulletSpuOptimized.pdf for build instructions
(Official Playstation 3 developers can request a SPURS version through Sony PS3 Devnet.)
Thanks to IBM 'Extreme Blue' project for the contribution
http://www-913.ibm.com/employment/us/extremeblue/
Thanks Minh Cuong Tran, Benjamin Hoeferlin, Frederick Roth and Martina Huellmann
for various contributions to get this initial Libspe2 parallel version up and running.
2007 Oct 13
- made 'btCollisionShape::calculateLocalInertia' const
Thanks to cgripeos, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1514
- applied a large patch to remove warnings
Thanks to Enrico, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1568
- removed SSE includes, added #incude <string.h> for memset in Extras/quickstep, thanks Eternl Knight
2007 Oct 11
- added Hashed Overlapping Pair Cache, recommended by Pierre Terdiman. It works like a charm, thanks Pierre and Erin Catto (code from Box2D)
- modified some margins inside btBoxShape, btCylinderShape and btSphereShape
- added cone debug rendering (for cones with x, y and z up-axis)
- added improvements for optional Extra/quickstep, thanks to Remotion
- some performance improvements for Bullet constraint solver
2007 Sept 28
- upgraded GIMPACT to version 0.3
Thanks to Francisco Leon
2007 Sept 27
- added contribution from IBM Extreme Blue project for Libspe2 support. This allow to execute BulletMultiThreaded on Cell SPU under PS3 Linux and Cell Blade. See http://www-913.ibm.com/employment/us/extremeblue
Thanks to Minh Cuong Tran, Frederick Roth, Martina Heullmann and Benjamin Hoeferlin.
2007 Sept 13
- Improved btGenericD6Constraint. It can be used to create ragdolls (similar to the new btConeTwistConstraint). See GenericJointDemo
- Added support for Bullet constraints in the optional Extras/quickstep ODE solver. See CcdPhysicsDemo, enable #COMPARE_WITH_QUICKSTEP and add libquickstep to the dependencies.
For both patches/improvements thanks Francisco Leon/projectileman
2007 Sept 10
- removed union from btQuadWordStorage, it caused issues under certain version of gcc/Linux
2007 Sept 10
- Reverted constraint solver, due to some issues. Need to review the recent memory allocation changes.
- Fixed issue with kinematic objects rotating at low speed: quaternion was de-normalized, passing value > 1 into acosf returns #IND00 invalid values
- 16 byte memory alignment for BVH serialization
- memory cleanup for btPoolAllocator
2007 Sept 9
- Added serialization for BVH/btBvhTriangleMeshShape, including endian swapping. See ConcaveDemo for an example.
Thanks to Phil Knight for the contribution.
- Fixed issues related to stack allocator/compound collision algorithm
Thanks Proctoid, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=18&t=1460
- Increase some default memory pool settings, and added a fallback for the constraints solver to use heap memory
- Removed accidential testing code in btScalar.h related to operator new.
- Enable btAxis3Sweep and bt32BitAxis3Sweep to be linked in at the same time, using template
2007 Sept 7
- Replaced several dynamic memory allocations by stack allocation and pool allocations
- Added branch-free quantized aabb bounding box overlap check, works better on Playstation 3 and XBox 360
Thanks to Phil Knight. Also see www.cellperformance.com for related articles
- Collision algorithms and settings for the memory/stack allocator can be done using btDefaultCollisionConfiguration
This is an API change. See demos how to modify existing implementations with a one-liner.
- Register several collision algorithms by default (sphere-sphere, sphere-box, sphere-triangle)
- Use other traveral method for BVH by default, this improves triangle mesh collision performance.
2007 Aug 31
- fixed MSVC 6 build
Thanks Proctoid, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1375
- fixed double precision build issues
Thanks Alex Silverman, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1434
2007 Aug 24
- fixed bug in btMatrix3x3::transposeTimes(const btMatrix3x3& m) const. Luckily it wasn't used in core parts of the library (yet).
Thanks to Jay Lee
2007 Aug 15
- fixed bug in Extras/GIMPACT 0.2 related to moving triangle meshes
Thanks Thomas, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1368
2007 Aug 14
- added parallel constraint solver. Works on Playstation 3 Cell SPU and multi core (Win Threads on PC and XBox 360).
See Extras/BulletMultiThreaded for SpuSolverTask subfolder and SpuParallelSolver.cpp
Thanks Marten Svanfeldt (Starbreeze Studios)
- fixed some bugs related to parallel collision detection (Extras/BulletMultiThreaded)
Thanks Marten Svanfeldt (Starbreeze Studios)
2007 Aug 2
- added compound and concave-convex (swapped) case for BulletMultiThreaded collision detection, thanks to Marten Svanfeldt
- refactored broadphase and overlapping pair cache. This allows performance improvement by combining multiple broadphases. This helps add/remove of large batches of objects and large worlds. See also Pierre Terdiman forum topic:
http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1329
2007 July 27
- added Ragdoll Demo
Thanks to Marten Svanfeldt (Starbreeze Studios)
- added Vector Math library for SIMD 3D graphics linear algebra (vector, matrix, quaternion)
See Bullet/Extras/vectormathlibrary
Supports SIMD SSE, PowerPC PPU and Cell SPU (including PS3 Linux and CellBlade), as well as generic portable scalar version
Will be used to improve BulletMultiThreaded performance
Open Sourced by Sony Computer Entertainment Inc. under the new BSD license
- added SIMD math library
4-way SIMD for common math functions like atan2f4, cosf4, floorf4, fabsf4, rsqrtf4 etc. Used by Vector Math library under PPU and SPU.
Supports PowerPC (PPU) and Cell SPU, including PS3 Linux and CellBlade.
See Bullet/Extras/simdmathlibrary
Open sourced by Sony Computer Entertainment Inc. under the new BSD license
2007 July 25
- added several patches: per-rigidbody sleeping threshold. added Assert to prevent deletion of rigidbody while constraints are still pointing at it
Thanks to Marten Svanfeldt (Starbreeze Studios)
2007 July 13
- fixed relative #include paths again. We can't use "../" relative paths: some compilers choke on it (it causes extreme long paths)
Within the libraries, we always need to start with "BulletCollision/" or "BulletDynamics/ or "LinearMath/"
2007 July 10
- Updated Bullet User Manual
2007 July 5
- added btConeTwistConstraint, especially useful for ragdolls. See Demos/RagdollDemo
Thanks to Marten Svanfeldt (Starbreeze Studios)
2007 June 29
- btHeightfieldTerrainShape: Added heightfield support, with customizations
- Upgraded to GIMPACT 0.2, see Extras/GIMPACT and MovingConcaveDemo
- Several patches from Marten Svanfeldt (Starbreeze Studios)
Improved collision filtering (in broadphase and rigidbody)
Improved debug rendering
Allow to set collision filter group/mask in addRigidBody
2007 June 15
- Changed btAlignedObjectArray to call copy constructor/replacement new for duplication, rather then assignment operator (operator=).
2007 June 11
- Added multi-threading. Originally for Playstation 3 Cell SPU, but the same code can run using Win32 Threads using fake DMA transfers (memcpy)
Libspe2 support for Cell Blade / PS3 Linux is upcoming
See Extras/BulletMultiThreaded. Usage: replace btCollisionDispatcher by btSpuGatheringCollisionDispatcher
- Added managed Bullet library, entirely rewritten in C# for Windows and XBox 360 XNA
See Extras/BulletX
Thanks to KleMiX, aka Vsevolod Klementjev
2007 May 31
- sign-bit went wrong in case of 32-bit broadphase, causing quantization problems.
Thanks DevO for reporting.
2007 May 23
- Fixed quantization problem for planar triangle meshes in btOptimizedBvh
Thanks Phil Knight for reporting and helping to fix this bug.
2007 May 20
- btAxisSweep3: Fixed a bug in btAxisSweep3 (sweep and prune) related to object removal. Only showed up when at least one btStaticPlaneShape was inserted.
Thanks tbp for more details on reproducing case.
- btAxisSweep3: Fixed issue with full 32bit precision btAxisSweep3 (define BP_USE_FIXEDPOINT_INT_32), it used only 0xffff/65536 for quantization instead of full integer space (0xffffffff)
- btRaycastVehicle: Added 'getForwardVector' and getCurrentSpeedKmHour utility functions
- Fixed local scaling issues (btConvexTriangleMeshShape, btBvhTriangleMeshShape, removed scaling from btMatrix3x3).
Thanks Volker for reporting!
- Added second filename search, so that starting BspDemo and ConvexDecompositionDemo from within Visual Studio (without setting the starting path) still works
2007 April 22
- Added braking functionality to btRaycastVehicle
- Removed tons of warnings, under MSVC 2005 compilation in -W4
2007 March 21
- Fixed issues: comma at end of enum causes errors for some compilers
- Fixed initialization bug in LocalRayResult ( m_localShapeInfo(localShapeInfo) )
2007 March 20
- Added refit tree to quantized stackless tree, and updated ConcaveDemo as example.
2007 March 17
- Added constraint solver optimizations, avoiding cross products during iterations, and gather rigidbody/constraint info in contiguous memory (btSolverBody/btSolverConstraint)
- These optimizations don't give large benefit yet, but it has good potential. Turned on by default. Can be switched off using solver->setSolverMode(SOLVER_RANDMIZE_ORDER).
- Enabled anti-jitter for rigid bodies. This is experimental, and can be switched off by setting a global (it is experimental so no proper interface) gJitterVelocityDampingFactor = 1.0;
- Fixed bug in islandmanifold.heapSort(btPersistentManifoldSortPredicate()); , thanks Noehrgel for reporting this (affected Sun Solaris)
2007 March 12
- Added compile-time toggle between on 16-bit and 32-bit fixed-point SAP broadphase.
This allows the number of bodies to exceed 32767
- Enable useQuantizedAabbCompression on btTriangleMesh, see ColladaDemo
2007 March 8
- Fixed bug in constraint/island sorting (caused by replacing STL by dedicated btAlignedObjectArray with heapSort)
Thanks Clemens Unterkofler for pointing this out!
2007 March 6
- removed STL from the Bullet library: replace std::vector by btAlignedObjectArray. Also removed the std::set for overlapping pair set, and turned it into an overlapping pair array. The SAP only adds objects, never removed. Removal is postponed for during traversal of overlapping pairs (duplicates and non-overlapping pairs are removed during that traversal).
- added heap sort and binary search/linear search to btAlignedObjectArray
- fixed wrong cast, thanks Hamstray, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1015
2007 Feb 25
- Improved performance of convex collision shapes, cache local AABB instead of recomputation. This fixes issue with very slow performance in larger .bsp levels
2007 Feb 24
- Added compressed/quantized AABB tree, 16 bytes per node, while supporting 32-bit (triangle) indices.
Should be faster and smaller then original version (quantized aabb check is done in integer space)
Original aabb tree nodes are still supported. They are 44 bytes, with full floating point precision and additional subPart index.
- added meter-unit scaling support in ColladaConverter.cpp
2007 Feb 21
- Build system: updated bullet.pc.in library names
- Updated EPA comparison integration (missing parameter)
2007 Jan 04
- fixed optimized AABB tree building: in some cases the tree building fails due to unbalanced trees, which generated stack overflow
2006 Dec 15
- added contribution to allow double precision collision detection/dynamics. Define BT_USE_DOUBLE_PRECISION in your project and libraries that include Bullet
2006 Dec 14
- merged contact and non-contact constraint solving into one loop, will improve stability of jointed bodies during collisions
- added first draft for hingeConstraint motor
2006 Dec 8, Erwin Coumans
- preparation for SIMD: added btAlignedAllocator and btAlignedObjectArray, to replace stl std::vector, same interface, but compatible with 16 byte alignment
- cleaned up dependencies in autogenerated msvc projectfiles
- aligned btVector3 on 16 bytes boundary, under win32. see if developers will come up with problems
2006 Dec 04, Erwin Coumans
Added btNearCallback. This is similar to Open Dynamics Engine (ODE) dNearCallback, but important differences:
- contact points are persistent (lifetime more then one frame, for warmstarting/incremental contact point management)
- continuous collision detection, time of impact
Added btRigidBody::isInWorld(), returns true if btRigidBody is inside a btCollisionWorld/btDynamicsWorld derived class
Added angularFactor to btRigidbody, this helps some character control (no angular impulse applied)
2006 Nov 28
Moved StackAlloc from EPA into LinearMath/btStackAlloc
renamed internal class ConcaveShape into btConcaveShape
added btHeightfieldTerrainShape (not completed yet)
2006 Nov 15 Nathanael Presson
Added EPA penetration depth algorithm, Expanding Polytope Algorithm
Added Pierre Terdiman penetration depth comparison/test DEMO
Fixed Bullet's Minkowski sampling penetration depth solver
Contributed by Nathanael Presson
2006 Nov 11 Francisco León Nájera
Added GIMPACT trimesh collision detection: concave versus concave,
Contributed by Francisco León Nájera
2006 Nov 2
Minor refactoring: btCollisionObject changes from struct into class, added accessor methods
Force use of btMotionState to synchronize graphics transform, disabled old btRigidBody constructor that accepts btTransform
Renamed treshold into threshold throughout the code
2006 Oct 30
Enable decoupling of physics and graphics framerate using interpolation and internal fixed timestep, based on btMotionState
Enabled raycast vehicle demo (still needs tuning)
Refresh contact points, even when they are already persistent.
Fixed debugDraw colors (thanks pc0de for reporting)
Use Dispatcher in ConcaveConvexCollisionAlgorithm (so it uses the registered collision algorithm, not hardcoded convexconcave)
Improved performance of constraint solver by precalculating the cross product/impulse arm
Added collision comparison code: ODE box-box, also sphere-triangle
Added safety check into GJK, and an assert for AABB's that are very large
Fixed kinematic support (deriving velocities for animated objects)
Updated comparison/optional quickstep solver in Extras
UserCollisionAlgorithm demonstrates btTriangleMesh usage (easier trimesh compared to index array version)
Removed scaling from btTransform (we only want to deal with rigid transforms)
2006 Oct 4
Fixed minor leak in btOptimizeBVH
Cleanup of btRigidBody construction
added getW() in btQuaternion
assert when setLinearVelocity is called on btRigidBody
renamed projectfile library from collada-dom to colladadom (to make VC6 happy)
2006 Sept 27
Big Refactoring: renamed and moved files, create a replacement for CcdPhysicsEnvironment/CcdPhysicsController.
All Bullet classes in LinearMath, BulletCollision and BulletDynamics start with bt, and methods start with lowercase.
Moved classes into src folder, which is the only include folder needed.
Added 2 headerfiles in src: btBulletCollisionCommon.h and btBulletDynamicsCommon.h
2006 Sept 23
Fixed 2 bugs, causing crashes when removing objects. Should do better unit-testing. UnionFind and 3D SAP were involved.
2006 Sept 19
Allow programmable friction and contact solver model. User can register their own functions for several interaction types.
Improved performance, and removed hardcoded maximum overlaps (switched from C-array to stl::set)
2006 Sept 16
Added Bullet 2.0 User Manual
Allow registration of custom user collision algorithms
2006 Sept 10
Started cleaning up demos
2006 Sept 4
Fixed concave collision bug (caused instability/missing collisions in meshes/compounds)
Fixed memoryleak in OptimizedBvh, added RayTestSingle to CollisionWorld
Prepared for VehicleDemo
Increased Performance (island generation for sleeping objects took too much time)
Better COLLADA 1.4.1 physics conformance in ColladaDemo
2006 August 11
Added Quake BspDemo
Improved CCD for compound and non-convex objects
2006 August 10
Added per-triangle material (friction/restitution) support for non-convex meshes. See ConcaveDemo for usage.
2006 August 9
Added CMake support (see http://cmake.org)
This can autogenerate makefiles, projectfiles cross platform (including MacOS X Xcode )
Just run cmake . in the root folder and it will autogenerate build files
2006 July 26 Erwin Coumans
Upgraded to COLLADA-DOM 1.4.1, latest SVN version
ColladaDemo can export snapshots to .dae
2006 July 24 Erwin Coumans
Added Compound CollisionShape support
(this is still low performance -> requires stackless tree-versus-tree traversal for better performance)
2006 July 15 Erwin Coumans
Added initial support for Parallel execution (collision detection, constraint solving)
See ParallelPhysicsEnvironment in Extras\PhysicsInterface\CcdPhysics
2006 July 10 Erwin Coumans
Added MacOS X support (some build issues mainly)
2006 July 5 Erwin Coumans
Improved COLLADA 1.4 physics import, both COLLADA-DOM and FCollada
2006 June 29 Erwin Coumans
Refactoring of the broadphase
Moved some optional files to Extras: Algebraic ccd and EPA, quickstep
Moved the limits on bodies/overlap to 32k and 65k
2006 June 25 Erwin Coumans
Added basic Collision Filtering, during broadphase
Allow adding meshes to the TriangleIndexVertexArray,
(input for TriangleMeshShape)
Preparation for CompoundShape
2006 June 19 Erwin Coumans
Added support for COLLADA Physics Import.
Both jam and Visual Studio can compile ColladaDemo
2006 June 18 Dirk Gregorius <dirk@dirkgregorius.de>
Started implementing Generic6DOF joint and setup basic interface
2006 June 17 Frank Richter <resqu@gmx.ch>
Bumped version in configure.ac to 1.5.6 (assuming that "1.5f" is
the next version released).
Updated files in mk/autoconf and mk/jam with copies from CS; fixes a
GLU detection issue on MinGW.
Set msvc/bullet_ico.ico as the default application icon.
Disabled exceptions for gcc builds.
Applied a patch from Michael D. Adams to fix a warning with gcc.
2006 jUNE 16 Erwin Coumans
Constraints now merge simulation islands.
2006 May 24
Improved GJK accuracy, fixed GjkConvexCast issue, thanks to ~MyXa~ for reporting
2006 May 19
Added restitution support
Moved out Friction and Dynamics info from ManifoldPoint (removed logical dependency)
Added a void* m_userPersistentData in ManifoldPoint.
Added a ContactDestroyedCallback, to allow user to handle destruction of m_userPersistentData
2006 May 13
Fixed some bugs in friction / jacobian calculations. Reported by Dirk Gregorius. Thanks!
2006 May 9
Fixed raycasting filtering
Moved repository to SVN at https://svn.sourceforge.net/svnroot/bullet
2006 April 27
Moved raycasting to CollisionWorld, to make it more generic
Added basic CCD option in the CcdCollisionDemo
Fixed 'noResponse' mode, for triggering rigidbodies (useful for Artificial Intelligence queries)
Improved Bullet/ODE sample (in Extras)
2006 April 10
Separating Axis Test (SAT) convex hull collision detector, contribution by Simon Hobbs
Added SIMD SSE Math classes (for above SAT)
Added Mouse picking in CcdPhysicsDemo
Improved penetration depth estimation in MinkowskiPenetrationDepthSolver, both accuracy and performance
Added Hinge constraint
Added quickprof profiling (see http://sourceforge.net/projects/quickprof )
2006 March 21 Frank Richter <resqu@gmx.ch>
Removed VC manifest files.
Removed superfluous "grpplugins" projects.
2006 March 20 Erwin Coumans
Clamped the acculumated impulse rather then intermediate impulse (within the iteration)
Use the persistent contacts for reusing the impulse
Separated friction and normal solving for better stability
Decreased the default number of iterations of the constraint solver from 10 to 4
2006 March 19 Frank Richter <resqu@gmx.ch>
Removed a couple of CSisms from the VC projects.
Fixed VC include & lib paths to go to the Addtional* options
instead the command line arguments.
Added pkgconfig support.
2006 March 14 Frank Richter <resqu@gmx.ch>
Added support for shipped GLUT on MinGW.
Fixed GLUT support on MinGW.
2006 March 13 Frank Richter <resqu@gmx.ch>
Bolted on Jam-based build system.
Generated VC project files.
Fixed GCC warnings.
Fixed Linux build issues.
2006 March 13
Added 3D Sweep and Prune Broadphase Collision Detection, Contribution from Simon Hobbs.
2006 March 2
Minor change in license to ZLib/LibPNG
This makes it legally a bit easier to deploy on Playstation 3
Prepared for more generic constraints, added ConstraintsDemo
2006 Feb 23
Rearranged files and dependencies to allow for easier standalone Collision Detection without Bullet Dynamics.
See Demos/CollisionInterfaceDemo and Extras/ode/ode/test/test_BulletGjk.cpp for examples how to use.
2005 August 6
Bullet 0.2 release with demos, sources, doxygen, draft manual
2005 June 1
First public release of Bullet
... todo: add history
2003 Initial version (continuous collision detection)

View File

@ -0,0 +1,780 @@
# Doxyfile 1.2.4
# This file describes the settings to be used by doxygen for a project
#
# All text after a hash (#) is considered a comment and will be ignored
# The format is:
# TAG = value [value, ...]
# For lists items can also be appended using:
# TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (" ")
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
PROJECT_NAME = "Bullet Collision Detection & Physics Library"
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER =
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
# If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used.
OUTPUT_DIRECTORY =
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
# The default language is English, other supported languages are:
# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese,
# Korean, Hungarian, Norwegian, Spanish, Romanian, Russian, Croatian,
# Polish, Portuguese and Slovene.
OUTPUT_LANGUAGE = English
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
# documentation are documented, even if no documentation was available.
# Private class members and static file members will be hidden unless
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
EXTRACT_ALL = YES
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
# will be included in the documentation.
EXTRACT_PRIVATE = YES
# If the EXTRACT_STATIC tag is set to YES all static members of a file
# will be included in the documentation.
EXTRACT_STATIC = YES
# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
# undocumented members of documented classes, files or namespaces.
# If set to NO (the default) these members will be included in the
# various overviews, but no documentation section is generated.
# This option has no effect if EXTRACT_ALL is enabled.
HIDE_UNDOC_MEMBERS = NO
# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy.
# If set to NO (the default) these class will be included in the various
# overviews. This option has no effect if EXTRACT_ALL is enabled.
HIDE_UNDOC_CLASSES = NO
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
# include brief member descriptions after the members that are listed in
# the file and class documentation (similar to JavaDoc).
# Set to NO to disable this.
BRIEF_MEMBER_DESC = YES
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
# the brief description of a member or function before the detailed description.
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
# brief descriptions will be completely suppressed.
REPEAT_BRIEF = YES
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
# Doxygen will generate a detailed section even if there is only a brief
# description.
ALWAYS_DETAILED_SEC = NO
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
# path before files name in the file list and in the header files. If set
# to NO the shortest path that makes the file name unique will be used.
FULL_PATH_NAMES = NO
# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
# can be used to strip a user defined part of the path. Stripping is
# only done if one of the specified strings matches the left-hand part of
# the path. It is allowed to use relative paths in the argument list.
STRIP_FROM_PATH =
# The INTERNAL_DOCS tag determines if documentation
# that is typed after a \internal command is included. If the tag is set
# to NO (the default) then the documentation will be excluded.
# Set it to YES to include the internal documentation.
INTERNAL_DOCS = NO
# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
# generate a class diagram (in Html and LaTeX) for classes with base or
# super classes. Setting the tag to NO turns the diagrams off.
CLASS_DIAGRAMS = YES
# If the SOURCE_BROWSER tag is set to YES then a list of source files will
# be generated. Documented entities will be cross-referenced with these sources.
SOURCE_BROWSER = YES
# Setting the INLINE_SOURCES tag to YES will include the body
# of functions and classes directly in the documentation.
INLINE_SOURCES = NO
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
# doxygen to hide any special comment blocks from generated source code
# fragments. Normal C and C++ comments will always remain visible.
STRIP_CODE_COMMENTS = YES
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
# file names in lower case letters. If set to YES upper case letters are also
# allowed. This is useful if you have classes or files whose names only differ
# in case and if your file system supports case sensitive file names. Windows
# users are adviced to set this option to NO.
CASE_SENSE_NAMES = YES
# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
# will show members with their full class and namespace scopes in the
# documentation. If set to YES the scope will be hidden.
HIDE_SCOPE_NAMES = NO
# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
# will generate a verbatim copy of the header file for each class for
# which an include is specified. Set to NO to disable this.
VERBATIM_HEADERS = YES
# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
# will put list of the files that are included by a file in the documentation
# of that file.
SHOW_INCLUDE_FILES = YES
# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
# will interpret the first line (until the first dot) of a JavaDoc-style
# comment as the brief description. If set to NO, the JavaDoc
# comments will behave just like the Qt-style comments (thus requiring an
# explict @brief command for a brief description.
JAVADOC_AUTOBRIEF = YES
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
# member inherits the documentation from any documented member that it
# reimplements.
INHERIT_DOCS = YES
# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
# is inserted in the documentation for inline members.
INLINE_INFO = YES
# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
# will sort the (detailed) documentation of file and class members
# alphabetically by member name. If set to NO the members will appear in
# declaration order.
SORT_MEMBER_DOCS = YES
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
# tag is set to YES, then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
DISTRIBUTE_GROUP_DOC = NO
# The TAB_SIZE tag can be used to set the number of spaces in a tab.
# Doxygen uses this value to replace tabs by spaces in code fragments.
TAB_SIZE = 8
# The ENABLE_SECTIONS tag can be used to enable conditional
# documentation sections, marked by \if sectionname ... \endif.
ENABLED_SECTIONS =
# The GENERATE_TODOLIST tag can be used to enable (YES) or
# disable (NO) the todo list. This list is created by putting \todo
# commands in the documentation.
GENERATE_TODOLIST = NO
# The GENERATE_TESTLIST tag can be used to enable (YES) or
# disable (NO) the test list. This list is created by putting \test
# commands in the documentation.
GENERATE_TESTLIST = YES
# This tag can be used to specify a number of aliases that acts
# as commands in the documentation. An alias has the form "name=value".
# For example adding "sideeffect=\par Side Effects:\n" will allow you to
# put the command \sideeffect (or @sideeffect) in the documentation, which
# will result in a user defined paragraph with heading "Side Effects:".
# You can put \n's in the value part of an alias to insert newlines.
ALIASES =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
# The QUIET tag can be used to turn on/off the messages that are generated
# by doxygen. Possible values are YES and NO. If left blank NO is used.
QUIET = NO
# The WARNINGS tag can be used to turn on/off the warning messages that are
# generated by doxygen. Possible values are YES and NO. If left blank
# NO is used.
WARNINGS = YES
# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
# automatically be disabled.
WARN_IF_UNDOCUMENTED = YES
# The WARN_FORMAT tag determines the format of the warning messages that
# doxygen can produce. The string should contain the $file, $line, and $text
# tags, which will be replaced by the file and line number from which the
# warning originated and the warning text.
WARN_FORMAT = "$file:$line: $text"
# The WARN_LOGFILE tag can be used to specify a file to which warning
# and error messages should be written. If left blank the output is written
# to stderr.
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
# The INPUT tag can be used to specify the files and/or directories that contain
# documented source files. You may enter file names like "myfile.cpp" or
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = src
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
# and *.h) to filter out the source-files in the directories. If left
# blank all files are included.
FILE_PATTERNS = *.h *.cpp *.c
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
# should be searched for input files as well. Possible values are YES and NO.
# If left blank NO is used.
RECURSIVE = YES
# The EXCLUDE tag can be used to specify files and/or directories that should
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
EXCLUDE =
# If the value of the INPUT tag contains directories, you can use the
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
# certain files from those directories.
EXCLUDE_PATTERNS =
# The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see
# the \include command).
EXAMPLE_PATH =
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
# and *.h) to filter out the source-files in the directories. If left
# blank all files are included.
EXAMPLE_PATTERNS =
# The IMAGE_PATH tag can be used to specify one or more files or
# directories that contain image that are included in the documentation (see
# the \image command).
IMAGE_PATH =
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
# by executing (via popen()) the command <filter> <input-file>, where <filter>
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
# input file. Doxygen will then use the output that the filter program writes
# to standard output.
INPUT_FILTER =
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
# INPUT_FILTER) will be used to filter the input files when producing source
# files to browse.
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
# of all compounds will be generated. Enable this if the project
# contains a lot of classes, structs, unions or interfaces.
ALPHABETICAL_INDEX = NO
# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
# in which this list will be split (can be a number in the range [1..20])
COLS_IN_ALPHA_INDEX = 5
# In case all classes in a project start with a common prefix, all
# classes will be put under the same header in the alphabetical index.
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
# should be ignored while generating the index headers.
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
# generate HTML output.
GENERATE_HTML = YES
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `html' will be used as the default path.
HTML_OUTPUT = html
# The HTML_HEADER tag can be used to specify a personal HTML header for
# each generated HTML page. If it is left blank doxygen will generate a
# standard header.
HTML_HEADER =
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
# each generated HTML page. If it is left blank doxygen will generate a
# standard footer.
HTML_FOOTER =
# The HTML_STYLESHEET tag can be used to specify a user defined cascading
# style sheet that is used by each HTML page. It can be used to
# fine-tune the look of the HTML output. If the tag is left blank doxygen
# will generate a default style sheet
HTML_STYLESHEET =
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
# files or namespaces will be aligned in HTML using tables. If set to
# NO a bullet list will be used.
HTML_ALIGN_MEMBERS = YES
# If the GENERATE_HTMLHELP tag is set to YES, additional index files
# will be generated that can be used as input for tools like the
# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
# of the generated HTML documentation.
GENERATE_HTMLHELP = YES
# HHC_LOCATION = "C:\Program Files\HTML Help Workshop\hhc.exe"
HHC_LOCATION = "C:\Program Files (x86)\HTML Help Workshop\hhc.exe"
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
#HTML_STYLESHEET = "\\server\exchange\Software Development\Documentation\DoxyGen\doxygen.css"
CHM_FILE = BulletDocs.chm
HHC_LOCATION = "c:\program files\HTML Help Workshop\hhc.exe"
GENERATE_CHI = YES
BINARY_TOC = YES
TOC_EXPAND = YES
SHOW_DIRECTORIES = YES
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
# top of each HTML page. The value NO (the default) enables the index and
# the value YES disables it.
DISABLE_INDEX = NO
# This tag can be used to set the number of enum values (range [1..20])
# that doxygen will group on one line in the generated HTML documentation.
ENUM_VALUES_PER_LINE = 1
# If the GENERATE_TREEVIEW tag is set to YES, a side pannel will be
# generated containing a tree-like index structure (just like the one that
# is generated for HTML Help). For this to work a browser that supports
# JavaScript and frames is required (for instance Netscape 4.0+
# or Internet explorer 4.0+).
GENERATE_TREEVIEW = YES
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
# used to set the initial width (in pixels) of the frame in which the tree
# is shown.
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
# generate Latex output.
GENERATE_LATEX = NO
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `latex' will be used as the default path.
LATEX_OUTPUT = latex
# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
# LaTeX documents. This may be useful for small projects and may help to
# save some trees in general.
COMPACT_LATEX = NO
# The PAPER_TYPE tag can be used to set the paper type that is used
# by the printer. Possible values are: a4, a4wide, letter, legal and
# executive. If left blank a4wide will be used.
PAPER_TYPE = a4wide
# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
# packages that should be included in the LaTeX output.
EXTRA_PACKAGES =
# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
# the generated latex document. The header should contain everything until
# the first chapter. If it is left blank doxygen will generate a
# standard header. Notice: only use this tag if you know what you are doing!
LATEX_HEADER =
# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
# is prepared for conversion to pdf (using ps2pdf). The pdf file will
# contain links (just like the HTML output) instead of page references
# This makes the output suitable for online browsing using a pdf viewer.
PDF_HYPERLINKS = NO
# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
# plain latex in the generated Makefile. Set this option to YES to get a
# higher quality PDF documentation.
USE_PDFLATEX = NO
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
# command to the generated LaTeX files. This will instruct LaTeX to keep
# running if errors occur, instead of asking the user for help.
# This option is also used when generating formulas in HTML.
LATEX_BATCHMODE = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
# The RTF output is optimised for Word 97 and may not look very pretty with
# other RTF readers or editors.
GENERATE_RTF = NO
# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `rtf' will be used as the default path.
RTF_OUTPUT = rtf
# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
# RTF documents. This may be useful for small projects and may help to
# save some trees in general.
COMPACT_RTF = NO
# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
# will contain hyperlink fields. The RTF file will
# contain links (just like the HTML output) instead of page references.
# This makes the output suitable for online browsing using a WORD or other.
# programs which support those fields.
# Note: wordpad (write) and others do not support links.
RTF_HYPERLINKS = NO
# Load stylesheet definitions from file. Syntax is similar to doxygen's
# config file, i.e. a series of assigments. You only have to provide
# replacements, missing definitions are set to their default value.
RTF_STYLESHEET_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
# generate man pages
GENERATE_MAN = NO
# The MAN_OUTPUT tag is used to specify where the man pages will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `man' will be used as the default path.
MAN_OUTPUT = man
# The MAN_EXTENSION tag determines the extension that is added to
# the generated man pages (default is the subroutine's section .3)
MAN_EXTENSION = .3
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
# If the GENERATE_XML tag is set to YES Doxygen will
# generate an XML file that captures the structure of
# the code including all documentation. Warning: This feature
# is still experimental and very incomplete.
GENERATE_XML = NO
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
# evaluate all C-preprocessor directives found in the sources and include
# files.
ENABLE_PREPROCESSING = YES
# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
# names in the source code. If set to NO (the default) only conditional
# compilation will be performed. Macro expansion can be done in a controlled
# way by setting EXPAND_ONLY_PREDEF to YES.
MACRO_EXPANSION = YES
# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
# then the macro expansion is limited to the macros specified with the
# PREDEFINED and EXPAND_AS_PREDEFINED tags.
EXPAND_ONLY_PREDEF = YES
# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
# in the INCLUDE_PATH (see below) will be search if a #include is found.
SEARCH_INCLUDES = YES
# The INCLUDE_PATH tag can be used to specify one or more directories that
# contain include files that are not input files but should be processed by
# the preprocessor.
INCLUDE_PATH = src
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
# patterns (like *.h and *.hpp) to filter out the header-files in the
# directories. If left blank, the patterns specified with FILE_PATTERNS will
# be used.
INCLUDE_FILE_PATTERNS =
# The PREDEFINED tag can be used to specify one or more macro names that
# are defined before the preprocessor is started (similar to the -D option of
# gcc). The argument of the tag is a list of macros of the form: name
# or name=definition (no spaces). If the definition and the = are
# omitted =1 is assumed.
PREDEFINED = "ATTRIBUTE_ALIGNED128(x)=x" \
"ATTRIBUTE_ALIGNED16(x)=x" \
"SIMD_FORCE_INLINE=inline" \
"VECTORMATH_FORCE_INLINE=inline" \
"USE_WIN32_THREADING=1"\
"USE_PTHREADS=1"\
"_WIN32=1"
# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.
# The macro definition that is found in the sources will be used.
# Use the PREDEFINED tag if you want to use a different macro definition.
EXPAND_AS_DEFINED =
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
# The TAGFILES tag can be used to specify one or more tagfiles.
TAGFILES =
# When a file name is specified after GENERATE_TAGFILE, doxygen will create
# a tag file that is based on the input files it reads.
GENERATE_TAGFILE =
# If the ALLEXTERNALS tag is set to YES all external classes will be listed
# in the class index. If set to NO only the inherited external classes
# will be listed.
ALLEXTERNALS = NO
# The PERL_PATH should be the absolute path and name of the perl script
# interpreter (i.e. the result of `which perl').
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
# available from the path. This tool is part of Graphviz, a graph visualization
# toolkit from AT&T and Lucent Bell Labs. The other options in this section
# have no effect if this option is set to NO (the default)
HAVE_DOT = YES
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for each documented class showing the direct and
# indirect inheritance relations. Setting this tag to YES will force the
# the CLASS_DIAGRAMS tag to NO.
CLASS_GRAPH = YES
# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for each documented class showing the direct and
# indirect implementation dependencies (inheritance, containment, and
# class references variables) of the class with other documented classes.
COLLABORATION_GRAPH = YES
# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to
# YES then doxygen will generate a graph for each documented file showing
# the direct and indirect include dependencies of the file with other
# documented files.
INCLUDE_GRAPH = YES
# If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to
# YES then doxygen will generate a graph for each documented header file showing
# the documented files that directly or indirectly include this file
INCLUDED_BY_GRAPH = YES
# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
# will graphical hierarchy of all classes instead of a textual one.
GRAPHICAL_HIERARCHY = YES
# The tag DOT_PATH can be used to specify the path where the dot tool can be
# found. If left blank, it is assumed the dot tool can be found on the path.
DOT_PATH =
# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
# this value, doxygen will try to truncate the graph, so that it fits within
# the specified constraint. Beware that most browsers cannot cope with very
# large images.
MAX_DOT_GRAPH_WIDTH = 1024
# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
# this value, doxygen will try to truncate the graph, so that it fits within
# the specified constraint. Beware that most browsers cannot cope with very
# large images.
MAX_DOT_GRAPH_HEIGHT = 1024
# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
# generate a legend page explaining the meaning of the various boxes and
# arrows in the dot generated graphs.
GENERATE_LEGEND = YES
# delete intermediate dot files?
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
#---------------------------------------------------------------------------
# The SEARCHENGINE tag specifies whether or not a search engine should be
# used. If set to NO the values of all tags below this one will be ignored.
SEARCHENGINE = NO
# The CGI_NAME tag should be the name of the CGI script that
# starts the search engine (doxysearch) with the correct parameters.
# A script with this name will be generated by doxygen.
CGI_NAME = search.cgi
# The CGI_URL tag should be the absolute URL to the directory where the
# cgi binaries are located. See the documentation of your http daemon for
# details.
CGI_URL =
# The DOC_URL tag should be the absolute URL to the directory where the
# documentation is located. If left blank the absolute path to the
# documentation, with file:// prepended to it, will be used.
DOC_URL =
# The DOC_ABSPATH tag should be the absolute path to the directory where the
# documentation is located. If left blank the directory on the local machine
# will be used.
DOC_ABSPATH =
# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
# is installed.
BIN_ABSPATH = c:\program files\doxygen\bin
# The EXT_DOC_PATHS tag can be used to specify one or more paths to
# documentation generated for other projects. This allows doxysearch to search
# the documentation for these projects as well.
EXT_DOC_PATHS =

View File

@ -0,0 +1,111 @@
Bullet Collision Detection and Physics Library
See also http://bulletphysics.org/mediawiki-1.5.8/index.php/Creating_a_project_from_scratch
** Windows Compilation **
Open the Microsoft Visual Studio solution in msvc/20xx/BULLET_PHYSICS.sln
Alternatively, use CMake to autogenerate a build system for Windows:
- Download/install CMake from www.cmake.org or package manager
- Use cmake-gui or
- List available build systems by running 'cmake' in the Bullet root folder
- Use cmake-gui
- Create a build system using the -G option for example:
cmake . -G "Visual Studio 9 2008" or
cmake . -G "Visual Studio 9 2008 Win64"
** Linux Compilation **
- Download/install CMake from www.cmake.org or package manager
CMake is like autoconf in that it will create build scripts which are then
used for the actual compilation
- List available build systems by running 'cmake' in the Bullet root folder
- Create a build system using the -G option for example:
cmake . -G "Unix Makefiles"
- There are some options for cmake builds:
BUILD_SHARED_LIBS: default 'OFF', set to 'ON' to build .so libraries
BUILD_EXTRAS: default 'ON', compiles additional libraries in 'Extras'
BUILD_DEMOS: default 'ON', compiles applications found in 'Demos'
CMAKE_INSTALL_PREFIX: default '/usr/local', the installation path.
CMAKE_INSTALL_RPATH: if you install outside a standard ld search path,
then you should set this to the installation lib path.
CMAKE_BUILD_TYPE: default 'Release', can include debug symbols with
either 'Debug' or 'RelWithDebInfo'.
Other options may be discovered by 'cmake --help-variable-list' and
'cmake --help-variable OPTION'
- Run 'cmake' with desired options of the form -DOPTION=VALUE
By default this will create the usual Makefile build system, but CMake can
also produce Eclipse or KDevelop project files. See 'cmake --help' to see
what "generators" are available in your environment, selected via '-G'.
For example:
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=RelWithDebugInfo
- Assuming using the default Makefile output from cmake, run 'make' to
build, and then 'make install' if you wish to install.
** Mac OS X Compilation **
- Download/install CMake from www.cmake.org or package manager
CMake is like autoconf in that it will create build scripts which are then
used for the actual compilation
- List available build systems by running 'cmake' in the Bullet root folder
- Create a build system using the -G option for example:
cmake . -G Xcode
cmake . -G "Unix Makefiles"
- There are some options for cmake builds:
BUILD_SHARED_LIBS: default 'OFF', set to 'ON' to build .dylib libraries
BUILD_EXTRAS: default 'ON', compiles additional libraries in 'Extras'
BUILD_DEMOS: default 'ON', compiles applications found in 'Demos'
CMAKE_INSTALL_PREFIX: default '/usr/local', the installation path.
CMAKE_INSTALL_NAME_DIR: if you install outside a standard ld search
path, then you should set this to the installation lib/framework path.
CMAKE_OSX_ARCHITECTURES: defaults to the native architecture, but can be
set to a semicolon separated list for fat binaries, e.g. ppc;i386;x86_64
CMAKE_BUILD_TYPE: default 'Release', can include debug symbols with
either 'Debug' or 'RelWithDebInfo'.
To build framework bundles:
FRAMEWORK: default 'OFF', also requires 'BUILD_SHARED_LIBS' set ON
If both FRAMEWORK and BUILD_SHARED_LIBS are set, will create
OS X style Framework Bundles which can be placed in
linked via the -framework gcc argument or drag into Xcode projects.
(If not framework, then UNIX style 'include' and 'lib' will be produced)
Other options may be discovered by 'cmake --help-variable-list' and
'cmake --help-variable OPTION'
- Run 'cmake' with desired options of the form -DOPTION=VALUE
By default this will create the usual Makefile build system, but CMake can
also produce Eclipse or KDevelop project files. See 'cmake --help' to see
what "generators" are available in your environment, selected via '-G'.
For example:
cmake -DBUILD_SHARED_LIBS=ON -DFRAMEWORK=ON \
-DCMAKE_INSTALL_PREFIX=/Library/Frameworks \
-DCMAKE_INSTALL_NAME_DIR=/Library/Frameworks \
-DCMAKE_OSX_ARCHITECTURES='ppc;i386;x86_64' \
-DCMAKE_BUILD_TYPE=RelWithDebugInfo
- Assuming using the default Makefile output from cmake, run 'make' to build
and then 'make install'.
** Alternative Mac OS X and Linux via autoconf/make **
- at the command line:
./autogen.sh
./configure
make
** For more help, visit http://www.bulletphysics.org **

View File

@ -0,0 +1,7 @@
if CONDITIONAL_BUILD_DEMOS
SUBDIRS=src Extras Demos
else
SUBDIRS=src
endif
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = bullet.pc

View File

@ -0,0 +1,5 @@
For news, visit the Bullet Physics forums at
http://www.bulletphysics.org and http://bullet.googlecode.com

View File

@ -0,0 +1,6 @@
Bullet is a 3D Collision Detection and Rigid Body Dynamics Library for games and animation.
Free for commercial use, including Playstation 3, open source under the ZLib License.
See the Bullet_User_Manual.pdf for more info and visit the Bullet Physics Forum at
http://bulletphysics.org

View File

@ -0,0 +1,36 @@
This document details the steps necessary to package a release of Bullet.
1) Preparing for release:
update VERSION in several places (/VERSION file, /CMakeLists.txt, /configure.ac, /src/LinearMath/btScalar.h, /src/LinearMath/btSerializer.h around line 441)
re-generate serialization structures, if they changed (/src/LinearMath/btSerializer.cpp using makesdna)
update ChangeLog with larger/important changes
regenerate MSVC project files using build/vs_all.bat
create a Subversion tag revision in bullet.googlecode.com/svn/tags/bullet-<VERSION>
2) Generating the release .zip:
Do an SVN export on a Windows machine into the directory: bullet-X.YY
prepare a zip file containing the directory
3) Generating the release .tar.gz:
Do an SVN export on a Unix machine into the directory: bullet-X.YY
prepare a .tar.gz file containing the directory
4) Uploading release to google code:
Google Code Bullet downloads URL: http://code.google.com/p/bullet/downloads/list
Title of release should follow this guide line: Bullet <VERSION> Physics SDK <Release Type> (revision)
It is better to upload the .tar.gz before the .zip so that the .zip appears first in the list
If the release is an Alpha/Beta or RC the tags should be: Type-Source, OpSys-ALL
If the release is a final release the tags should be: Type-Source, OpSys-ALL, Featured
5) Obsoleting old releases
Edit the tags on old releases and add the 'Deprecated' tag
6) Announcing final releases:
Final release announcements are done here: http://bulletphysics.com/Bullet/phpBB3/viewforum.php?f=18

View File

@ -0,0 +1,10 @@
# -*- cmake -*-
#
# UseBullet.cmake
#
add_definitions ( ${BULLET_DEFINITIONS} )
include_directories ( ${BULLET_INCLUDE_DIRS} )
link_directories ( ${BULLET_LIBRARY_DIRS} )

View File

@ -0,0 +1 @@
2.82

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,61 @@
#! /bin/sh
if [ "$USER" = "root" ]; then
echo "*** You cannot do this as "$USER" please use a normal user account."
exit 1
fi
if test ! -f configure.ac ; then
echo "*** Please invoke this script from directory containing configure.ac."
exit 1
fi
echo "running aclocal"
aclocal
rc=$?
if test $rc -eq 0; then
echo "running libtool"
libtoolize --force --automake --copy
rc=$?
else
echo "An error occured, autogen.sh stopping."
exit $rc
fi
if test $rc -eq 0; then
echo "libtool worked."
else
echo "libtool not found. trying glibtool."
glibtoolize --force --automake --copy
rc=$?
fi
if test $rc -eq 0; then
echo "running automake"
automake --add-missing --copy
rc=$?
else
echo "An error occured, autogen.sh stopping."
exit $rc
fi
if test $rc -eq 0; then
echo "running autoheader"
autoheader
rc=$?
else
echo "An error occured, autogen.sh stopping."
exit $rc
fi
if test $rc -eq 0; then
echo "running autoconf"
autoconf
rc=$?
else
echo "An error occured, autogen.sh stopping."
exit $rc
fi
echo "autogen.sh complete"
exit $rc

View File

@ -0,0 +1,6 @@
Name: bullet
Description: Bullet Continuous Collision Detection and Physics Library
Requires:
Version: @BULLET_VERSION@
Libs: -L@LIB_DESTINATION@ -lBulletSoftBody -lBulletDynamics -lBulletCollision -lLinearMath
Cflags: @BULLET_DOUBLE_DEF@ -I@INCLUDE_INSTALL_DIR@

View File

@ -0,0 +1,11 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: bullet
Description: Bullet Continuous Collision Detection and Physics Library
Requires:
Version: @PACKAGE_VERSION@
Libs: -L${libdir} -lBulletSoftBody -lBulletDynamics -lBulletCollision -lLinearMath
Cflags: -I${includedir}/bullet

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -0,0 +1,113 @@
/* config.h.in. Generated from configure.ac by autoheader. */
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
/* Architecture is PowerPC */
#undef ARCH_PPC
/* Architecture is x86 */
#undef ARCH_X86
/* Architecture is x86-64 */
#undef ARCH_X86_64
/* Use the Apple OpenGL framework. */
#undef HAVE_APPLE_OPENGL_FRAMEWORK
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the <GL/glext.h> header file. */
#undef HAVE_GL_GLEXT_H
/* Define to 1 if you have the <GL/glut.h> header file. */
#undef HAVE_GL_GLUT_H
/* Define to 1 if you have the <GL/glu.h> header file. */
#undef HAVE_GL_GLU_H
/* Define to 1 if you have the <GL/gl.h> header file. */
#undef HAVE_GL_GL_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#undef LT_OBJDIR
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Platform is Apple */
#undef PLATFORM_APPLE
/* Platform is Linux */
#undef PLATFORM_LINUX
/* Platform is Win32 */
#undef PLATFORM_WIN32
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Version number of package */
#undef VERSION
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
# undef WORDS_BIGENDIAN
# endif
#endif

View File

@ -0,0 +1,172 @@
#----------------------------------------------------------------------------
# Autoconf input script. Invoke the ./autogen.sh script to generate a
# configure script from this file.
#----------------------------------------------------------------------------
AC_PREREQ([2.54])
#----------------------------------------------------------------------------
# Initialize Autoconf.
#----------------------------------------------------------------------------
AC_INIT(
[bullet],
[2.82],
[erwin.coumans@gmail.com])
AC_CANONICAL_HOST
AC_CONFIG_SRCDIR([configure.ac])
AM_INIT_AUTOMAKE
AM_PROG_CC_C_O
AC_PROG_CXX
AC_PROG_LIBTOOL
case "$host" in
*-*-mingw*|*-*-cygwin*)
AC_DEFINE(PLATFORM_WIN32, 1, [Platform is Win32])
opengl_LIBS="-lunsupported_platform"
PLATFORM_STRING="Win32"
;;
*-*-linux*)
AC_DEFINE(PLATFORM_LINUX, 1, [Platform is Linux])
opengl_LIBS="-lGL -lGLU -lglut"
PLATFORM_STRING="Linux"
;;
*-*-darwin*)
AC_MSG_WARN([Hello])
AC_DEFINE(PLATFORM_APPLE, 1, [Platform is Apple])
opengl_LIBS="-framework AGL -framework OpenGL -framework GLUT"
PLATFORM_STRING="Apple"
;;
*)
AC_MSG_WARN([*** Please add $host to configure.ac checks!])
;;
esac
AC_SUBST(opengl_LIBS)
case "$host" in
i?86-* | k?-* | athlon-* | pentium*-)
AC_DEFINE(ARCH_X86, 1, [Architecture is x86])
ARCH_SPECIFIC_CFLAGS=""
ARCH_STRING="X86"
;;
x86_64-*)
AC_DEFINE(ARCH_X86_64, 1, [Architecture is x86-64])
ARCH_SPECIFIC_CFLAGS="-DUSE_ADDR64"
ARCH_STRING="X86-64"
;;
ppc-* | powerpc-*)
AC_MSG_WARN([HI THERE!])
AC_DEFINE(ARCH_PPC, 1, [Architecture is PowerPC])
ARCH_SPECIFIC_CFLAGS=""
ARCH_STRING="PowerPC"
;;
*)
AC_MSG_ERROR([Unknown Architecture])
;;
esac
AC_C_BIGENDIAN
#----------------------------------------------------------------------------
# Setup for the configuration header.
#----------------------------------------------------------------------------
AC_CONFIG_HEADERS([config.h])
#----------------------------------------------------------------------------
# Package configuration switches.
#----------------------------------------------------------------------------
AC_ARG_ENABLE([multithreaded],
[AC_HELP_STRING([--enable-multithreaded],
[build BulletMultiThreaded (default NO)])],
[disable_multithreaded=no], [disable_multithreaded=yes])
AC_MSG_CHECKING([BulletMultiThreaded])
AS_IF([test "$disable_multithreaded" = yes], [build_multithreaded=no], [build_multithreaded=yes])
AC_MSG_RESULT([$build_multithreaded])
AM_CONDITIONAL([CONDITIONAL_BUILD_MULTITHREADED], [test "$build_multithreaded" = yes])
AC_ARG_ENABLE([demos],
[AS_HELP_STRING([--disable-demos],
[disable Bullet demos])],
[],
[enable_demos=yes])
AM_CONDITIONAL([CONDITIONAL_BUILD_DEMOS], [false])
dnl Check for OpenGL and GLUT
case "$host" in
*-*-darwin*)
AC_DEFINE([HAVE_APPLE_OPENGL_FRAMEWORK], [1],
[Use the Apple OpenGL framework.])
GL_LIBS="-framework GLUT -framework OpenGL -framework Carbon -framework AGL"
have_glut=yes
have_glu=yes
have_gl=yes
;;
*)
have_gl_headers=yes
AC_CHECK_HEADERS(GL/gl.h GL/glu.h GL/glext.h GL/glut.h, ,
[have_gl_headers=no],
[[#ifdef WIN32
#include <windows.h>
#endif
#if HAVE_GL_GL_H
#include <GL/gl.h>
#endif
#if HAVE_GL_GLU_H
#include <GL/glu.h>
#endif
]])
have_gl=no
have_glu=no
have_glut=no
TEMP_LDFLAGS="$LDFLAGS"
AC_CHECK_LIB(GL, main, [GL_LIBS="-lGL"; have_gl=yes])
AC_CHECK_LIB(GLU, main, [GL_LIBS="-lGLU $GL_LIBS"; have_glu=yes], , -lGL)
AC_CHECK_LIB(GLUT, main, [GL_LIBS="-lGLUT -LGLU $GL_LIBS"; have_glut=yes], ,-lGLUT)
AC_CHECK_LIB(opengl32, main, [GL_LIBS="-lopengl32"; have_gl=yes])
AC_CHECK_LIB(glu32, main, [GL_LIBS="-lglu32 $GL_LIBS"; have_glu=yes], , -lopengl32)
LDFLAGS="$TEMP_LDFLAGS"
if test $have_gl = no -o $have_glu = no -o $have_gl_headers = no; then
if test x$enable_demos = xyes; then
AC_MSG_WARN([Demos and Extras will not be built because OpenGL and GLUT doesn't seem to work. See `config.log' for details.])
fi
enable_demos=no
else
AC_MSG_NOTICE([Found OpenGL])
fi
;;
esac
AC_SUBST(GL_LIBS)
if test "x$enable_demos" != xno; then
AC_MSG_NOTICE([Building Bullet demos])
AM_CONDITIONAL([CONDITIONAL_BUILD_DEMOS],[true])
fi
AC_ARG_ENABLE([debug],
[AC_HELP_STRING([--enable-debug],
[build with debugging information (default NO)])],
[], [enable_debug=no])
AC_MSG_CHECKING([build mode])
AS_IF([test $enable_debug = yes], [build_mode=debug], [build_mode=optimize])
AC_MSG_RESULT([$build_mode])
CFLAGS="$ARCH_SPECIFIC_CFLAGS $CFLAGS"
CXXFLAGS="$ARCH_SPECIFIC_CFLAGS $CXXFLAGS $CFLAGS"
#----------------------------------------------------------------------------
# Emit generated files.
#----------------------------------------------------------------------------
AC_CONFIG_FILES([bullet.pc Makefile Demos/Makefile Demos/SoftDemo/Makefile Demos/AllBulletDemos/Makefile Demos/MultiThreadedDemo/Makefile Demos/OpenGL/Makefile Demos/ForkLiftDemo/Makefile Demos/FeatherstoneMultiBodyDemo/Makefile Demos/BasicDemo/Makefile Demos/CcdPhysicsDemo/Makefile Demos/VehicleDemo/Makefile Demos/TerrainDemo/Makefile src/Makefile Extras/Makefile])
AC_OUTPUT
AC_MSG_NOTICE([
Please type 'make' to build Bullet
])

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,322 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2004-07-05.00
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# 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 THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
chmodcmd="$chmodprog 0755"
chowncmd=
chgrpcmd=
stripcmd=
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=
dst=
dir_arg=
dstarg=
no_target_directory=
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
-c (ignored)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
--help display this help and exit.
--version display version info and exit.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
"
while test -n "$1"; do
case $1 in
-c) shift
continue;;
-d) dir_arg=true
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
--help) echo "$usage"; exit 0;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-s) stripcmd=$stripprog
shift
continue;;
-t) dstarg=$2
shift
shift
continue;;
-T) no_target_directory=true
shift
continue;;
--version) echo "$0 $scriptversion"; exit 0;;
*) # When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
test -n "$dir_arg$dstarg" && break
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dstarg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dstarg"
shift # fnord
fi
shift # arg
dstarg=$arg
done
break;;
esac
done
if test -z "$1"; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src ;;
esac
if test -n "$dir_arg"; then
dst=$src
src=
if test -d "$dst"; then
mkdircmd=:
chmodcmd=
else
mkdircmd=$mkdirprog
fi
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dstarg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dstarg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst ;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dstarg: Is a directory" >&2
exit 1
fi
dst=$dst/`basename "$src"`
fi
fi
# This sed command emulates the dirname command.
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# Skip lots of stat calls in the usual case.
if test ! -d "$dstdir"; then
defaultIFS='
'
IFS="${IFS-$defaultIFS}"
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS=$oIFS
pathcomp=
while test $# -ne 0 ; do
pathcomp=$pathcomp$1
shift
if test ! -d "$pathcomp"; then
$mkdirprog "$pathcomp"
# mkdir can fail with a `File exist' error in case several
# install-sh are creating the directory concurrently. This
# is OK.
test -d "$pathcomp" || exit
fi
pathcomp=$pathcomp/
done
fi
if test -n "$dir_arg"; then
$doit $mkdircmd "$dst" \
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
else
dstfile=`basename "$dst"`
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
trap '(exit $?); exit' 1 2 13 15
# Copy the file name to the temp name.
$doit $cpprog "$src" "$dsttmp" &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
# Now rename the file to the real destination.
{ $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
|| {
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
if test -f "$dstdir/$dstfile"; then
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|| {
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
(exit 1); exit
}
else
:
fi
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
}
}
fi || { (exit 1); exit; }
done
# The final little trick to "correctly" pass the exit status to the exit trap.
{
(exit 0); exit
}
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More