//-------------------------------------- // 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); }
//-------------------------------------- // 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); }
/// <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 } }