public RenderStageModelFactory(IFrameworkMessenger frameworkMessenger,
                                IStartupPropertiesCache startUpPropertiesCache,
                                ISystemComponents veldridComponents,
                                IVeldridWindowUpdater windowUpdater,
                                IDrawQueueGroupFactory drawQueueGroupFactory,
                                IDrawStageBatcherFactory drawStageBatcherFactory,
                                IGpuSurfaceManager gpuSurfaceManager,
                                IPipelineFactory pipelineFactory,
                                IGaussianBlurWeightsAndOffsetsCache gaussianWeightsAndOffsetsCache,
                                IQuadMeshBuilder quadMeshBuilder,
                                IBlendStateConverter blendStateConverter,
                                IShaderLoader shaderTools)
 {
     _frameworkMessenger             = frameworkMessenger;
     _startUpPropertiesCache         = startUpPropertiesCache;
     _systemComponents               = veldridComponents;
     _windowUpdater                  = windowUpdater;
     _drawQueueGroupFactory          = drawQueueGroupFactory;
     _drawStageBatcherFactory        = drawStageBatcherFactory;
     _gpuSurfaceManager              = gpuSurfaceManager;
     _pipelineFactory                = pipelineFactory;
     _gaussianWeightsAndOffsetsCache = gaussianWeightsAndOffsetsCache;
     _quadMeshBuilder                = quadMeshBuilder;
     _blendStateConverter            = blendStateConverter;
     _shaderTools = shaderTools;
 }
Example #2
0
        public GpuSurfaceManager(IApplicationAssembly applicationAssembly,
                                 IFontsAssembly fontsAssembly,
                                 ISurfaceAssembly surfaceAssembly,
                                 IFrameworkMessenger frameworkMessenger,
                                 IIdGenerator idGenerator,
                                 IStartupPropertiesCache startUpPropertiesCache,
                                 IGpuSurfaceCollection gpuSurfaceCollection,
                                 IImageSharpLoader imageSharpLoader,
                                 IGpuSurfaceFactory gpuSurfaceFactory,
                                 ISystemComponents components,
                                 IFileSystem fileSystem)
        {
            _startUpProperties   = startUpPropertiesCache.User;
            _applicationAssembly = applicationAssembly;
            _fontsAssembly       = fontsAssembly;
            _surfaceAssembly     = surfaceAssembly;
            _frameworkMessenger  = frameworkMessenger;
            _idGenerator         = idGenerator;
            _surfaceCollection   = gpuSurfaceCollection;
            _imageSharpLoader    = imageSharpLoader;
            _gpuSurfaceFactory   = gpuSurfaceFactory;
            _components          = components;
            _fileSystem          = fileSystem;

            Initalise();
        }
Example #3
0
        public BlurStageModel(IFrameworkMessenger frameworkMessenger,
                              IStartupPropertiesCache startUpPropertiesCache,
                              ISystemComponents systemComponents,
                              IGpuSurfaceManager surfaceManager,
                              IGaussianBlurWeightsAndOffsetsCache gaussianWeightsAndOffsetsCache,
                              uint sampleSurfaceWidth,
                              uint sampleSurfaceHeight)
        {
            _frameworkMessenger             = frameworkMessenger;
            _startUpPropertiesCache         = startUpPropertiesCache;
            _systemComponents               = systemComponents;
            _surfaceManager                 = surfaceManager;
            _gaussianWeightsAndOffsetsCache = gaussianWeightsAndOffsetsCache;
            _sampleSurfaceWidth             = sampleSurfaceWidth;
            _sampleSurfaceHeight            = sampleSurfaceHeight;

            TexelShiftSize = new Vector2(1.0f / (1.0f * _sampleSurfaceWidth), 1.0f / (1.0f * _sampleSurfaceHeight));

            CreateSurfaces();

            _current = new BlurEffectConfiguration()
            {
                MixAmount           = 0.0f,
                NumberOfBlurSamples = 4,
                ReSamplerType       = ResizeSamplerType.NearestNeighbour
            };

            _isTransitioning = false;
        }
Example #4
0
        public RenderCommandQueue(IStartupPropertiesCache startUpPropertiesCache)
        {
            _pool = new RenderCommandQueueItem[startUpPropertiesCache.Internal.RenderCommandMinPoolSize];
            _surfaceCopyStageCallbackPool = new ulong[32];

            Reset();
        }
Example #5
0
        public Graphics(IStartupPropertiesCache startUpPropertiesCache,
                        ISystemComponents systemComponents,
                        IRenderCommandQueue renderCommandQueue,
                        ICommandProcessor commandProcessor,
                        IRenderStageManager renderStageManager,
                        IRenderStageVisitor renderStageVisitor,
                        IGpuSurfaceManager surfaceManager,
                        IViewportManager viewportManager,
                        IFontManager fontManager,
                        ICameraManager cameraManager,
                        IFrameworkDebugOverlay debugOverlay)
        {
            _startUpPropertiesCache = startUpPropertiesCache;
            _systemComponents       = systemComponents;
            _renderCommandQueue     = renderCommandQueue;
            _commandProcessor       = commandProcessor;
            _renderStageManager     = renderStageManager;
            _renderStageVisitor     = renderStageVisitor;
            _surfaceManager         = surfaceManager;
            _viewportManager        = viewportManager;
            _fontManager            = fontManager;
            _cameraManager          = cameraManager;
            _debugOverlay           = debugOverlay;

            Initialise();
        }
