public TechniqueBindingSample(Microsoft.Xna.Framework.Game game) : base(game) { SampleFramework.IsMouseVisible = false; _graphicsScreen = new DeferredGraphicsScreen(Services); _graphicsScreen.DrawReticle = true; GraphicsService.Screens.Insert(0, _graphicsScreen); Services.Register(typeof(DebugRenderer), null, _graphicsScreen.DebugRenderer); Services.Register(typeof(IScene), null, _graphicsScreen.Scene); // Add gravity and damping to the physics Simulation. Simulation.ForceEffects.Add(new Gravity()); Simulation.ForceEffects.Add(new Damping()); // Add a custom game object which controls the camera. var cameraGameObject = new CameraObject(Services); GameObjectService.Objects.Add(cameraGameObject); _graphicsScreen.ActiveCameraNode = cameraGameObject.CameraNode; // More standard objects. GameObjectService.Objects.Add(new GrabObject(Services)); GameObjectService.Objects.Add(new ObjectCreatorObject(Services)); GameObjectService.Objects.Add(new StaticSkyObject(Services)); GameObjectService.Objects.Add(new GroundObject(Services)); // Tell the graphics service how to treat effect techniques which use // the "RepeatParameter" annotation. _repeatTechniqueInterpreter = new RepeatTechniqueInterpreter(); GraphicsService.EffectInterpreters.Insert(0, _repeatTechniqueInterpreter); _repeatTechniqueBinder = new RepeatTechniqueBinder(); GraphicsService.EffectBinders.Insert(0, _repeatTechniqueBinder); // Load model. _modelNode = ContentManager.Load <ModelNode>("Fur2/FurBall").Clone(); _rigidBody = new RigidBody(new SphereShape(0.5f)); // Set a random pose. _rigidBody.Pose = new Pose(new Vector3F(0, 1, 0), RandomHelper.Random.NextQuaternionF()); _modelNode.PoseWorld = _rigidBody.Pose; // Add rigid body to physics simulation and model to scene. Simulation.RigidBodies.Add(_rigidBody); _graphicsScreen.Scene.Children.Add(_modelNode); }
public TechniqueBindingSample(Microsoft.Xna.Framework.Game game) : base(game) { SampleFramework.IsMouseVisible = false; _graphicsScreen = new DeferredGraphicsScreen(Services); _graphicsScreen.DrawReticle = true; GraphicsService.Screens.Insert(0, _graphicsScreen); Services.Register(typeof(DebugRenderer), null, _graphicsScreen.DebugRenderer); Services.Register(typeof(IScene), null, _graphicsScreen.Scene); // Add gravity and damping to the physics Simulation. Simulation.ForceEffects.Add(new Gravity()); Simulation.ForceEffects.Add(new Damping()); // Add a custom game object which controls the camera. var cameraGameObject = new CameraObject(Services); GameObjectService.Objects.Add(cameraGameObject); _graphicsScreen.ActiveCameraNode = cameraGameObject.CameraNode; // More standard objects. GameObjectService.Objects.Add(new GrabObject(Services)); GameObjectService.Objects.Add(new ObjectCreatorObject(Services)); GameObjectService.Objects.Add(new StaticSkyObject(Services)); GameObjectService.Objects.Add(new GroundObject(Services)); // Tell the graphics service how to treat effect techniques which use // the "RepeatParameter" annotation. _repeatTechniqueInterpreter = new RepeatTechniqueInterpreter(); GraphicsService.EffectInterpreters.Insert(0, _repeatTechniqueInterpreter); _repeatTechniqueBinder = new RepeatTechniqueBinder(); GraphicsService.EffectBinders.Insert(0, _repeatTechniqueBinder); // Load model. _modelNode = ContentManager.Load<ModelNode>("Fur2/FurBall").Clone(); _rigidBody = new RigidBody(new SphereShape(0.5f)); // Set a random pose. _rigidBody.Pose = new Pose(new Vector3F(0, 1, 0), RandomHelper.Random.NextQuaternionF()); _modelNode.PoseWorld = _rigidBody.Pose; // Add rigid body to physics simulation and model to scene. Simulation.RigidBodies.Add(_rigidBody); _graphicsScreen.Scene.Children.Add(_modelNode); }