protected override void Load()
        {
            SetVSync(true);

            Renderer.AddRenderer(new EntityRenderer(Renderer));
            Renderer.AddRenderer(new DebugRenderer(Renderer));
            Renderer.AddRenderer(new ChunkRenderer(Renderer));

            Renderer.Sun = new Light(Vector3.Zero, LightType.Directional, 1, Color.White);
            Renderer.Lights.Add(Renderer.Sun);

            Camera.Active.SetMode(CameraMode.ArcBall);
            Camera.Active.SmoothCamera = true;

            screen = new EditorScreen(this, Renderer);
        }
示例#2
0
        protected override void Load()
        {
            SetVSync(false);
            TargetFrameRate = 144;

            Renderer.GFXSettings.ShadowResolution = 4096;
            Renderer.FogEnabled = false;
            //Renderer.GFXSettings.ApplyFXAA = true;

            Renderer.AddRenderer(new VoxelRenderer(Renderer));
            Renderer.AddRenderer(new ChunkRenderer(Renderer));
            Renderer.AddRenderer(new EntityRenderer(Renderer));
            Renderer.AddRenderer(new DebugRenderer(Renderer));

            Renderer.Sun = new Light(Vector3.Zero, LightType.Directional, 1, Color.White);
            Renderer.Lights.Add(Renderer.Sun);

            Camera.Active.SetMode(CameraMode.ArcBall);
            Camera.Active.SmoothCamera = true;

            screen = new EditorScreen(this, Renderer);
        }
示例#3
0
        protected override void Load()
        {
            base.Load();
            LogOpenGLDrivers();

            //if (AL.Efx == null)
            //    throw new Exception("Sound card does not support OpenAL Efx!");

            AL.DistanceModel(ALDistanceModel.LinearDistance);

            // 1 meter = 1 block
            Camera.Active.AudioListener.EfxMetersPerUnit = 1f / Block.CUBE_SIZE;

            LoadFromConfig();

            DashCMD.SetCVar("r_vsync", GetVSync());
            DashCMD.SetCVar("r_targfps", TargetFrameRate);
            DashCMD.SetCVar("r_exp_shadows", false);

            GLError.Begin();
            Renderer.AddRenderer(new VoxelRenderer(Renderer));
            Renderer.AddRenderer(new EntityRenderer(Renderer));
            Renderer.AddRenderer(new ChunkRenderer(Renderer));
            Renderer.AddRenderer(new DebugRenderer(Renderer));

            Light sun = new Light(new Vector3(2, 1, 2), LightType.Directional, 1.75f, new Color(255, 255, 255, 255));

            Renderer.Lights.Add(sun);
            Renderer.Sun = sun;

            Camera.Active.SetMode(CameraMode.ArcBall);
            Camera.Active.SmoothCamera = true;

            StaticGui = new StaticGui(this, Renderer);

            SetupDefaultBinds();

            AddScreen(new MainMenuScreen(this));
            AddScreen(new SingleplayerScreen(this));
            AddScreen(new MultiplayerScreen(this));
            AddScreen(new NewText.NewTextScreen(this));

            DashCMD.AddScreen(new DashCMDScreen("dt", "", true,
                                                (screen) =>
            {
                screen.WriteLine("DeltaTime: {0}s", lastDeltaTime);
            })
            {
                SleepTime = 30
            });

#if DEBUG
            DashCMD.AddCommand("connect",
                               "Connects to a server",
                               "connect <ip:port>",
                               (args) =>
            {
                if (args.Length < 1)
                {
                    DashCMD.ShowSyntax("connect");
                    return;
                }

                string[] parts = args[0].Split(':');
                if (parts.Length != 2)
                {
                    DashCMD.WriteError("Invalid arguments. (connect ip:port)");
                    return;
                }

                IPAddress ip;
                if (!NetHelper.TryParseIP(parts[0], out ip))
                {
                    DashCMD.WriteError("Invalid ip address");
                    return;
                }

                int port;
                if (!int.TryParse(parts[1], out port))
                {
                    DashCMD.WriteError("Invalid port.");
                    return;
                }

                SwitchScreen("Multiplayer", new IPEndPoint(ip, port), "TestPlayer1");
            });
#endif
            SwitchScreen("MainMenu");
        }