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;
 }
Beispiel #2
0
 public FontCollection(IFrameworkMessenger frameworkMessenger,
                       IGpuSurfaceManager gpuSurfaceManager)
 {
     _frameworkMessenger = frameworkMessenger;
     _gpuSurfaceManager  = gpuSurfaceManager;
     _fonts = new Dictionary <ulong, IFontModel>();
 }
Beispiel #3
0
 public RenderStageVisitor(
     IGpuSurfaceManager surfaceManager,
     ICameraManager cameraManager,
     IDrawStageRenderer drawStageRenderer,
     IColourEffectsStageRenderer colourEffectStageRenderer,
     IBloomStageRenderer bloomEffectStageRenderer,
     IBlurStageRenderer blur2DEffectStageRenderer,
     IBlur1DStageRenderer blur1DEffectStageRenderer,
     IStyleEffectsStageRenderer styleEffectRenderer,
     IMeshRenderStageRenderer meshRenderer,
     IDistortionStageRenderer distortionEffectStageRenderer,
     IMixStageRenderer mixRenderer,
     ICustomShaderStageRenderer customShaderRenderer,
     ICustomVeldridStageRenderer customVeldridRenderer,
     ISurfaceCopyStageRenderer surfaceCopyStageRenderer)
 {
     _surfaceManager            = surfaceManager;
     _cameraManager             = cameraManager;
     _drawStageRenderer         = drawStageRenderer;
     _colourEffectStageRenderer = colourEffectStageRenderer;
     _bloomEffectStageRenderer  = bloomEffectStageRenderer;
     _blur1DEffectStageRenderer = blur1DEffectStageRenderer;
     _blur2DEffectStageRenderer = blur2DEffectStageRenderer;
     _styleEffectRenderer       = styleEffectRenderer;
     _meshRenderer = meshRenderer;
     _distortionEffectStageRenderer = distortionEffectStageRenderer;
     _mixRenderer              = mixRenderer;
     _customShaderRenderer     = customShaderRenderer;
     _customVeldridRenderer    = customVeldridRenderer;
     _surfaceCopyStageRenderer = surfaceCopyStageRenderer;
 }
Beispiel #4
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;
        }
Beispiel #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();
        }
 public SurfaceCopyStageRenderer(IFrameworkMessenger frameworkMessenger,
                                 ISystemComponents systemComponents,
                                 IGpuSurfaceManager gpuSurfaceManager)
 {
     _frameworkMessenger = frameworkMessenger;
     _systemComponents   = systemComponents;
     _gpuSurfaceManager  = gpuSurfaceManager;
 }
Beispiel #7
0
 public Surfaces(IStartupPropertiesCache startUpPropertiesCache,
                 IGpuSurfaceManager surfaceManager,
                 ISystemComponents systemComponents)
 {
     _systemComponents       = systemComponents;
     _startUpPropertiesCache = startUpPropertiesCache;
     _surfaceManager         = surfaceManager;
 }
 public CustomVeldridStageRenderer(IFrameworkMessenger frameworkMessenger,
                                   IGpuSurfaceManager gpuSurfaceManager,
                                   ISystemComponents systemComponents
                                   )
 {
     _frameworkMessenger = frameworkMessenger;
     _gpuSurfaceManager  = gpuSurfaceManager;
     _systemComponents   = systemComponents;
     Initialise();
 }
        public DistortionHeightRenderer(IFrameworkMessenger frameworkMessenger,
                                        IShaderLoader shaderLoader,
                                        IPipelineFactory pipelineFactory,
                                        IGpuSurfaceManager surfaceManager)
        {
            _frameworkMessenger = frameworkMessenger;
            _shaderLoader       = shaderLoader;
            _pipelineFactory    = pipelineFactory;
            _surfaceManager     = surfaceManager;

            Initialise();
        }
Beispiel #10
0
 public ResourcesReinitialiser(
     IGraphicsResourceReinitialiser graphicsResourceReinitialiser,
     IFontManager fontManager,
     IGpuSurfaceManager gpuSurfaceManager,
     IFrameworkDebugOverlay frameworkDebugOverlay
     )
 {
     _graphicsResourceReinitialiser = graphicsResourceReinitialiser;
     _fontManager           = fontManager;
     _gpuSurfaceManager     = gpuSurfaceManager;
     _frameworkDebugOverlay = frameworkDebugOverlay;
 }
