private static void Main() { Log = new GorgonLog("Writing", "Tape_Worm"); Log.LogStart(); try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); WriteDirectory = new DirectoryInfo(Path.Combine(Path.GetTempPath(), "Writing")); if (!WriteDirectory.Exists) { WriteDirectory.Create(); WriteDirectory.Refresh(); } Application.Run(new Form()); } catch (Exception ex) { GorgonExample.HandleException(ex); } finally { Log.LogEnd(); } }
/// <summary> /// Raises the <see cref="E:System.Windows.Forms.Form.Load" /> event. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param> protected override void OnLoad(EventArgs e) { base.OnLoad(e); try { GorgonExample.PlugInLocationDirectory = new DirectoryInfo(Settings.Default.PlugInLocation); GorgonExample.ResourceBaseDirectory = new DirectoryInfo(Settings.Default.ResourceLocation); // Create our virtual file system. _fileSystem = new GorgonFileSystem(Program.Log); _writer = new GorgonFileSystemWriter(_fileSystem, Program.WriteDirectory.FullName); LoadText(); labelFileSystem.Text = $"{GorgonExample.GetResourcePath(@"FolderSystem\").FullName.Ellipses(100, true)} mounted as '/'."; labelWriteLocation.Text = $"{Program.WriteDirectory.FullName.Ellipses(100, true)} mounted as '/'"; } catch (Exception ex) { GorgonExample.HandleException(ex); GorgonApplication.Quit(); } finally { CommandEnable(!string.Equals(_originalText, _changedText, StringComparison.CurrentCulture)); UpdateInfo(); } }
static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); GorgonApplication.Run(Initialize(), Idle); } catch (Exception ex) { GorgonExample.HandleException(ex); } finally { GorgonExample.UnloadResources(); _gaussBlur?.Dispose(); _oldFilm?.Dispose(); _displacement?.Dispose(); _finalView?.Dispose(); _finalTarget?.Dispose(); _postView2?.Dispose(); _postTarget2?.Dispose(); _postView1?.Dispose(); _postTarget1?.Dispose(); _background?.Dispose(); _renderer?.Dispose(); _screen?.Dispose(); _graphics?.Dispose(); } }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); try { GorgonApplication.Run(Initialize(), Idle); } catch (Exception ex) { GorgonExample.HandleException(ex); } finally { GorgonExample.UnloadResources(); _helpFont?.Dispose(); _shadowTexture?.Dispose(); _gaussBlur?.Dispose(); _spriteTexture?.Dispose(); _backgroundTexture?.Dispose(); _renderer?.Dispose(); _blurTexture?.Dispose(); _blurTarget?.Dispose(); _layer1Texture?.Dispose(); _layer1Target?.Dispose(); _screen?.Dispose(); _graphics?.Dispose(); } }
/// <summary>Raises the <see cref="E:System.Windows.Forms.Form.Load" /> event.</summary> /// <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data. </param> protected override void OnLoad(EventArgs e) { base.OnLoad(e); try { Show(); Cursor.Current = Cursors.WaitCursor; Initialize(); _originalSize = new DX.Vector2(GroupControl1.ClientSize.Width, GroupControl2.ClientSize.Height); GorgonApplication.IdleMethod = Idle; } catch (Exception ex) { GorgonExample.HandleException(ex); GorgonApplication.Quit(); } finally { Cursor.Current = Cursors.Default; } }
static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); GorgonApplication.Run(Initialize(), Idle); if (_mp3Player != null) { _mp3Player.Stop(); } } catch (Exception ex) { GorgonExample.HandleException(ex); } finally { GorgonExample.UnloadResources(); _mp3Player.Dispose(); _renderer?.Dispose(); _trooper?.Dispose(); _metal?.Dispose(); _targetView?.Dispose(); _target?.Dispose(); _screen?.Dispose(); _graphics?.Dispose(); } }
private static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); try { // Now begin running the application idle loop. GorgonApplication.Run(Initialize(), Idle); } catch (Exception ex) { GorgonExample.HandleException(ex); } finally { // Always clean up when you're done. // Since Gorgon uses Direct 3D 11.x, which allocate objects that use native memory and COM objects, we must be careful to dispose of any objects that implement // IDisposable. Failure to do so can lead to warnings from the Direct 3D runtime when running in DEBUG mode. GorgonExample.UnloadResources(); _constantBuffer?.Dispose(); _vertexBuffer.VertexBuffer?.Dispose(); _inputLayout?.Dispose(); _vertexShader?.Dispose(); _pixelShader?.Dispose(); _swap?.Dispose(); _graphics?.Dispose(); } }
static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); GorgonApplication.Run(Initialize(), Idle); } catch (Exception ex) { GorgonExample.HandleException(ex); } finally { GorgonExample.UnloadResources(); foreach (GorgonTexture2D texture in _textures) { texture?.Dispose(); } _renderer?.Dispose(); _depthBuffer?.Dispose(); _screen?.Dispose(); _graphics?.Dispose(); _assemblyCache?.Dispose(); } }
static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); GorgonApplication.Run(Initialize(), Idle); } catch (Exception ex) { GorgonExample.HandleException(ex); } finally { GorgonExample.UnloadResources(); _lightEffect?.Dispose(); _renderer?.Dispose(); _finalTexture?.Dispose(); _finalTarget?.Dispose(); _backgroundLogoTexture?.Dispose(); _screen?.Dispose(); _graphics?.Dispose(); } }
/// <summary> /// Raises the <see cref="E:System.Windows.Forms.Form.Load"></see> event. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs"></see> that contains the event data.</param> protected override void OnLoad(EventArgs e) { base.OnLoad(e); GorgonExample.ShowStatistics = false; Cursor.Current = Cursors.WaitCursor; try { Show(); Application.DoEvents(); // Initialize Gorgon // Set it up so that we won't be rendering in the background, but allow the screensaver to activate. IReadOnlyList <IGorgonVideoAdapterInfo> adapters = GorgonGraphics.EnumerateAdapters(log: GorgonApplication.Log); if (adapters.Count == 0) { throw new GorgonException(GorgonResult.CannotCreate, "No suitable video adapter found in the system.\nGorgon requires a minimum of a Direct3D 11.4 capable video device."); } _graphics = new GorgonGraphics(adapters[0]); // Set the video mode. ClientSize = new Size(640, 400); _screen = new GorgonSwapChain(_graphics, this, new GorgonSwapChainInfo("FunWithShapes SwapChain") { Width = ClientSize.Width, Height = ClientSize.Height, Format = BufferFormat.R8G8B8A8_UNorm }); _screen.AfterSwapChainResized += Screen_AfterSwapChainResized; _graphics.SetRenderTarget(_screen.RenderTargetView); _halfSize = new DX.Size2F(_screen.Width / 2.0f, _screen.Height / 2.0f); // Create our 2D renderer so we can draw stuff. _renderer = new Gorgon2D(_graphics); LabelPleaseWait.Visible = false; GorgonExample.LoadResources(_graphics); // Draw the image. DrawAPrettyPicture(); } catch (Exception ex) { GorgonExample.HandleException(ex); GorgonApplication.Quit(); } finally { Cursor.Current = Cursors.Default; } }
private static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); try { GorgonApplication.Run(new Form()); } catch (Exception ex) { GorgonExample.HandleException(ex); } }
public static async Task Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.DoEvents(); // This is necessary to get winforms to play nice with our background thread prior to running the application. WindowsFormsSynchronizationContext.AutoInstall = false; SynchronizationContext.SetSynchronizationContext(new WindowsFormsSynchronizationContext()); FormMain window = GorgonExample.Initialize(new DX.Size2(Settings.Default.Resolution.Width, Settings.Default.Resolution.Height), "Space Scene", async(sender, _) => await InitializeAsync(sender as FormMain)); GorgonApplication.Run(window); } catch (Exception ex) { GorgonExample.HandleException(ex); } finally { // Always perform your clean up. if (_keyboard != null) { _keyboard.KeyUp -= Keyboard_KeyUp; } _helpFont?.Dispose(); _fontFactory?.Dispose(); GorgonExample.UnloadResources(); if (_keyboard != null) { _input?.UnregisterDevice(_keyboard); } _input?.Dispose(); _sceneRenderer?.Dispose(); _resources?.Dispose(); _renderer?.Dispose(); _mainRtv?.Dispose(); _screen?.Dispose(); _graphics?.Dispose(); _assemblyCache?.Dispose(); } }
private static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); try { Initialize(); GorgonApplication.Run(_window, Idle); } catch (Exception ex) { GorgonExample.HandleException(ex); } finally { GorgonExample.UnloadResources(); _2DRenderer.Dispose(); _fontFactory.Dispose(); _input?.Dispose(); if (_renderer != null) { foreach (Mesh mesh in _renderer.Meshes) { mesh.Dispose(); } _renderer.Dispose(); } _icoSphere?.Dispose(); _clouds?.Dispose(); _sphere?.Dispose(); _cube?.Dispose(); _plane?.Dispose(); _triangle?.Dispose(); _swapChain?.Dispose(); _graphics?.Dispose(); } }
static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); GorgonApplication.Run(new Form()); } catch (Exception ex) { GorgonExample.HandleException(ex); } finally { GorgonExample.UnloadResources(); } }
/// <summary> /// Raises the <see cref="E:System.Windows.Forms.Form.Load" /> event. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param> protected override void OnLoad(EventArgs e) { base.OnLoad(e); try { GorgonExample.PlugInLocationDirectory = new DirectoryInfo(Settings.Default.PlugInLocation); // Create the assembly cache. _assemblies = new GorgonMefPlugInCache(GorgonApplication.Log); _assemblies.LoadPlugInAssemblies(GorgonExample.GetPlugInPath().FullName, "Gorgon.Input.XInput.dll"); // Create the plug services. IGorgonPlugInService pluginService = new GorgonMefPlugInService(_assemblies); // Create the gaming device driver factory. var factory = new GorgonGamingDeviceDriverFactory(pluginService, GorgonApplication.Log); // Create our factory. _driver = factory.LoadDriver("Gorgon.Input.XInput.GorgonXInputDriver"); _stickPosition = new PointF[3]; _sprayStates = new SprayCan[3]; // Get our list of active controllers. UpdateActiveControllers(); // Get the graphics interface for our panel. _surface = new DrawingSurface(panelDisplay); // Set up our idle loop. GorgonApplication.IdleMethod += Idle; // Launch a background task to check for connected devices. Task.Run(CheckForConnectedDevices); } catch (Exception ex) { // We do this here instead of just calling the dialog because this // function will send the exception to the Gorgon log file. GorgonExample.HandleException(ex); GorgonApplication.Quit(); } }
/// <summary> /// Raises the <see cref="E:System.Windows.Forms.Form.Load" /> event. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs" /> that contains the event data.</param> protected override void OnLoad(EventArgs e) { base.OnLoad(e); Cursor.Current = Cursors.WaitCursor; try { // Find out which devices we have installed in the system. IReadOnlyList <IGorgonVideoAdapterInfo> deviceList = GorgonGraphics.EnumerateAdapters(); if (deviceList.Count == 0) { GorgonDialogs.ErrorBox(this, "There are no suitable video adapters available in the system. This example is unable to continue and will now exit."); GorgonApplication.Quit(); return; } _graphics = new GorgonGraphics(deviceList[0]); _renderer = new GraphicsRenderer(_graphics); _renderer.SetPanel(PanelDisplay); // Load the compute shader. #if DEBUG _sobelShader = GorgonShaderFactory.Compile <GorgonComputeShader>(_graphics, Resources.ComputeShader, "SobelCS", true); #else _sobelShader = GorgonShaderFactory.Compile <GorgonComputeShader>(_graphics, Resources.ComputeShader, "SobelCS"); #endif _sobel = new Sobel(_graphics, _sobelShader); GorgonApplication.IdleMethod = Idle; } catch (Exception ex) { GorgonExample.HandleException(ex); GorgonApplication.Quit(); } finally { Cursor.Current = Cursors.Default; } }
static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Initialize(); GorgonApplication.Run(_window, Idle); } catch (Exception ex) { GorgonExample.HandleException(ex); } finally { CleanUp(); } }
static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); GorgonApplication.Run(Initialize(), Idle); } catch (Exception ex) { GorgonExample.HandleException(ex); } finally { GorgonExample.UnloadResources(); if (_images != null) { for (int i = 0; i < _images.Length; ++i) { _images[i]?.Dispose(); } } if (_compositor != null) { foreach (Gorgon2DCompositionPass pass in _compositor.Passes) { pass.Effect?.Dispose(); } _compositor.Dispose(); } _renderer?.Dispose(); _screen?.Dispose(); _graphics?.Dispose(); } }