Пример #1
0
        public override void OnInitialise()
        {
            fpsLabel.Visible = true;
            SystemCore.ActiveScene.SetUpBasicAmbientAndKey();
            SystemCore.ActiveScene.SetDiffuseLightDir(0, new Vector3(0.01f, 1, 0.01f));
            SystemCore.ActiveScene.FogEnabled = false;

            //mouse camera
            mouseCamera           = new MouseFreeCamera(new Vector3(0, 0, 0), 1f, 50000f);
            mouseCamera.moveSpeed = 1f;
            mouseCamera.SetPositionAndLook(new Vector3(0, 200, -200), (float)Math.PI, (float)-Math.PI / 5);
            SystemCore.SetActiveCamera(mouseCamera);



            AddInputBindings();



            SetUpGameWorld();



            base.OnInitialise();
        }
Пример #2
0
        public override void OnInitialise()
        {
            base.OnInitialise();

            SystemCore.Game.Window.Title = "Conway's Game of Life";

            mouseCamera = new MouseFreeCamera(new Vector3(0, 0, 0));
            SystemCore.SetActiveCamera(mouseCamera);
            mouseCamera.moveSpeed = 0.01f;
            mouseCamera.SetPositionAndLook(new Vector3(50, 30, -20), (float)Math.PI, (float)-Math.PI / 5);


            SystemCore.ActiveScene.SetUpAmbientAndFullLightingRig();
            SystemCore.ActiveScene.AmbientLight.LightIntensity = 0.075f;
            SystemCore.ActiveScene.GetBackLight().LightIntensity = 0f;
            SystemCore.ActiveScene.GetFillLight().LightIntensity = 0.1f;
            SystemCore.ActiveScene.FogEnabled = false;

            SystemCore.CursorVisible = true;
            //fpsLabel.Visible = true;


            skyDome = new GradientSkyDome(Color.LightGray, Color.DarkGray);

            simulationTickTimer         = new XNATimer(tickFrequency, x => RunSimulationTick(x));
            simulationTickTimer.Enabled = true;

            AddInputBindings();


            // var heightMapObject = CreateHeightMapGameObject();
            //SystemCore.GameObjectManager.AddAndInitialiseGameObject(heightMapObject);


            CreateGameOfLifeBoard();


            cameraGameObject = new GameObject("camera");
            cameraGameObject.AddComponent(new ComponentCamera());
            cameraGameObject.Transform.SetPosition(new Vector3(50, 15, 50));

            Vector3 lookAt = Vector3.Normalize(boardMidpoint - cameraGameObject.Position);

            cameraGameObject.Transform.SetLookAndUp(lookAt, Vector3.Up);
            SystemCore.GameObjectManager.AddAndInitialiseGameObject(cameraGameObject);
            SystemCore.SetActiveCamera(cameraGameObject.GetComponent <ComponentCamera>());

            //var sphere = GameObjectFactory.CreateRenderableGameObjectFromShape(new ProceduralSphere(10, 10), EffectLoader.LoadSM5Effect("flatshaded"));
            //sphere.Transform.SetPosition(boardMidpoint);
            //sphere.Transform.Scale = 5f;
            //SystemCore.GameObjectManager.AddAndInitialiseGameObject(sphere);

            AddGUI();
        }
Пример #3
0
        public override void OnInitialise()
        {
            SystemCore.CursorVisible = false;
            fpsLabel.Visible         = true;

            mouseCamera = new MouseFreeCamera(new Vector3(0, 0, 0));
            SystemCore.SetActiveCamera(mouseCamera);



            AddInputBindings();
            base.OnInitialise();
        }
