Пример #1
0
        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();
        }
Пример #2
0
		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();
		}