Esempio n. 1
0
		} // BaseGame()

		/// <summary>
		/// Initialize
		/// </summary>
		protected override void Initialize()
		{
#if !XBOX360
			// Add screenshot capturer. Works only on windows platform.
			// Note: Don't do this in constructor,
			// we need the correct window name for screenshots!
			this.Components.Add(new ScreenshotCapturer(this));
#endif

			// Remember device
			device = graphics.GraphicsDevice;

			// Remember resolution
			width = graphics.GraphicsDevice.Viewport.Width;
			height = graphics.GraphicsDevice.Viewport.Height;

			// It is very important that we initialize the render to texture
			// stuff, e.g. the remDepthBuffer variable needs to be set.
			RenderToTexture.InitializeDepthBufferFormatAndMultisampling(
				graphics.PreferredDepthStencilFormat);

			// Update resolution if it changes and restore device after it was lost
			Window.ClientSizeChanged += new EventHandler(Window_ClientSizeChanged);
			graphics.DeviceReset += new EventHandler(graphics_DeviceReset);
			graphics_DeviceReset(null, EventArgs.Empty);
			
			// Create matrices for our shaders, this makes it much easier to manage
			// all the required matrices and we have to do this ourselfs since there
			// is no fixed function support and theirfore no Device.Transform class.
			WorldMatrix = Matrix.Identity;
			aspectRatio = (float)width / (float)height;
			ProjectionMatrix = Matrix.CreatePerspectiveFieldOfView(
				FieldOfView, aspectRatio, NearPlane, FarPlane);

			// ViewMatrix is updated in camera class
			ViewMatrix = Matrix.CreateLookAt(
				new Vector3(0, 0, 15), Vector3.Zero, Vector3.Up);
			
			// Init global manager classes, which will be used all over the place ^^
			lineManager2D = new LineManager2D();
			lineManager3D = new LineManager3D();
			// Create font
			font = new TextureFont();
			numbersFont = new NumbersTextureFont("NumbersFont");

			// Make sure we can use PS1 or PS2, see UsePS and UsePS20
			if (device.GraphicsDeviceCapabilities.PixelShaderVersion.Major >= 2 &&
				GameSettings.Default.PerformanceSettings < 2)
				GameSettings.Default.PerformanceSettings = 2;
			else if (
				device.GraphicsDeviceCapabilities.PixelShaderVersion.Major >= 1 &&
				GameSettings.Default.PerformanceSettings < 1)
				GameSettings.Default.PerformanceSettings = 1;

			// Init post screen glow
			glowShader = new PostScreenMenu();

			// Init effect manager
			effectManager = new EffectManager();

			// Init light position
			LightDirection = new Vector3(2, -7, 5);

			base.Initialize();
		} // Initialize()
Esempio n. 2
0
 /// <summary>
 /// Test write numbers
 /// </summary>
 public static void TestWriteNumbers()
 {
     NumbersTextureFont textureFont = null;
     TestGame.Start(
         "TestWriteNumbers",
         delegate
         {
             textureFont = new NumbersTextureFont("NumbersFont");
         },
         delegate
         {
             BaseGame.EnableAlphaBlending();
             textureFont.WriteNumber(100, 100, 123);
             textureFont.WriteNumberCentered(100, 200, 123);
             textureFont.WriteNumberCentered(100, 250, 123);
             textureFont.WriteTime(250, 250, (int)BaseGame.TotalTimeMs);
         });
 }