//--------------------------------------
        // PUBLIC METHODS
        //--------------------------------------

        /// <summary>Initializes the scene.</summary>
        public override void Init()
        {
            AddSystems(new                    LogicSystem(),
                       new                  PhysicsSystem(),
                       new                   CameraSystem(),
                       mSkybox   = new SkyBoxSystem(),
                       mRenderer = new RenderingSystem());

#if DEBUG
            AddSystem(new DebugOverlay());
#endif

            base.Init();

            InitCam();

            // Spawn a few balls.
            for (var i = 0; i < 10; i++)
            {
                CreateBall(new Vector3(0.9f * i - 3.5f, 0.3f * i, 0.0f), // Position
                           new Vector3(1.0f, 0.0f, 0.0f),                // Velocity
                           1.0f);                                        // Radius
            }

            mRT = GfxUtil.CreateRT();

            mDistortFX = Game1.Inst.Content.Load <Effect>("Effects/Distort");
            mDistortFX.Parameters["SrcTex"].SetValue(mRT);
        }
Example #2
0
        //--------------------------------------
        // PUBLIC CONSTRUCTORS
        //--------------------------------------

        /// <summary>Initializes a new environment map.</summary>
        /// <param name="renderer">The renderer to use when rendering the environment maps.</param>
        /// <param name="eid">The id of the entity to which the environment map belongs.</param>
        /// <param name="transf">The transform component of the entity to environment map.</param>
        /// <param name="material">The effect to use as material. Normally this should be set to a cube
        ///                        map shader.</param>
        /// <param name="skybox">The skybox renderer.</param>
        public EnvMapMaterial(RenderingSystem renderer,
                              int eid,
                              CTransform transf,
                              Effect material,
                              SkyBoxSystem skybox = null)
            : base(material)
        {
            mEid      = eid;
            mRenderer = renderer;
            mTransf   = transf;
            mSkybox   = skybox;

            var device = Game1.Inst.GraphicsDevice;

            for (var i = 0; i < 6; i++)
            {
                mEnvRTs[i] = new RenderTarget2D(device,
                                                512,
                                                512,
                                                false,
                                                device.PresentationParameters.BackBufferFormat,
                                                DepthFormat.None,
                                                1,
                                                RenderTargetUsage.PreserveContents); // TODO: Needed?
            }

            var bumpTex = Game1.Inst.Content.Load <Texture2D>("Textures/Bumpmap0");

            mEffect.Parameters["BumpMap"].SetValue(bumpTex);
        }
Example #3
0
 /// <summary>Initializes a new environment map.</summary>
 /// <param name="renderer">The renderer to use when rendering the environment maps.</param>
 /// <param name="eid">The id of the entity to which the environment map belongs.</param>
 /// <param name="transf">The transform component of the entity to environment map.</param>
 /// <param name="skybox">The skybox renderer.</param>
 public EnvMapMaterial(RenderingSystem renderer,
                       int eid,
                       CTransform transf,
                       SkyBoxSystem skybox = null)
     : this(renderer, eid, transf, Game1.Inst.Content.Load <Effect>("Effects/CubeMap"), skybox)
 {
 }
        //--------------------------------------
        // PUBLIC METHODS
        //--------------------------------------

        /// <summary>Initializes the scene.</summary>
        public override void Init()
        {
            AddSystems(new LogicSystem(),
                       new PhysicsSystem()
            {
                Gravity = Vector3.Zero
            },
                       new CameraSystem(),
                       mSkybox   = new SkyBoxSystem(),
                       mRenderer = new RenderingSystem(),

                       new InputSystem());

#if DEBUG
            AddSystem(new DebugOverlay());
#endif

            base.Init();

            InitCam();

            // Spawn a few balls.
            for (var i = 0; i < 30; i++)
            {
                var r = i == 0 ? 6.0f : 1.0f;
                CreateBall(new Vector3(0.9f * i - 3.5f, 0.3f * i, 0.7f * i), // Position
                           new Vector3(0f, 0f, 0f),                          // Velocity
                           r,                                                // Radius
                           i == 0);                                          // Reflective
            }
        }