Пример #4
0
        public RenderTestScreen()
            : base()
        {
            SystemCore.CursorVisible = false;
            fpsLabel.Visible         = true;
            SystemCore.ActiveScene.SetUpBasicAmbientAndKey();

            var effect = EffectLoader.LoadSM5Effect("FlatShaded");


            mouseCamera = new MouseFreeCamera(new Vector3(0, 0, 0));
            SystemCore.SetActiveCamera(mouseCamera);

            var shape = new ProceduralSphere(20, 20);

            shape.SetColor(SystemCore.ActiveColorScheme.Color5);



            //create 100 cubes, add collision and collision visualiser components, give them random position and velocity
            for (int i = 0; i < 100; i++)
            {
                var gameObject = new GameObject();
                gameObject.AddComponent(new RenderGeometryComponent(BufferBuilder.VertexBufferBuild(shape), BufferBuilder.IndexBufferBuild(shape), shape.PrimitiveCount));

                gameObject.AddComponent(new EffectRenderComponent(effect));
                //gameObject.AddComponent(new BasicEffectRenderComponent(effect));
                gameObject.Transform.SetPosition(RandomHelper.GetRandomVector3(Vector3.One * -100, Vector3.One * 100));
                gameObject.AddComponent(new RotatorComponent(Vector3.Up));
                SystemCore.GetSubsystem <GameObjectManager>().AddAndInitialiseGameObject(gameObject);

                gameObject.Transform.Scale    = 5f;
                gameObject.Transform.Velocity = RandomHelper.GetRandomVector3(-Vector3.One, Vector3.One) * 0.01f;
            }


            AddInputBindings();

            Model           geoDesicModel = SystemCore.ContentManager.Load <Model>("Models/geodesic");
            ProceduralShape geodesicShape = ModelMeshParser.GetShapeFromModelNoUVs(geoDesicModel);

            geodesicShape.Scale(20f);
            geodesicShape.InsideOut();
            GameObject geoDesic = GameObjectFactory.CreateRenderableGameObjectFromShape(geodesicShape, EffectLoader.LoadSM5Effect("cockpitscreen"));

            SystemCore.GameObjectManager.AddAndInitialiseGameObject(geoDesic);
        }
Пример #5
0
        public override void OnInitialise()
        {
            SystemCore.CursorVisible = false;
            SystemCore.ActiveScene.SetUpBasicAmbientAndKey();
            SystemCore.ActiveScene.SetDiffuseLightDir(0, new Vector3(1, 1, 1));
            colorScheme = SystemCore.ActiveColorScheme;
            SystemCore.ActiveScene.FogEnabled = false;

            SystemCore.PhysicsSimulation.ForceUpdater.Gravity = new BEPUutilities.Vector3(0, -9.81f, 0);


            mouseCamera = new MouseFreeCamera(new Vector3(10, 10, 10));
            SystemCore.SetActiveCamera(mouseCamera);


            var effect = EffectLoader.LoadSM5Effect("FlatShaded");

            //ground plane
            var groundShape = new ProceduralCuboid(100, 100, 0.5f);

            groundShape.SetColor(colorScheme.Color5);
            var gameObjectPlane = new GameObject();

            gameObjectPlane.AddComponent(new RenderGeometryComponent(BufferBuilder.VertexBufferBuild(groundShape), BufferBuilder.IndexBufferBuild(groundShape), groundShape.PrimitiveCount));
            gameObjectPlane.AddComponent(new EffectRenderComponent(effect));
            var groundPhysicsComponent = new PhysicsComponent(false, true, PhysicsMeshType.box);

            gameObjectPlane.AddComponent(groundPhysicsComponent);


            SystemCore.GameObjectManager.AddAndInitialiseGameObject(gameObjectPlane);
            groundPhysicsComponent.PhysicsEntity.IsAffectedByGravity = false;


            var shape = new ProceduralCube();

            shape.SetColor(colorScheme.Color4);

            for (int i = 0; i < 100; i++)
            {
                AddCube(shape, effect, RandomHelper.GetRandomVector3(new Vector3(-10, 2, -10), new Vector3(10, 20, 10)));
            }

            AddInputBindings();
            base.OnInitialise();
        }
Пример #6
0
        public override void OnInitialise()
        {
            SystemCore.CursorVisible = false;

            SystemCore.ActiveScene.SetUpBasicAmbientAndKey();
            SystemCore.ActiveScene.SetDiffuseLightDir(0, new Vector3(0.01f, 1, 0.01f));
            SystemCore.ActiveScene.FogEnabled = true;

            mouseCamera = new MouseFreeCamera(new Vector3(0, 0, 0));
            SystemCore.SetActiveCamera(mouseCamera);
            mouseCamera.moveSpeed = 0.1f;
            mouseCamera.SetPositionAndLook(new Vector3(50, 30, -20), (float)Math.PI, (float)-Math.PI / 5);

            cameraObject = new GameObject();
            cameraObject.AddComponent(new ComponentCamera(MathHelper.PiOver4, SystemCore.GraphicsDevice.Viewport.AspectRatio, 0.25f, 100.0f, false));
            SystemCore.GameObjectManager.AddAndInitialiseGameObject(cameraObject);
            SystemCore.SetActiveCamera(cameraObject.GetComponent <ComponentCamera>());
            cameraOffset = new Vector3(0, 10, -10);


            AddInputBindings();



            SetUpGameWorld();

            chopper = new Chopper();
            chopper.Transform.SetPosition(new Vector3(10, 0.5f, 10));
            SystemCore.GameObjectManager.AddAndInitialiseGameObject(chopper);
            chopper.Transform.Rotate(Vector3.Up, MathHelper.Pi);

            carrier = new Carrier();
            carrier.Transform.SetPosition(new Vector3(5, 1, 5));
            SystemCore.GameObjectManager.AddAndInitialiseGameObject(carrier);


            carrier.GetComponent <PhysicsComponent>().PhysicsEntity.IsAffectedByGravity = false;
            carrier.GetComponent <PhysicsComponent>().PhysicsEntity.Mass = 100;

            SystemCore.PhysicsSimulation.ForceUpdater.Gravity = new BEPUutilities.Vector3(0, -1f, 0);


            OrientCamera(chopper);

            base.OnInitialise();
        }
