/// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            world = new World();

            player1 = new Player(world);

            player1Renderer = new PlayerRenderer(GraphicsDevice, player1);
            player1Renderer.Initialize();

            hud = new HudRenderer(GraphicsDevice, world, player1Renderer.camera);
            hud.Initialize();

            #region choose renderer

            renderer = new ThreadedWorldRenderer(GraphicsDevice, player1Renderer.camera, world);
            // renderer = new SimpleRenderer(GraphicsDevice, player1Renderer.camera, world,player1);

            diagnosticWorldRenderer = new DiagnosticWorldRenderer(GraphicsDevice, player1Renderer.camera, world);
            skyDomeRenderer         = new SkyDomeRenderer(GraphicsDevice, player1Renderer.camera, world);
            renderer.Initialize();
            diagnosticWorldRenderer.Initialize();
            skyDomeRenderer.Initialize();
            throwExceptions = false;
            #endregion

            //TODO refactor WorldRenderer needs player position + view frustum

            base.Initialize();
        }
示例#2
0
        public SkyDome(Color vertexColour, Color ambientLightColor, Color diffuseLightColor)
        {
            var skyDomeGameObject = GameObjectFactory.CreateSkyDomeObject(vertexColour, 100, 10);

            skyDomeRenderer = skyDomeGameObject.GetComponent <SkyDomeRenderer>();
            skyDomeRenderer.AmbientLightColor     = ambientLightColor;
            skyDomeRenderer.AmbientLightIntensity = 0.2f;
            skyDomeRenderer.DiffuseLightColor     = diffuseLightColor;
            skyDomeRenderer.DiffuseLightIntensity = 0.3f;
            skyDomeRenderer.DiffuseLightDirection = Vector3.Forward;

            SystemCore.GameObjectManager.AddAndInitialiseGameObject(skyDomeGameObject);
        }