static void Main(string[] args) { WindowCreateInfo windowCI = new WindowCreateInfo() { X = 100, Y = 100, WindowWidth = 960, WindowHeight = 540, WindowTitle = "Veldrid Tutorial" }; Sdl2Window window = VeldridStartup.CreateWindow(ref windowCI); GraphicsDeviceCreateInfo gdCI = new GraphicsDeviceCreateInfo(); _graphicsDevice = VeldridStartup.CreateGraphicsDevice(ref gdCI, window); CreateResources(); while (window.Exists) { window.PumpEvents(); if (window.Exists) { Draw(); } } DisposeResources(); }
public NeoDemo() { WindowCreateInfo windowCI = new WindowCreateInfo { X = 50, Y = 50, WindowWidth = 960, WindowHeight = 540, WindowInitialState = WindowState.Normal, WindowTitle = "Veldrid NeoDemo" }; GraphicsDeviceCreateInfo gdCI = new GraphicsDeviceCreateInfo(); //gdCI.Backend = GraphicsBackend.Vulkan; #if DEBUG gdCI.DebugDevice = true; #endif VeldridStartup.CreateWindowAndGraphicsDevice(ref windowCI, ref gdCI, out _window, out _gd); _window.Resized += () => _windowResized = true; CommandList initCL = _gd.ResourceFactory.CreateCommandList(); _gd.SetResourceName(initCL, "Initialization Command List"); initCL.Begin(); _scene = new Scene(_window.Width, _window.Height); _sc.SetCurrentScene(_scene, initCL); _igRenderable = new ImGuiRenderable(_window.Width, _window.Height); _resizeHandled += (w, h) => _igRenderable.WindowResized(w, h); _scene.AddRenderable(_igRenderable); _scene.AddUpdateable(_igRenderable); Skybox skybox = Skybox.LoadDefaultSkybox(); _scene.AddRenderable(skybox); AddSponzaAtriumObjects(initCL); _sc.Camera.Position = new Vector3(-80, 25, -4.3f); _sc.Camera.Yaw = -MathF.PI / 2; _sc.Camera.Pitch = -MathF.PI / 9; ShadowmapDrawer texDrawer = new ShadowmapDrawer(() => _window, () => _sc.NearShadowMapView); _resizeHandled += (w, h) => texDrawer.OnWindowResized(); texDrawer.Position = new Vector2(10, 25); _scene.AddRenderable(texDrawer); ShadowmapDrawer texDrawer2 = new ShadowmapDrawer(() => _window, () => _sc.MidShadowMapView); _resizeHandled += (w, h) => texDrawer2.OnWindowResized(); texDrawer2.Position = new Vector2(20 + texDrawer2.Size.X, 25); _scene.AddRenderable(texDrawer2); ShadowmapDrawer texDrawer3 = new ShadowmapDrawer(() => _window, () => _sc.FarShadowMapView); _resizeHandled += (w, h) => texDrawer3.OnWindowResized(); texDrawer3.Position = new Vector2(30 + (texDrawer3.Size.X * 2), 25); _scene.AddRenderable(texDrawer3); CreateAllObjects(); }
public TexturedCube() { WindowCreateInfo wci = new WindowCreateInfo { X = 100, Y = 100, WindowWidth = 960, WindowHeight = 540, WindowTitle = "Textured Cube" }; _window = VeldridStartup.CreateWindow(ref wci); GraphicsDeviceCreateInfo gdci = new GraphicsDeviceCreateInfo(); #if DEBUG gdci.DebugDevice = true; #endif _gd = VeldridStartup.CreateGraphicsDevice(ref gdci, _window); }
public ComputeTexture() { WindowCreateInfo wci = new WindowCreateInfo { X = 100, Y = 100, WindowWidth = 960, WindowHeight = 540, WindowTitle = "Compute Texture" }; _window = VeldridStartup.CreateWindow(ref wci); _window.Resized += () => _windowResized = true; GraphicsDeviceCreateInfo gdci = new GraphicsDeviceCreateInfo(); #if DEBUG gdci.DebugDevice = true; #endif _gd = VeldridStartup.CreateGraphicsDevice(ref gdci, _window); }
private void ChangeBackend(GraphicsBackend backend) { DestroyAllObjects(); _gd.Dispose(); if (_recreateWindow) { WindowCreateInfo windowCI = new WindowCreateInfo { X = _window.X, Y = _window.Y, WindowWidth = _window.Width, WindowHeight = _window.Height, WindowInitialState = _window.WindowState, WindowTitle = "Veldrid NeoDemo" }; _window.Close(); _window = VeldridStartup.CreateWindow(ref windowCI); _window.Resized += () => _windowResized = true; } GraphicsDeviceCreateInfo rcCI = new GraphicsDeviceCreateInfo { Backend = backend, #if DEBUG DebugDevice = true #endif }; _gd = VeldridStartup.CreateGraphicsDevice(ref rcCI, _window); CreateAllObjects(); }