Beispiel #11
0
 public Drawing(IFrameworkMessenger frameworkMessenger,
                IRenderStageManager renderStageManager,
                IRenderStageVisitor renderStageVisitor,
                IFontManager fontManager,
                IGpuSurfaceManager gpuSurfaceManager)
 {
     _frameworkMessenger = frameworkMessenger;
     _renderStageManager = renderStageManager;
     _renderStageVisitor = renderStageVisitor;
     _fontManager        = fontManager;
     _gpuSurfaceManager  = gpuSurfaceManager;
 }
        public CustomShaderStageRenderer(IFrameworkMessenger frameworkMessenger,
                                         IViewportManager viewportManager,
                                         IFullNdcSpaceQuadVertexBuffer ndcQuadVertexBuffer,
                                         IGpuSurfaceManager gpuSurfaceManager
                                         )
        {
            _frameworkMessenger  = frameworkMessenger;
            _viewportManager     = viewportManager;
            _ndcQuadVertexBuffer = ndcQuadVertexBuffer;
            _gpuSurfaceManager   = gpuSurfaceManager;

            Initialise();
        }
Beispiel #13
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;
 }
Beispiel #14
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));
        }
Beispiel #15
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();
        }
Beispiel #16
0
 public CommandProcessor(IFrameworkMessenger frameworkMessenger,
                         IRenderStageManager renderStageManager,
                         IGpuSurfaceManager surfaceManager,
                         IViewportManager viewportManager,
                         IRenderStageVisitor renderStageVisitor,
                         ICopyStageRenderer copyStageRenderer,
                         ICameraManager cameraManager)
 {
     _frameworkMessenger = frameworkMessenger;
     _renderStageManager = renderStageManager;
     _surfaceManager     = surfaceManager;
     _viewportManager    = viewportManager;
     _renderStageVisitor = renderStageVisitor;
     _copyStageRenderer  = copyStageRenderer;
     _cameraManager      = cameraManager;
 }
Beispiel #17
0
        private Pipeline _pipeline; //rename internal version

        public DistortionGradientShiftRenderer(IFrameworkMessenger frameworkMessenger,
                                               ISystemComponents systemComponents,
                                               IShaderLoader shaderLoader,
                                               IPipelineFactory pipelineFactory,
                                               IGpuSurfaceManager surfaceManager,
                                               IFullNdcSpaceQuadVertexBuffer ndcQuadVertexBuffer)
        {
            _frameworkMessenger  = frameworkMessenger;
            _systemComponents    = systemComponents;
            _shaderLoader        = shaderLoader;
            _pipelineFactory     = pipelineFactory;
            _surfaceManager      = surfaceManager;
            _ndcQuadVertexBuffer = ndcQuadVertexBuffer;

            Initialise();
        }
Beispiel #18
0
        public MixStageRenderer(IFrameworkMessenger frameworkMessenger,
                                ISystemComponents systemComponents,
                                IShaderLoader shaderLoader,
                                IPipelineFactory pipelineFactory,
                                IFullNdcSpaceQuadVertexBuffer ndcSpaceQuadVertexBuffer,
                                IGpuSurfaceManager gpuSurfaceManager,
                                IViewportManager viewportManager)
        {
            _frameworkMessenger  = frameworkMessenger;
            _systemComponents    = systemComponents;
            _shaderLoader        = shaderLoader;
            _pipelineFactory     = pipelineFactory;
            _ndcQuadVertexBuffer = ndcSpaceQuadVertexBuffer;
            _gpuSurfaceManager   = gpuSurfaceManager;
            _viewportManager     = viewportManager;

            Initialise();
        }
Beispiel #19
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;
        }
Beispiel #20
0
        public DistortionStageModel(IDrawQueueGroup queues,
                                    IDrawStageBatcher batcher,
                                    ISystemComponents systemComponents,
                                    IGpuSurfaceManager surfaceManager,
                                    uint internalSurfaceWidth,
                                    uint internalSurfaceHeight)
            : base(batcher, queues, BlendState.Alpha)
        {
            _systemComponents = systemComponents;
            _surfaceManager   = surfaceManager;

            CreateAndSetPixelSizeUniform(internalSurfaceWidth, internalSurfaceHeight);
            CreateSurfaces(internalSurfaceWidth, internalSurfaceHeight);

            _current = new DistortionEffectConfiguration
            {
                DistortionScalar = 20.0f //Should scale in relation to window height to keep effect consistent. is turned into a vector using aspect ratio in renderer
            };
        }
Beispiel #21
0
        public void ReleaseReources(IGpuSurfaceManager gpuSurfaceManager)
        {
            if (gpuSurfaceManager == null)
            {
                throw new Yak2DException("Internal Framework Error: Font release resources was passed a null gpuSurfaceManager object");
            }

            //Not called if overall reinit (where all resources destroyed at the start (font collection level bool toggle))
            for (var n = 0; n < _numSubFonts; n++)
            {
                var subFont = _subFonts[n];

                subFont.Characters.Clear();
                subFont.Kernings.Clear();
                foreach (var tex in subFont.Textures)
                {
                    gpuSurfaceManager.DestroySurface(tex.Id);
                }
            }
        }
Beispiel #22
0
 public DistortionTextureGenerator(IGpuSurfaceManager gpuSurfaceManager)
 {
     _gpuSurfaceManager = gpuSurfaceManager;
 }