From 472614772fce38b808fa2f42f70c8d6661191f82 Mon Sep 17 00:00:00 2001 From: erwincoumans Date: Mon, 11 Nov 2013 22:20:21 -0800 Subject: [PATCH] expose some more settings as command-line parameters: [--disable_shadowmap] [--shadowmap_size=int] [--shadowmap_resolution=] [--use_jacobi] [--use_uniform_grid] --- Demos3/GpuDemos/main_opengl3core.cpp | 22 +++++++++++++++++++ .../GpuDemos/rigidbody/GpuRigidBodyDemo.cpp | 13 ++++++++--- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/Demos3/GpuDemos/main_opengl3core.cpp b/Demos3/GpuDemos/main_opengl3core.cpp index a4102d246..ba515258a 100644 --- a/Demos3/GpuDemos/main_opengl3core.cpp +++ b/Demos3/GpuDemos/main_opengl3core.cpp @@ -55,8 +55,15 @@ bool dump_timings = false; int maxFrameCount = 102; extern char OpenSansData[]; extern char* gPairBenchFileName; +extern float shadowMapWidth; +extern float shadowMapHeight; + extern bool gDebugForceLoadingFromSource; extern bool gDebugSkipLoadingBinary; +extern bool useShadowMap; +extern float shadowMapWorldSize; +extern bool useJacobi; +extern bool useUniformGrid; static void MyResizeCallback( float width, float height) { @@ -407,6 +414,7 @@ sth_stash* initFont(GLPrimitiveRenderer* primRender) void Usage() { printf("\nprogram.exe [--selected_demo=] [--benchmark] [--maxFrameCount=][--dump_timings] [--disable_opencl] [--cl_device=] [--cl_platform=] [--disable_cached_cl_kernels] [--load_cl_kernels_from_disk] [--x_dim=] [--y_dim=] [--z_dim=] [--x_gap=] [--y_gap=] [--z_gap=] [--use_concave_mesh] [--pair_benchmark_file=] [--new_batching] [--no_instanced_collision_shapes]\n"); + printf("[--disable_shadowmap] [--shadowmap_size=int] [--shadowmap_resolution=] [--use_jacobi] [--use_uniform_grid]\n"); }; @@ -590,7 +598,19 @@ int main(int argc, char* argv[]) bool benchmark=args.CheckCmdLineFlag("benchmark"); args.GetCmdLineArgument("max_framecount",maxFrameCount); + args.GetCmdLineArgument("shadowmap_size",shadowMapWorldSize); + + args.GetCmdLineArgument("shadowmap_resolution",shadowMapWidth); + shadowMapHeight=shadowMapWidth; + if (args.CheckCmdLineFlag("disable_shadowmap")) + { + useShadowMap = false; + } + args.GetCmdLineArgument("pair_benchmark_file",gPairBenchFileName); + useJacobi = args.CheckCmdLineFlag("use_jacobi"); + useUniformGrid = args.CheckCmdLineFlag("use_uniform_grid"); + dump_timings=args.CheckCmdLineFlag("dump_timings"); ci.useOpenCL = !args.CheckCmdLineFlag("disable_opencl"); @@ -613,6 +633,8 @@ int main(int argc, char* argv[]) gDebugForceLoadingFromSource = args.CheckCmdLineFlag("load_cl_kernels_from_disk"); gDebugSkipLoadingBinary = args.CheckCmdLineFlag("disable_cached_cl_kernels"); + + #ifndef B3_NO_PROFILE b3ProfileManager::Reset(); #endif //B3_NO_PROFILE diff --git a/Demos3/GpuDemos/rigidbody/GpuRigidBodyDemo.cpp b/Demos3/GpuDemos/rigidbody/GpuRigidBodyDemo.cpp index f2c9f4915..1bce4f6f1 100644 --- a/Demos3/GpuDemos/rigidbody/GpuRigidBodyDemo.cpp +++ b/Demos3/GpuDemos/rigidbody/GpuRigidBodyDemo.cpp @@ -22,7 +22,7 @@ static b3KeyboardCallback oldCallback = 0; extern bool gReset; - +bool useUniformGrid = false; bool convertOnCpu = false; #define MSTRINGIFY(A) #A @@ -121,8 +121,15 @@ void GpuRigidBodyDemo::initPhysics(const ConstructionInfo& ci) b3GpuNarrowPhase* np = new b3GpuNarrowPhase(m_clData->m_clContext,m_clData->m_clDevice,m_clData->m_clQueue,m_data->m_config); - b3GpuSapBroadphase* bp = new b3GpuSapBroadphase(m_clData->m_clContext,m_clData->m_clDevice,m_clData->m_clQueue); - //b3GpuBroadphaseInterface* bp = new b3GpuGridBroadphase(m_clData->m_clContext,m_clData->m_clDevice,m_clData->m_clQueue); + b3GpuBroadphaseInterface* bp =0; + + if (useUniformGrid) + { + bp = new b3GpuGridBroadphase(m_clData->m_clContext,m_clData->m_clDevice,m_clData->m_clQueue); + } else + { + bp = new b3GpuSapBroadphase(m_clData->m_clContext,m_clData->m_clDevice,m_clData->m_clQueue); + } m_data->m_np = np; m_data->m_bp = bp; m_data->m_broadphaseDbvt = new b3DynamicBvhBroadphase(m_data->m_config.m_maxConvexBodies);