Example #6
0
        public FramesPerSecondMonitor(ITimerFactory timerFactory, IStartupPropertiesCache propertiesCache)
        {
            _updateFpsTracker = new FpsTracker(timerFactory.Create(), propertiesCache);
            _drawFpsTracker   = new FpsTracker(timerFactory.Create(), propertiesCache);

            _updateFpsTracker.Reset();
            _drawFpsTracker.Reset();
        }
Example #7
0
 public DrawQueueFactory(IFrameworkMessenger frameworkMessenger,
                         IStartupPropertiesCache startUpPropertiesCache,
                         IComparerCollection comparerCollection)
 {
     _frameworkMessenger     = frameworkMessenger;
     _startUpPropertiesCache = startUpPropertiesCache;
     _comparerCollection     = comparerCollection;
 }
Example #8
0
 public Surfaces(IStartupPropertiesCache startUpPropertiesCache,
                 IGpuSurfaceManager surfaceManager,
                 ISystemComponents systemComponents)
 {
     _systemComponents       = systemComponents;
     _startUpPropertiesCache = startUpPropertiesCache;
     _surfaceManager         = surfaceManager;
 }
Example #9
0
        public FontManager(IIdGenerator idGenerator,
                           IStartupPropertiesCache startUpPropertiesCache,
                           IFontCollection fontCollection,
                           IFontLoader fontLoader)
        {
            _idGenerator        = idGenerator;
            _fontLoader         = fontLoader;
            _userFontCollection = fontCollection;
            _startUpProperties  = startUpPropertiesCache.User;

            LoadSystemFonts();

            _fontsForDestruction = new List <Tuple <ulong, bool> >();
        }
Example #10
0
        public DrawStageBuffers(ISystemComponents components, IStartupPropertiesCache startUpPropertiesCache)
        {
            _device  = components.Device;
            _factory = components.Factory;

            var props = startUpPropertiesCache.Internal;

            var sizeVertex = props.DrawStageInitialSizeVertexBuffer < 3 ? 3 : props.DrawStageInitialSizeVertexBuffer;

            var remainder = props.DrawStageInitialSizeVertexBuffer % 3;
            var sizeIndex = remainder == 0 ? props.DrawStageInitialSizeIndexBuffer : props.DrawStageInitialSizeIndexBuffer + (3 - remainder); //I don't think this does what i expect (there are not 3 indices used per vertex?)

            CreateDeviceBuffersAndDataStagingArrays(sizeVertex, sizeIndex);

            SetMaxNumberOfLayersForDepthScaling(props.DrawStageInitialMaxNumberOfLayersForDepthScaling);
        }
Example #11
0
        public FontLoader(IApplicationAssembly applicationAssembly,
                          IFontsAssembly fontsAssembly,
                          IFrameworkMessenger frameworkMessenger,
                          IGpuSurfaceManager gpuSurfaceManager,
                          IStartupPropertiesCache startUpPropertiesCache,
                          ISubFontGenerator subFontGenerator,
                          IFileSystem fileSystem)

        {
            _applicationAssembly = applicationAssembly;
            _fontsAssembly       = fontsAssembly;
            _frameworkMessenger  = frameworkMessenger;
            _gpuSurfaceManager   = gpuSurfaceManager;
            _subFontGenerator    = subFontGenerator;
            _fileSystem          = fileSystem;

            _startUpProperties = startUpPropertiesCache.User;
        }
Example #12
0
 public Core(
     IApplication application,
     IApplicationMessenger applicationMessenger,
     ICoreMessenger coreMessenger,
     IFrameworkMessenger frameworkMessenger,
     ITimerFactory timerFactory,
     IUpdatePeriodFactory updatePeriodFactory,
     IFramesPerSecondMonitor framesPerSecondMonitor,
     ISystemComponents systemComponents,
     IVeldridWindowUpdater windowUpdater,
     IStartupPropertiesCache propertiesCache,
     ISdl2EventProcessor sdl2EventProcessor,
     IInputMouseKeyboard inputMouseKeyboard,
     IInputGameController inputGameController,
     IGraphics graphics,
     IDrawing drawing,
     IRenderQueue renderQueue,
     IServices services,
     IShutdownManager shutdownManager
     )
 {
     _application            = application;
     _applicationMessenger   = applicationMessenger;
     _coreMessenger          = coreMessenger;
     _frameworkMessenger     = frameworkMessenger;
     _timerFactory           = timerFactory;
     _updatePeriodFactory    = updatePeriodFactory;
     _framesPerSecondMonitor = framesPerSecondMonitor;
     _windowUpdater          = windowUpdater;
     _sdl2EventProcessor     = sdl2EventProcessor;
     _systemComponents       = systemComponents;
     _inputMouseKeyboard     = inputMouseKeyboard;
     _inputGameController    = inputGameController;
     _graphics               = graphics;
     _drawing                = drawing;
     _renderQueue            = renderQueue;
     _services               = services;
     _shutdownManager        = shutdownManager;
     _startUpPropertiesCache = propertiesCache;
 }
Example #13
0
 public DrawStageBatcherFactory(IStartupPropertiesCache startUpPropertiesCache, IDrawStageBatcherTools batcherTools)
 {
     _startUpPropertiesCache = startUpPropertiesCache;
     _batcherTools           = batcherTools;
 }
Example #14
0
 public DrawStageBuffersFactory(ISystemComponents components, IStartupPropertiesCache startUpPropertiesCache)
 {
     _components             = components;
     _startUpPropertiesCache = startUpPropertiesCache;
 }
Example #15
0
 public FpsTracker(ITimer timer, IStartupPropertiesCache propertiesCache)
 {
     _timer        = timer;
     _updatePeriod = propertiesCache.Internal.DefaultFpsTrackerUpdatePeriodInSeconds;
     Reset();
 }