Ejemplo n.º 1
0
        public FrameworkDebugOverlay(IFrameworkMessenger frameworkMessenger,
                                     IDebugAnalytics debugAnalytics,
                                     IFramesPerSecondMonitor fpsMonitor,
                                     ISystemComponents systemComponents,
                                     IDrawStageRenderer drawStageRenderer,
                                     IIdGenerator idGenerator,
                                     IDrawQueueFactory drawQueueFactory,
                                     IDrawQueueGroupFactory drawQueueGroupFactory,
                                     IQueueToBufferBlitter queueToBufferBlitter,
                                     IDrawStageBuffersFactory drawStageBuffersFactory,
                                     IDrawStageBatcherFactory drawStageBatcherFactory,
                                     IFontManager fontManager
                                     )
        {
            _frameworkMessenger      = frameworkMessenger;
            _debugAnalytics          = debugAnalytics;
            _fpsMonitor              = fpsMonitor;
            _systemComponents        = systemComponents;
            _drawStageRenderer       = drawStageRenderer;
            _idGenerator             = idGenerator;
            _drawQueueFactory        = drawQueueFactory;
            _drawQueueGroupFactory   = drawQueueGroupFactory;
            _queueToBufferBlitter    = queueToBufferBlitter;
            _drawStageBuffersFactory = drawStageBuffersFactory;
            _drawStageBatcherFactory = drawStageBatcherFactory;
            _fontManager             = fontManager;

            Visible = false;

            ReInitialise();
        }
Ejemplo n.º 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();
        }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
        public DrawQueue(IFrameworkMessenger frameworkMessenger,
                         IComparerCollection comparers,
                         int initialRequestQueueSize,
                         int scalarForPerElementArraySizes,
                         bool skipDrawQueueSortingByDepthsAndLayers)
        {
            if (initialRequestQueueSize < 1)
            {
                initialRequestQueueSize = 512;
            }

            if (scalarForPerElementArraySizes < 1)
            {
                scalarForPerElementArraySizes = 8;
            }

            _frameworkMessenger      = frameworkMessenger;
            _comparers               = comparers;
            _skipDepthsAndLayersSort = skipDrawQueueSortingByDepthsAndLayers;

            var perElementArraySize = initialRequestQueueSize * scalarForPerElementArraySizes;

            InitialiseDataObject(initialRequestQueueSize, perElementArraySize);

            Clear(); //Ensure counters set to 0 (will be by default but let's not rely on that)
        }
Ejemplo n.º 5
0
 public FontCollection(IFrameworkMessenger frameworkMessenger,
                       IGpuSurfaceManager gpuSurfaceManager)
 {
     _frameworkMessenger = frameworkMessenger;
     _gpuSurfaceManager  = gpuSurfaceManager;
     _fonts = new Dictionary <ulong, IFontModel>();
 }
Ejemplo n.º 6
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;
        }
Ejemplo n.º 7
0
        public ApplicationMessenger(IFrameworkMessenger frameworkMessenger,
                                    IApplication application)
        {
            _frameworkMessenger = frameworkMessenger;
            _application        = application;

            _messageQueue = new Queue <FrameworkMessage>(MESSAGE_QUEUE_INITIAL_SIZE);
        }
Ejemplo n.º 8
0
        public GpuSurfaceFactory(IFrameworkMessenger frameworkMessenger, ISystemComponents components)
        {
            _frameworkMessenger = frameworkMessenger;
            _components         = components;

            GenerateTextureSamplers();
            GenerateCachedTextureLayout();
        }
Ejemplo n.º 9
0
 public SurfaceCopyStageRenderer(IFrameworkMessenger frameworkMessenger,
                                 ISystemComponents systemComponents,
                                 IGpuSurfaceManager gpuSurfaceManager)
 {
     _frameworkMessenger = frameworkMessenger;
     _systemComponents   = systemComponents;
     _gpuSurfaceManager  = gpuSurfaceManager;
 }
Ejemplo n.º 10
0
 public DrawQueueFactory(IFrameworkMessenger frameworkMessenger,
                         IStartupPropertiesCache startUpPropertiesCache,
                         IComparerCollection comparerCollection)
 {
     _frameworkMessenger     = frameworkMessenger;
     _startUpPropertiesCache = startUpPropertiesCache;
     _comparerCollection     = comparerCollection;
 }
