public override void Setup() { _textureManager = new TextureResourceManager(null, new PipelineResourceLoader <Texture2D>(_game.Content)); _fontManager = new SpriteFontResourceManager(null, new PipelineResourceLoader <SpriteFont>(_game.Content)); _world = new World(); _textureManager.Manage(_world); _fontManager.Manage(_world); Setup(_world, out _systems); }
public void Dispose() { if (_disposed) { return; } DeviceManager.Dispose(); MaterialManager.Dispose(); TextureResourceManager.Dispose(); TextureSamplerManager.Dispose(); BlendStateManager.Dispose(); RasterizerStateManager.Dispose(); _disposed = true; }
public GraphicsContext(Lazy<IFileStore> files, IInputContext input) { var deviceManager = new DeviceManager(); DeviceManager = deviceManager; TextureResourceManager = new TextureResourceManager(deviceManager, files); TextureSamplerManager = new TextureSamplerManager(deviceManager); MaterialManager = new MaterialManager(this); BlendStateManager = new BlendStateManager(deviceManager); RasterizerStateManager = new RasterizerStateManager(deviceManager); RenderTargetFactory = new RenderTargetFactory(this, input); VertexBufferManagerFactory = new VertexBufferManagerFactory(deviceManager); IndexBufferManagerFactory = new IndexBufferManagerFactory(deviceManager); ConstantBufferManagerFactory = new ConstantBufferManagerFactory(deviceManager); }
public GraphicsContext(Lazy <IFileStore> files, IInputContext input) { var deviceManager = new DeviceManager(); DeviceManager = deviceManager; TextureResourceManager = new TextureResourceManager(deviceManager, files); TextureSamplerManager = new TextureSamplerManager(deviceManager); MaterialManager = new MaterialManager(this); BlendStateManager = new BlendStateManager(deviceManager); RasterizerStateManager = new RasterizerStateManager(deviceManager); RenderTargetFactory = new RenderTargetFactory(this, input); VertexBufferManagerFactory = new VertexBufferManagerFactory(deviceManager); IndexBufferManagerFactory = new IndexBufferManagerFactory(deviceManager); ConstantBufferManagerFactory = new ConstantBufferManagerFactory(deviceManager); }
/// <summary> /// Initializes a new instance of the <see cref="Renderer" /> class. /// </summary> /// <param name="gameEngine">The game engine.</param> /// <param name="form">The form.</param> /// <param name="width">The primary width of the view in pixels.</param> /// <param name="height">The primary height of the view in pixels.</param> public Renderer(IGameEngine gameEngine, GameForm form, int width, int height) { if (gameEngine == null) { throw new ArgumentNullException(nameof(gameEngine)); } if (form == null) { throw new ArgumentNullException(nameof(form)); } _form = form; _resize = false; _scale = 1.0f; _width = width; _height = height; _dwFactory = new SharpDX.DirectWrite.Factory(); InitFonts(); // DeviceCreationFlags.BgraSupport must be enabled to allow Direct2D interop. SharpDX.Direct3D11.Device defaultDevice = new SharpDX.Direct3D11.Device(DriverType.Hardware, DeviceCreationFlags.Debug | DeviceCreationFlags.BgraSupport); // Query the default device for the supported device and context interfaces. _device = defaultDevice.QueryInterface <SharpDX.Direct3D11.Device1>(); _d3dContext = _device.ImmediateContext.QueryInterface <SharpDX.Direct3D11.DeviceContext1>(); // Query for the adapter and more advanced DXGI objects. using (var dxgiDevice2 = _device.QueryInterface <SharpDX.DXGI.Device2>()) { _d2dFactory = new SharpDX.Direct2D1.Factory2(SharpDX.Direct2D1.FactoryType.SingleThreaded); // Get the default Direct2D device and create a context. using (var d2dDevice = new SharpDX.Direct2D1.Device1(_d2dFactory, dxgiDevice2)) { _d2dContext = new SharpDX.Direct2D1.DeviceContext1(d2dDevice, SharpDX.Direct2D1.DeviceContextOptions.None); } } CreateSizeDependentResources(); _d2dContext.TextAntialiasMode = SharpDX.Direct2D1.TextAntialiasMode.Aliased; _d2dContext.AntialiasMode = AntialiasMode.Aliased; _d2dContext.UnitMode = UnitMode.Pixels; _hudYellow = new SolidColorBrush(_d2dContext, new Color4(1.0f, 1.0f, 0.0f, 1.0f)); _hudWhite = new SolidColorBrush(_d2dContext, new Color4(1.0f, 1.0f, 1.0f, 1.0f)); _hudTextFormat = new TextFormat(_dwFactory, "Sonic Genesis/Mega Drive Font", _fontCollection, FontWeight.Normal, FontStyle.Normal, FontStretch.Normal, 14); // init game stuff _game = gameEngine; _texResMan = new TextureResourceManager(gameEngine, _d2dContext); _spriteResMan = new SpriteResourceManager(gameEngine, _d2dContext); // get the services _mapService = _game.GetService <IMapService>(); _varService = _game.GetService <IVariableService>(); _entityService = _game.GetService <IEntityService>(); _renderService = _game.GetService <IRenderService>(); _collisionService = _game.GetService <ICollisionService>(); _varShowCollisionMaps = _varService.GetVar <bool>("r_showcollisionmaps"); _varShowTileFrames = _varService.GetVar <bool>("r_showtileframes"); _varShowEntityOrigins = _varService.GetVar <bool>("r_showentityorigins"); _varShowTraceLines = _varService.GetVar <bool>("r_showtracelines"); _varShowCollisionBoxes = _varService.GetVar <bool>("r_showcollisionboxes"); _rc = new RenderContext(); _spriteRenderList = new List <Animatable>(25); }