Пример #7
0
        public override void OnInitialise()
        {
            SystemCore.CursorVisible = false;
            fpsLabel.Visible         = true;

            SystemCore.ActiveScene.SetUpAmbientAndFullLightingRig();



            float lightDistance = 80f;
            float fadeStart     = 50;
            float fadeEnd       = 100;

            SystemCore.ActiveScene.AddPointLight(new Vector3(lightDistance, 0, 0), new Color(0.1f, 0.5f, 0.1f, 1), fadeStart, fadeEnd, 1f, PointLightNumber.One);
            SystemCore.ActiveScene.AddPointLight(new Vector3(-lightDistance, 0, 0), Color.Blue, fadeStart, fadeEnd, 1f, PointLightNumber.Two);
            SystemCore.ActiveScene.AddPointLight(new Vector3(0, 0, -lightDistance), Color.White, fadeStart, fadeEnd, 1f, PointLightNumber.Three);
            SystemCore.ActiveScene.AddPointLight(new Vector3(0, 0, lightDistance), Color.Red, fadeStart, fadeEnd, 1f, PointLightNumber.Four);

            var effect = EffectLoader.LoadSM5Effect("FlatShaded");

            SystemCore.ActiveScene.FogEnabled = false;


            mouseCamera = new MouseFreeCamera(new Vector3(0, 0, 0));
            SystemCore.SetActiveCamera(mouseCamera);

            var shape = new ProceduralSphere(20, 20);

            shape.SetColor(Color.LightGray);


            for (int i = 0; i < 10; i++)
            {
                var gameObject = new GameObject();
                gameObject.AddComponent(new RenderGeometryComponent(BufferBuilder.VertexBufferBuild(shape), BufferBuilder.IndexBufferBuild(shape), shape.PrimitiveCount));
                gameObject.AddComponent(new EffectRenderComponent(effect));
                gameObject.Transform.SetPosition(RandomHelper.GetRandomVector3(Vector3.One * -100, Vector3.One * 100));
                gameObject.AddComponent(new RotatorComponent(Vector3.Up));
                gameObject.AddComponent(new ShadowCasterComponent());



                SystemCore.GetSubsystem <GameObjectManager>().AddAndInitialiseGameObject(gameObject);
                gameObject.Transform.Scale    = 5f;
                gameObject.Transform.Velocity = RandomHelper.GetRandomVector3(-Vector3.One, Vector3.One) * 0.01f;
            }


            AddInputBindings();

            AddTestMario("Mario", Vector3.Zero);
            AddTestMario("RedGloss", new Vector3(20, 0, 0));
            AddTestMario("RedMatt", new Vector3(-20, 0, 0));
            AddTestMario("OrangeGloss", new Vector3(0, 0, -20));
            AddTestMario("WoodenCrate", new Vector3(0, 0, 20));

            crate = AddTestModel("Models/Crate", "WoodenCrate");
            crate.Transform.SetPosition(new Vector3(100, 0, 50));
            crate.Transform.Scale = 0.01f;


            var groundShape = new ProceduralCuboid(10, 10, 0.5f);

            groundShape.SetColor(Color.LightGray);
            var gameObjectPlane = new GameObject();

            gameObjectPlane.AddComponent(new RenderGeometryComponent(BufferBuilder.VertexBufferBuild(groundShape), BufferBuilder.IndexBufferBuild(groundShape), groundShape.PrimitiveCount));
            gameObjectPlane.AddComponent(new EffectRenderComponent(effect));
            gameObjectPlane.Transform.SetPosition(new Vector3(0, -20, 0));
            gameObjectPlane.Transform.Scale = 10f;
            SystemCore.GameObjectManager.AddAndInitialiseGameObject(gameObjectPlane);


            Heightmap heightMap = new Heightmap(100, 1);
            var       seaObject = heightMap.CreateRenderableHeightMap(Color.Blue, EffectLoader.LoadSM5Effect("water"));

            seaObject.Transform.SetPosition(new Vector3(0, 0, 0));
            SystemCore.GameObjectManager.AddAndInitialiseGameObject(seaObject);

            base.OnInitialise();
        }