Ejemplo n.º 11
0
        public CoreMessenger(IFrameworkMessenger frameworkMessenger,
                             ISystemComponents systemComponents,
                             IResourceReinitialiser systemResourcesReinitialiser)
        {
            _frameworkMessenger           = frameworkMessenger;
            _systemComponents             = systemComponents;
            _systemResourcesReinitialiser = systemResourcesReinitialiser;

            _messageQueue = new Queue <CoreMessage>(MESSAGE_QUEUE_INITIAL_SIZE);
        }
Ejemplo n.º 12
0
 public Input(IFrameworkMessenger frameworkMessenger,
              IInputGameController inputGameController,
              IInputMouseKeyboard inputMouseKeyboard,
              IVeldridWindowUpdater windowUpdater)
 {
     _frameworkMessenger  = frameworkMessenger;
     _inputGameController = inputGameController;
     _inputMouseKeyboard  = inputMouseKeyboard;
     _windowUpdater       = windowUpdater;
 }
Ejemplo n.º 13
0
 public CustomVeldridStageRenderer(IFrameworkMessenger frameworkMessenger,
                                   IGpuSurfaceManager gpuSurfaceManager,
                                   ISystemComponents systemComponents
                                   )
 {
     _frameworkMessenger = frameworkMessenger;
     _gpuSurfaceManager  = gpuSurfaceManager;
     _systemComponents   = systemComponents;
     Initialise();
 }
Ejemplo n.º 14
0
        private ICustomShaderStageModel SetUpModelForSimpleAccessTests(IFrameworkMessenger messenger, ISystemComponents components = null)
        {
            if (components == null)
            {
                components = Substitute.For <ISystemComponents>();
            }

            var idevice = Substitute.For <IDevice>();

            idevice.SwapchainFramebufferOutputDescription.Returns(new OutputDescription
            {
                ColorAttachments = new OutputAttachmentDescription[] { },
                DepthAttachment  = new OutputAttachmentDescription(),
                SampleCount      = Veldrid.TextureSampleCount.Count1
            });
            components.Device.Returns(idevice);
            var loader = Substitute.For <IShaderLoader>();

            loader.CreateShaderPackage(Arg.Any <string>(),
                                       Arg.Any <AssetSourceEnum>(),
                                       Arg.Any <string>(),
                                       Arg.Any <AssetSourceEnum>(),
                                       Arg.Any <VertexLayoutDescription>(),
                                       Arg.Any <ResourceLayoutElementDescription[][]>()).Returns(new ShaderPackage
            {
                Description           = new ShaderSetDescription(),
                UniformResourceLayout = new ResourceLayout[] { }
            });

            var factory = Substitute.For <IPipelineFactory>();

            var ifactory = Substitute.For <IFactory>();

            ifactory.CreateBuffer(Arg.Any <BufferDescription>()).Returns(Substitute.For <DeviceBuffer>());
            components.Factory.Returns(Substitute.For <IFactory>());

            ICustomShaderStageModel model = new CustomShaderStageModel(messenger,
                                                                       components,
                                                                       loader,
                                                                       factory,
                                                                       new BlendStateConverter(),
                                                                       "test.frag",
                                                                       AssetSourceEnum.Embedded,
                                                                       new ShaderUniformDescription[] {
                new ShaderUniformDescription
                {
                    Name        = "test",
                    SizeInBytes = 32,
                    UniformType = ShaderUniformType.Data
                },
            },
                                                                       BlendState.Alpha, false);

            return(model);
        }
Ejemplo n.º 15
0
 public DistortionStageRenderer(
     IFrameworkMessenger frameworkMessenger,
     IDistortionHeightRenderer heightRenderer,
     IDistortionGraidentShiftRenderer gradientShiftRenderer,
     IDistortionRenderer distortionRenderer)
 {
     _frameworkMessenger    = frameworkMessenger;
     _heightRenderer        = heightRenderer;
     _gradientShiftRenderer = gradientShiftRenderer;
     _distortionRenderer    = distortionRenderer;
 }
Ejemplo n.º 16
0
        public UpdatePeriodVariable(IFrameworkMessenger frameworkMessenger, IDebugAnalytics debugAnalytics)
        {
            _frameworkMessenger = frameworkMessenger;
            _debugAnalytics     = debugAnalytics;

            _times = new double[NUMBER_OF_UPDATES_TO_SMOOTH_FRAMETIME];

            _valuesSinceLastAnalysis = 0;

            _index = 0;
        }
