cmake+premake disable OpenGL 3 demos on Mac OSX versions below 10.9
See also http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=10073 Move ConstraintPhysicsSetup to Demos3/bullet3/ConstraintDemo
This commit is contained in:
@@ -231,18 +231,30 @@ IF (APPLE)
|
|||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
OPTION(BUILD_BULLET3 "Set when you want to build Bullet 3" ON)
|
OPTION(BUILD_BULLET3 "Set when you want to build Bullet 3" ON)
|
||||||
|
|
||||||
IF(BUILD_BULLET3)
|
IF(BUILD_BULLET3)
|
||||||
OPTION(BUILD_BULLET3_DEMOS "Set when you want to build the Bullet 3 demos" ON)
|
IF(APPLE)
|
||||||
|
MESSAGE("Mac OSX Version is ${_CURRENT_OSX_VERSION}")
|
||||||
|
IF(_CURRENT_OSX_VERSION VERSION_LESS 10.10)
|
||||||
|
MESSAGE("Mac OSX below 10.9 has no OpenGL 3 support so please disable the BUILD_OPENGL3_DEMOS option")
|
||||||
|
#unset(BUILD_OPENGL3_DEMOS CACHE)
|
||||||
|
OPTION(BUILD_OPENGL3_DEMOS "Set when you want to build the OpenGL3+ demos" OFF)
|
||||||
|
ELSE()
|
||||||
|
OPTION(BUILD_OPENGL3_DEMOS "Set when you want to build the OpenGL3+ demos" ON)
|
||||||
|
ENDIF()
|
||||||
|
ELSE()
|
||||||
|
OPTION(BUILD_OPENGL3_DEMOS "Set when you want to build Bullet 3 OpenGL3+ demos" ON)
|
||||||
|
ENDIF()
|
||||||
ELSE(BUILD_BULLET3)
|
ELSE(BUILD_BULLET3)
|
||||||
unset(BUILD_BULLET3_DEMOS CACHE)
|
unset(BUILD_OPENGL3_DEMOS CACHE)
|
||||||
OPTION(BUILD_BULLET3_DEMOS "Set when you want to build the Bullet 3 demos" OFF)
|
OPTION(BUILD_OPENGL3_DEMOS "Set when you want to build Bullet 3 OpenGL3+ demos" OFF)
|
||||||
ENDIF(BUILD_BULLET3)
|
ENDIF(BUILD_BULLET3)
|
||||||
IF(BUILD_BULLET3_DEMOS)
|
IF(BUILD_OPENGL3_DEMOS)
|
||||||
IF(EXISTS ${BULLET_PHYSICS_SOURCE_DIR}/Demos3 AND IS_DIRECTORY ${BULLET_PHYSICS_SOURCE_DIR}/Demos3)
|
IF(EXISTS ${BULLET_PHYSICS_SOURCE_DIR}/Demos3 AND IS_DIRECTORY ${BULLET_PHYSICS_SOURCE_DIR}/Demos3)
|
||||||
SUBDIRS(Demos3)
|
SUBDIRS(Demos3)
|
||||||
SUBDIRS(btgui)
|
SUBDIRS(btgui)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF(BUILD_BULLET3_DEMOS)
|
ENDIF(BUILD_OPENGL3_DEMOS)
|
||||||
|
|
||||||
OPTION(BUILD_EXTRAS "Set when you want to build the extras" ON)
|
OPTION(BUILD_EXTRAS "Set when you want to build the extras" ON)
|
||||||
IF(BUILD_EXTRAS)
|
IF(BUILD_EXTRAS)
|
||||||
|
|||||||
@@ -1,72 +0,0 @@
|
|||||||
#include "ConstraintPhysicsSetup.h"
|
|
||||||
|
|
||||||
ConstraintPhysicsSetup::ConstraintPhysicsSetup()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
ConstraintPhysicsSetup::~ConstraintPhysicsSetup()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
btScalar val;
|
|
||||||
btHingeAccumulatedAngleConstraint* spDoorHinge=0;
|
|
||||||
void ConstraintPhysicsSetup::stepSimulation(float deltaTime)
|
|
||||||
{
|
|
||||||
val=spDoorHinge->getAccumulatedHingeAngle()*SIMD_DEGS_PER_RAD;// spDoorHinge->getHingeAngle()*SIMD_DEGS_PER_RAD;
|
|
||||||
if (m_dynamicsWorld)
|
|
||||||
{
|
|
||||||
m_dynamicsWorld->stepSimulation(deltaTime);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void ConstraintPhysicsSetup::initPhysics(GraphicsPhysicsBridge& gfxBridge)
|
|
||||||
{
|
|
||||||
gfxBridge.setUpAxis(1);
|
|
||||||
|
|
||||||
createEmptyDynamicsWorld();
|
|
||||||
|
|
||||||
gfxBridge.createPhysicsDebugDrawer(m_dynamicsWorld);
|
|
||||||
int mode = btIDebugDraw::DBG_DrawWireframe
|
|
||||||
+btIDebugDraw::DBG_DrawConstraints
|
|
||||||
+btIDebugDraw::DBG_DrawConstraintLimits;
|
|
||||||
m_dynamicsWorld->getDebugDrawer()->setDebugMode(mode);
|
|
||||||
|
|
||||||
val=1.f;
|
|
||||||
SliderParams slider("hinge angle",&val);
|
|
||||||
slider.m_minVal=-720;
|
|
||||||
slider.m_maxVal=720;
|
|
||||||
gfxBridge.getParameterInterface()->registerSliderFloatParameter(slider);
|
|
||||||
|
|
||||||
|
|
||||||
{ // create a door using hinge constraint attached to the world
|
|
||||||
btCollisionShape* pDoorShape = new btBoxShape(btVector3(2.0f, 5.0f, 0.2f));
|
|
||||||
m_collisionShapes.push_back(pDoorShape);
|
|
||||||
btTransform doorTrans;
|
|
||||||
doorTrans.setIdentity();
|
|
||||||
doorTrans.setOrigin(btVector3(-5.0f, -2.0f, 0.0f));
|
|
||||||
btRigidBody* pDoorBody = createRigidBody( 1.0, doorTrans, pDoorShape);
|
|
||||||
pDoorBody->setActivationState(DISABLE_DEACTIVATION);
|
|
||||||
const btVector3 btPivotA(10.f + 2.1f, -2.0f, 0.0f ); // right next to the door slightly outside
|
|
||||||
btVector3 btAxisA( 0.0f, 1.0f, 0.0f ); // pointing upwards, aka Y-axis
|
|
||||||
|
|
||||||
spDoorHinge = new btHingeAccumulatedAngleConstraint( *pDoorBody, btPivotA, btAxisA );
|
|
||||||
|
|
||||||
// spDoorHinge->setLimit( 0.0f, SIMD_PI_2 );
|
|
||||||
// test problem values
|
|
||||||
// spDoorHinge->setLimit( -SIMD_PI, SIMD_PI*0.8f);
|
|
||||||
|
|
||||||
// spDoorHinge->setLimit( 1.f, -1.f);
|
|
||||||
// spDoorHinge->setLimit( -SIMD_PI*0.8f, SIMD_PI);
|
|
||||||
// spDoorHinge->setLimit( -SIMD_PI*0.8f, SIMD_PI, 0.9f, 0.3f, 0.0f);
|
|
||||||
// spDoorHinge->setLimit( -SIMD_PI*0.8f, SIMD_PI, 0.9f, 0.01f, 0.0f); // "sticky limits"
|
|
||||||
// spDoorHinge->setLimit( -SIMD_PI * 0.25f, SIMD_PI * 0.25f );
|
|
||||||
// spDoorHinge->setLimit( 0.0f, 0.0f );
|
|
||||||
m_dynamicsWorld->addConstraint(spDoorHinge);
|
|
||||||
spDoorHinge->setDbgDrawSize(btScalar(5.f));
|
|
||||||
|
|
||||||
//doorTrans.setOrigin(btVector3(-5.0f, 2.0f, 0.0f));
|
|
||||||
//btRigidBody* pDropBody = localCreateRigidBody( 10.0, doorTrans, shape);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
#ifndef CONSTAINT_PHYSICS_SETUP_H
|
|
||||||
#define CONSTAINT_PHYSICS_SETUP_H
|
|
||||||
|
|
||||||
#include "../CommonRigidBodySetup.h"
|
|
||||||
|
|
||||||
struct ConstraintPhysicsSetup : public CommonRigidBodySetup
|
|
||||||
{
|
|
||||||
ConstraintPhysicsSetup();
|
|
||||||
virtual ~ConstraintPhysicsSetup();
|
|
||||||
virtual void initPhysics(GraphicsPhysicsBridge& gfxBridge);
|
|
||||||
|
|
||||||
virtual void stepSimulation(float deltaTime);
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif //CONSTAINT_PHYSICS_SETUP_H
|
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
#include "../bullet2/LuaDemo/LuaPhysicsSetup.h"
|
#include "../bullet2/LuaDemo/LuaPhysicsSetup.h"
|
||||||
#include "../bullet2/ChainDemo/ChainDemo.h"
|
#include "../bullet2/ChainDemo/ChainDemo.h"
|
||||||
#include "../../Demos/CcdPhysicsDemo/CcdPhysicsSetup.h"
|
#include "../../Demos/CcdPhysicsDemo/CcdPhysicsSetup.h"
|
||||||
#include "../../Demos/ConstraintDemo/ConstraintPhysicsSetup.h"
|
#include "../bullet2/ConstraintDemo/ConstraintPhysicsSetup.h"
|
||||||
#include "../ImportURDFDemo/ImportURDFSetup.h"
|
#include "../ImportURDFDemo/ImportURDFSetup.h"
|
||||||
#include "../ImportObjDemo/ImportObjSetup.h"
|
#include "../ImportObjDemo/ImportObjSetup.h"
|
||||||
#include "../ImportSTLDemo/ImportSTLSetup.h"
|
#include "../ImportSTLDemo/ImportSTLSetup.h"
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ SET(App_AllBullet2Demos_SRCS
|
|||||||
../../Demos/BasicDemo/BasicDemoPhysicsSetup.h
|
../../Demos/BasicDemo/BasicDemoPhysicsSetup.h
|
||||||
../../Demos/CcdPhysicsDemo/CcdPhysicsSetup.cpp
|
../../Demos/CcdPhysicsDemo/CcdPhysicsSetup.cpp
|
||||||
../../Demos/CcdPhysicsDemo/CcdPhysicsSetup.h
|
../../Demos/CcdPhysicsDemo/CcdPhysicsSetup.h
|
||||||
../../Demos/ConstraintDemo/ConstraintPhysicsSetup.cpp
|
../bullet2/ConstraintDemo/ConstraintPhysicsSetup.cpp
|
||||||
../../Demos/ConstraintDemo/ConstraintPhysicsSetup.h
|
../bullet2/ConstraintDemo/ConstraintPhysicsSetup.h
|
||||||
../bullet2/FeatherstoneMultiBodyDemo/BulletMultiBodyDemos.cpp
|
../bullet2/FeatherstoneMultiBodyDemo/BulletMultiBodyDemos.cpp
|
||||||
../bullet2/FeatherstoneMultiBodyDemo/BulletMultiBodyDemos.h
|
../bullet2/FeatherstoneMultiBodyDemo/BulletMultiBodyDemos.h
|
||||||
../bullet2/FeatherstoneMultiBodyDemo/MultiDofDemo.cpp
|
../bullet2/FeatherstoneMultiBodyDemo/MultiDofDemo.cpp
|
||||||
|
|||||||
@@ -50,8 +50,8 @@
|
|||||||
"../../Demos/BasicDemo/BasicDemoPhysicsSetup.h",
|
"../../Demos/BasicDemo/BasicDemoPhysicsSetup.h",
|
||||||
"../../Demos/CcdPhysicsDemo/CcdPhysicsSetup.cpp",
|
"../../Demos/CcdPhysicsDemo/CcdPhysicsSetup.cpp",
|
||||||
"../../Demos/CcdPhysicsDemo/CcdPhysicsSetup.h",
|
"../../Demos/CcdPhysicsDemo/CcdPhysicsSetup.h",
|
||||||
"../../Demos/ConstraintDemo/ConstraintPhysicsSetup.cpp",
|
"../bullet2/ConstraintDemo/ConstraintPhysicsSetup.cpp",
|
||||||
"../../Demos/ConstraintDemo/ConstraintPhysicsSetup.h",
|
"../bullet2/ConstraintDemo/ConstraintPhysicsSetup.h",
|
||||||
"../ImportURDFDemo/ImportURDFSetup.cpp",
|
"../ImportURDFDemo/ImportURDFSetup.cpp",
|
||||||
"../ImportObjDemo/ImportObjSetup.cpp",
|
"../ImportObjDemo/ImportObjSetup.cpp",
|
||||||
"../ImportSTLDemo/ImportSTLSetup.cpp",
|
"../ImportSTLDemo/ImportSTLSetup.cpp",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
if (OPENGL_FOUND)
|
if (OPENGL_FOUND)
|
||||||
if (BUILD_BULLET3_DEMOS)
|
if (BUILD_OPENGL3_DEMOS)
|
||||||
SUBDIRS( AllBullet2Demos GpuDemos SimpleOpenGL3 )
|
SUBDIRS( AllBullet2Demos GpuDemos SimpleOpenGL3 )
|
||||||
endif(BUILD_BULLET3_DEMOS)
|
endif(BUILD_OPENGL3_DEMOS)
|
||||||
endif(OPENGL_FOUND)
|
endif(OPENGL_FOUND)
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
function findOpenGL()
|
function findOpenGL()
|
||||||
configuration{}
|
configuration{}
|
||||||
if os.is("Linux") then
|
if os.is("Linux") then
|
||||||
@@ -7,6 +8,22 @@
|
|||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function findOpenGL3()
|
||||||
|
configuration{}
|
||||||
|
if os.is("MacOSX") then
|
||||||
|
local osversion = os.getversion()
|
||||||
|
--Mac OSX 10.9 and above supports OpenGL 3, below doesn't, so ...
|
||||||
|
if osversion.majorversion > 10 or (osversion.majorversion == 10 and osversion.minorversion >=9) then
|
||||||
|
return findOpenGL()
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
else
|
||||||
|
return findOpenGL()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
function initOpenGL()
|
function initOpenGL()
|
||||||
configuration {}
|
configuration {}
|
||||||
configuration {"Windows"}
|
configuration {"Windows"}
|
||||||
|
|||||||
@@ -1,6 +1,12 @@
|
|||||||
|
|
||||||
solution "0_Bullet3Solution"
|
solution "0_Bullet3Solution"
|
||||||
|
|
||||||
|
local osversion = os.getversion()
|
||||||
|
print(string.format(" %d.%d.%d (%s)",
|
||||||
|
osversion.majorversion, osversion.minorversion, osversion.revision,
|
||||||
|
osversion.description))
|
||||||
|
|
||||||
|
|
||||||
-- Multithreaded compiling
|
-- Multithreaded compiling
|
||||||
if _ACTION == "vs2010" or _ACTION=="vs2008" then
|
if _ACTION == "vs2010" or _ACTION=="vs2008" then
|
||||||
buildoptions { "/MP" }
|
buildoptions { "/MP" }
|
||||||
@@ -35,8 +41,8 @@
|
|||||||
|
|
||||||
newoption
|
newoption
|
||||||
{
|
{
|
||||||
trigger = "bullet2gpu",
|
trigger = "bullet2demos",
|
||||||
description = "Enable Bullet 2.x GPU using b3GpuDynamicsWorld bridge to Bullet 3.x"
|
description = "Compile the Bullet 2 demos (Demo/Extra folder)"
|
||||||
}
|
}
|
||||||
|
|
||||||
newoption
|
newoption
|
||||||
@@ -113,13 +119,12 @@
|
|||||||
include "../test/TestBullet3OpenCL"
|
include "../test/TestBullet3OpenCL"
|
||||||
end
|
end
|
||||||
|
|
||||||
if findOpenGL() then
|
if findOpenGL3() then
|
||||||
include "../Demos3/AllBullet2Demos"
|
include "../Demos3/AllBullet2Demos"
|
||||||
include "../Demos3/GpuDemos"
|
include "../Demos3/GpuDemos"
|
||||||
include"../Demos3/BasicDemoConsole"
|
include"../Demos3/BasicDemoConsole"
|
||||||
include"../Demos3/BasicDemoCustomOpenGL2"
|
include"../Demos3/BasicDemoCustomOpenGL2"
|
||||||
|
include "../btgui/OpenGLTrueTypeFont"
|
||||||
|
|
||||||
|
|
||||||
-- include "../Demos3/CpuDemos"
|
-- include "../Demos3/CpuDemos"
|
||||||
-- include "../Demos3/Wavefront"
|
-- include "../Demos3/Wavefront"
|
||||||
@@ -137,6 +142,7 @@ if findOpenGL() then
|
|||||||
include "../btgui/GwenOpenGLTest"
|
include "../btgui/GwenOpenGLTest"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
-- include "../demo/gpudemo"
|
-- include "../demo/gpudemo"
|
||||||
if _OPTIONS["midi"] then
|
if _OPTIONS["midi"] then
|
||||||
include "../btgui/MidiTest"
|
include "../btgui/MidiTest"
|
||||||
@@ -169,7 +175,7 @@ end
|
|||||||
-- include "../demo/gpu_initialize"
|
-- include "../demo/gpu_initialize"
|
||||||
-- include "../opencl/lds_bank_conflict"
|
-- include "../opencl/lds_bank_conflict"
|
||||||
-- include "../opencl/reduce"
|
-- include "../opencl/reduce"
|
||||||
include "../btgui/OpenGLTrueTypeFont"
|
-- include "../btgui/OpenGLTrueTypeFont"
|
||||||
-- include "../btgui/OpenGLWindow"
|
-- include "../btgui/OpenGLWindow"
|
||||||
-- include "../demo/ObjLoader"
|
-- include "../demo/ObjLoader"
|
||||||
-- include "../test/b3DynamicBvhBroadphase"
|
-- include "../test/b3DynamicBvhBroadphase"
|
||||||
@@ -180,7 +186,10 @@ end
|
|||||||
include "../test/enet/client"
|
include "../test/enet/client"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if _OPTIONS["bullet2demos"] then
|
||||||
if _OPTIONS["bullet2gpu"] then
|
include "../Extras"
|
||||||
|
if findOpenGL() then
|
||||||
|
include "../Demos"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user