public Game() { state = new BootState(this); window = new GameWindow(960, 540); window.Load += Window_Load; window.RenderFrame += Window_RenderFrame; window.UpdateFrame += Window_UpdateFrame; window.Closing += Window_Closing; window.Closed += Window_Closed; window.Resize += Window_Resize; window.FocusedChanged += Window_FocusedChanged; Console.WriteLine("OpenGL: {0}", GL.GetString(StringName.Version)); keyHandler = new KeyHandler(window); Canvas = new SceneCanvas(keyHandler); shaderManager = new ShaderManager(); shader = new StaticShader(); shaderManager.Add(shader); fontShader = new FontShader(); fontManager = new FontManager(fontShader); fontShader.Compile(); font = FontParser.ParseFNT(@"Fonts/Verdana.fnt"); fontManager.Add(font); lastMousePosition = new Vector2(Mouse.GetState().X, Mouse.GetState().Y); }
/// <summary> /// Sets up the fonts. /// </summary> /// <returns>The <see cref="NexusFontSetResolver"/> to be used.</returns> private NexusFontSetResolver SetUpFonts() { FontManager.Add("LinBiolinum", Resources.LinBiolinum_RB); FontManager.Add("LinBiolinum", Resources.LinBiolinum_RI); FontSet fstDefault = new FontSet(new string[] { "Microsoft Sans Serif", "Arial" }); FontSetGroup fsgDefault = new FontSetGroup(fstDefault); fsgDefault.AddFontSet("StandardText", fstDefault); fsgDefault.AddFontSet("HeadingText", fstDefault); fsgDefault.AddFontSet("SmallText", new FontSet(new string[] { "Segoe UI", "Arial" })); fsgDefault.AddFontSet("MenuText", new FontSet(new string[] { "Segoe UI", "Arial" })); fsgDefault.AddFontSet("GameSearchText", new FontSet(new string[] { "LinBiolinum" })); fsgDefault.AddFontSet("TestText", new FontSet(new string[] { "Wingdings" })); NexusFontSetResolver fsrResolver = new NexusFontSetResolver(); fsrResolver.AddFontSets(fsgDefault); FontProvider.SetFontSetResolver(fsrResolver); return fsrResolver; }
protected override void Initialize() { ShaderManager.Add("VS_2D", Resources.GetShader("VS", "VS", "UI2D.fx")).SetInputLayout(Vertex2D.Elements); ShaderManager.Add("PS_2D", Resources.GetShader("PS", "PS", "UI2D.fx")); FontManager.Add("small", Resources.GetFont("Fonts/small")); FontManager.Add("default", Resources.GetFont("Fonts/default")); ScreenshotManager.Initialize(); QuadRenderer.Initialize(); InputManager.Initialize(); WebWindow.Initialize(); DebugPerfMonitor.Initialize(); ScreenManager.AddScreen(new StartupScreen()); ScreenManager.GotoScreen("Startup"); Form.KeyDown += Form_KeyDown; }
protected override void WinInitialize() { instance = this; form = (MainWindow)Main.Form; loading = true; if (Display.device.IsDisposed) { return; } //Display.device.SetRenderState(RenderState.FillMode,FillMode.Wireframe); ShaderManager.Add("VS_2D", Resources.GetShader("VS", "VS", "UI2D.fx")).SetInputLayout(Vertex2D.Elements); ShaderManager.Add("PS_2D", Resources.GetShader("PS", "PS", "UI2D.fx")); ShaderManager.Add("VS_Debug", Resources.GetShader("VS", "VS", "Debug.fx")).SetInputLayout(VertexColor.Elements); ShaderManager.Add("PS_Debug", Resources.GetShader("PS", "PS", "Debug.fx")); ShaderManager.Add("VS_Terrain", Resources.GetShader("VS", "VS", "TerrainDebug.fx")).SetInputLayout(TerrainTriangle.Elements); ShaderManager.Add("PS_Terrain", Resources.GetShader("PS", "PS", "TerrainDebug.fx")); ShaderManager.Add("VS_Water", Resources.GetShader("VS", "VS", "Water.fx")).SetInputLayout(VertexTexture.Elements); ShaderManager.Add("PS_Water", Resources.GetShader("PS", "PS", "Water.fx")); FontManager.Add("default", Resources.GetFont("Fonts/default")); SceneManager.Initialize(); QuadRenderer.Initialize(); /*------------------------------------------------------------------------------------------*/ Texture2DDescription desc = new Texture2DDescription() { ArraySize = 1, BindFlags = BindFlags.RenderTarget | BindFlags.ShaderResource, CpuAccessFlags = CpuAccessFlags.None, Format = Format.R8G8B8A8_UNorm, Width = 512, Height = 512, MipLevels = 1, OptionFlags = ResourceOptionFlags.None, SampleDescription = new SampleDescription(1, 0), Usage = ResourceUsage.Default, }; brushTexture = new Texture2D(Display.device, desc); brushRenderTarget = new RenderTargetView(Display.device, brushTexture); Texture2DDescription descReadable = desc; descReadable.BindFlags = BindFlags.None; descReadable.CpuAccessFlags = CpuAccessFlags.Read; descReadable.Usage = ResourceUsage.Staging; brushTextureReadable = new Texture2D(Display.device, descReadable); defaultBrushShape = Resources.GetTexture("blob.png", false); DefaultBrush = defaultBrushShape; CurrentBrush = new Texture(DefaultBrush.Tex); CurrentBrushColor = new Color4(1, 0, 0, 0); camera = new EditorCamera(); SceneManager.Camera = camera; LoadMap(MainWindow.mapFile); firstRun = false; loading = false; return; }