Ejemplo n.º 17
0
 public Drawing(IFrameworkMessenger frameworkMessenger,
                IRenderStageManager renderStageManager,
                IRenderStageVisitor renderStageVisitor,
                IFontManager fontManager,
                IGpuSurfaceManager gpuSurfaceManager)
 {
     _frameworkMessenger = frameworkMessenger;
     _renderStageManager = renderStageManager;
     _renderStageVisitor = renderStageVisitor;
     _fontManager        = fontManager;
     _gpuSurfaceManager  = gpuSurfaceManager;
 }
Ejemplo n.º 18
0
 public ShaderLoaderFunctions(IFrameworkMessenger frameworkMessenger,
                              ISystemComponents systemComponents,
                              IApplicationAssembly applicationAssembly,
                              IGraphicsAssembly graphicsAssembly,
                              IFileSystem fileSystem)
 {
     _frameworkMessenger  = frameworkMessenger;
     _systemComponents    = systemComponents;
     _applicationAssembly = applicationAssembly;
     _graphicsAssembly    = graphicsAssembly;
     _fileSystem          = fileSystem;
 }
Ejemplo n.º 19
0
        public DistortionHeightRenderer(IFrameworkMessenger frameworkMessenger,
                                        IShaderLoader shaderLoader,
                                        IPipelineFactory pipelineFactory,
                                        IGpuSurfaceManager surfaceManager)
        {
            _frameworkMessenger = frameworkMessenger;
            _shaderLoader       = shaderLoader;
            _pipelineFactory    = pipelineFactory;
            _surfaceManager     = surfaceManager;

            Initialise();
        }
Ejemplo n.º 20
0
 public BlurStageRenderer(IFrameworkMessenger frameworkMessenger,
                          IDownSamplingRenderer blurSamplingRenderer,
                          ISinglePassGaussianBlurRenderer singlePassGaussianBlurRenderer,
                          IBlurResultMixingRenderer blur2DResultMixingRenderer,
                          IFullNdcSpaceQuadVertexBuffer ndcSpaceQuadVertexBuffer)
 {
     _frameworkMessenger             = frameworkMessenger;
     _blurSamplingRenderer           = blurSamplingRenderer;
     _singlePassGaussianBlurRenderer = singlePassGaussianBlurRenderer;
     _blur2DResultMixingRenderer     = blur2DResultMixingRenderer;
     _ndcSpaceQuadVertexBuffer       = ndcSpaceQuadVertexBuffer;
 }
Ejemplo n.º 21
0
        public CustomVeldridStageModel(IFrameworkMessenger frameworkMessenger,
                                       ISystemComponents systemComponents,
                                       IVeldridWindowUpdater windowUpdater,
                                       CustomVeldridBase stage)
        {
            _frameworkMessenger = frameworkMessenger;
            _systemComponents   = systemComponents;
            _windowUpdater      = windowUpdater;
            CustomStage         = stage;

            Initialise();
        }
Ejemplo n.º 22
0
        public InputGameController(IFrameworkMessenger frameworkMessenger, IApplicationMessenger applicationMessenger)
        {
            _frameworkMessenger   = frameworkMessenger;
            _applicationMessenger = applicationMessenger;

            Sdl2Native.SDL_Init(SDLInitFlags.GameController);

            _eventQueue = new Queue <SDL_Event>();

            _controllers = new Dictionary <int, GameController>();

            UpdateGamepadRegister();
        }
Ejemplo n.º 23
0
        public CustomShaderStageRenderer(IFrameworkMessenger frameworkMessenger,
                                         IViewportManager viewportManager,
                                         IFullNdcSpaceQuadVertexBuffer ndcQuadVertexBuffer,
                                         IGpuSurfaceManager gpuSurfaceManager
                                         )
        {
            _frameworkMessenger  = frameworkMessenger;
            _viewportManager     = viewportManager;
            _ndcQuadVertexBuffer = ndcQuadVertexBuffer;
            _gpuSurfaceManager   = gpuSurfaceManager;

            Initialise();
        }
