public void InitalizePhysics() { // Construct engine objects this.Camera = new Camera(this); // Construct physics objects ErrorOutput errorOutput = new ErrorOutput(); Foundation foundation = new Foundation(errorOutput); this.Physics = new Physics(foundation, checkRuntimeFiles: true); #if GPU var cudaContext = new CudaContextManager(foundation); #endif var sceneDesc = new SceneDesc() { Gravity = new System.Numerics.Vector3(0, -9.81f, 0), #if GPU GpuDispatcher = cudaContext.GpuDispatcher #endif FilterShader = new SampleFilterShader() }; this.Scene = this.Physics.CreateScene(sceneDesc); this.Scene.SetVisualizationParameter(VisualizationParameter.Scale, 2.0f); this.Scene.SetVisualizationParameter(VisualizationParameter.CollisionShapes, true); this.Scene.SetVisualizationParameter(VisualizationParameter.JointLocalFrames, true); this.Scene.SetVisualizationParameter(VisualizationParameter.JointLimits, true); this.Scene.SetVisualizationParameter(VisualizationParameter.ParticleSystemPosition, true); this.Scene.SetVisualizationParameter(VisualizationParameter.ActorAxes, true); // Connect to the remote debugger (if it's there) if (this.Physics.RemoteDebugger != null) { this.Physics.RemoteDebugger.Connect("localhost"); } CreateGroundPlane(); }