Ejemplo n.º 24
0
        public MeshRenderStageRenderer(IFrameworkMessenger frameworkMessenger,
                                       ISystemComponents systemComponents,
                                       IShaderLoader shaderLoader,
                                       IPipelineFactory pipelineFactory,
                                       IViewportManager viewportManager)
        {
            _frameworkMessenger = frameworkMessenger;
            _systemComponents   = systemComponents;
            _shaderLoader       = shaderLoader;
            _pipelineFactory    = pipelineFactory;
            _viewportManager    = viewportManager;

            Initialise();
        }
Ejemplo n.º 25
0
        public MeshRenderStageModel(IFrameworkMessenger frameworkMessenger,
                                    ISystemComponents systemComponents,
                                    IQuadMeshBuilder quadMeshBuilder)
        {
            _frameworkMessenger = frameworkMessenger;
            _systemComponents   = systemComponents;
            _quadMeshBuilder    = quadMeshBuilder;

            CreateLights();
            GenerateInitialLightingConfigurations();
            UpdatePropertiesBuffer();
            UpdateLightsBuffer();
            GenerateDefaultMesh();
        }
Ejemplo n.º 26
0
        public StyleEffectsStageModel(IFrameworkMessenger frameworkMessenger, ISystemComponents systemComponents)
        {
            _frameworkMessenger = frameworkMessenger;
            _systemComponents   = systemComponents;

            _random     = new Random();
            _staticTime = 0.0f;

            CreateBuffers();

            CreateDefaultConfigurationAndFillBuffers();
            SetMovieStatePropertiesToDefaultValues();

            SetAllTransitionsToFalse(); //Not needed as above sets all time for transitions to 0 and that causes falses on all transitions
        }
Ejemplo n.º 27
0
 public ShutdownManager(IFrameworkMessenger frameworkMessenger,
                        ISystemComponents veldridComponents,
                        IGraphicsShutdownManager graphicsShutdownManager,
                        IGpuSurfaceManager gpuSurfaceManager,
                        IFontManager fontManager,
                        ISdl2EventProcessor sdl2EventProcessor
                        )
 {
     _frameworkMessenger      = frameworkMessenger;
     _veldridComponents       = veldridComponents;
     _graphicsShutdownManager = graphicsShutdownManager;
     _gpuSurfaceManager       = gpuSurfaceManager;
     _fontManager             = fontManager;
     _sdl2EventProcessor      = sdl2EventProcessor;
 }
Ejemplo n.º 28
0
        public DrawStageRenderer(IFrameworkMessenger frameworkMessenger,
                                 ISystemComponents components,
                                 IShaderLoader shaderLoader,
                                 IPipelineFactory pipelineFactory,
                                 IGpuSurfaceManager surfaceManager,
                                 IViewportManager viewportManager)
        {
            _frameworkMessenger = frameworkMessenger;
            _components         = components;
            _shaderLoader       = shaderLoader;
            _pipelineFactory    = pipelineFactory;
            _surfaceManager     = surfaceManager;
            _viewportManager    = viewportManager;

            Initialise();
        }
Ejemplo n.º 29
0
        public ColourEffectsStageRenderer(IFrameworkMessenger frameworkMessenger,
                                          ISystemComponents systemComponents,
                                          IShaderLoader shaderLoader,
                                          IPipelineFactory pipelineFactory,
                                          IFullNdcSpaceQuadVertexBuffer ndcQuadVertexBuffer,
                                          IViewportManager viewportManager)
        {
            _frameworkMessenger  = frameworkMessenger;
            _systemComponents    = systemComponents;
            _shaderLoader        = shaderLoader;
            _pipelineFactory     = pipelineFactory;
            _ndcQuadVertexBuffer = ndcQuadVertexBuffer;
            _viewportManager     = viewportManager;

            Initialise();
        }
Ejemplo n.º 30
0
        public SurfaceCopyStageModel(IFrameworkMessenger frameworkMessenger,
                                     ISystemComponents systemComponents,
                                     IGpuSurfaceManager surfaceManager,
                                     uint stagingTextureWidth,
                                     uint stagingTextureHeight,
                                     PixelFormat pixelFormat,
                                     Action <TextureData> callback)
        {
            _frameworkMessenger = frameworkMessenger;
            _systemComponents   = systemComponents;
            _surfaceManager     = surfaceManager;

            SetCallback(callback);

            SetPixelFormatAndCreateStagingTextureAndDataArray(stagingTextureWidth, stagingTextureHeight, TexturePixelFormatConverter.ConvertVeldridToYak(pixelFormat));
        }