public DefaultCaptureCopyPostProcessingRenderPass( IGraphicsBlit graphicsBlit, IRenderTargetBackBufferUtilities renderTargetBackBufferUtilities) { _graphicsBlit = graphicsBlit; _renderTargetBackBufferUtilities = renderTargetBackBufferUtilities; }
public DefaultStandardDirectionalLightRenderer( IAssetManager assetManager, IGraphicsBlit graphicsBlit) { _graphicsBlit = graphicsBlit; _directionalLightEffect = assetManager.Get <EffectAsset>("effect.DirectionalLight"); }
public ThumbnailSampler( IProjectManager projectManager, ILoadedGame loadedGame, IConsoleHandle consoleHandle, IGraphicsBlit graphicsBlit) { _projectManager = projectManager; _loadedGame = loadedGame; _consoleHandle = consoleHandle; _graphicsBlit = graphicsBlit; }
public DefaultStandardDirectionalLight( IAssetManager assetManager, IGraphicsBlit graphicsBlit, Vector3 lightDirection, Color lightColor) { _graphicsBlit = graphicsBlit; LightDirection = lightDirection; LightColor = lightColor; _directionalLightEffect = assetManager.Get <EffectAsset>("effect.DirectionalLight"); }
public DefaultStandardDirectionalLight( IAssetManagerProvider assetManagerProvider, IGraphicsBlit graphicsBlit, Vector3 lightDirection, Color lightColor) { _graphicsBlit = graphicsBlit; LightDirection = lightDirection; LightColor = lightColor; _directionalLightEffect = assetManagerProvider.GetAssetManager().Get<EffectAsset>("effect.DirectionalLight"); }
public DefaultRenderPipeline( IGraphicsBlit graphicsBlit, IRenderTargetBackBufferUtilities renderTargetBackBufferUtilities) { _graphicsBlit = graphicsBlit; _renderTargetBackBufferUtilities = renderTargetBackBufferUtilities; _standardRenderPasses = new List <IRenderPass>(); _postProcessingRenderPasses = new List <IRenderPass>(); _transientStandardRenderPasses = new List <IRenderPass>(); _transientPostProcessingRenderPasses = new List <IRenderPass>(); _renderPass = null; _isFirstRenderPass = false; }
public BoardRendererEntity( BoardAnalyzerEntity analyzerEntity, WebcamEntity webcamEntity, IGraphicsBlit graphicsBlit, IAssetManager assetManager, TextBox alphaTextBox) { _analyzerEntity = analyzerEntity; _webcamEntity = webcamEntity; _graphicsBlit = graphicsBlit; _alphaTextBox = alphaTextBox; _warpFromPolygonEffect = assetManager.Get<EffectAsset>("effect.WarpFromPolygon"); }
public DefaultRenderPipeline( IGraphicsBlit graphicsBlit, IRenderTargetBackBufferUtilities renderTargetBackBufferUtilities) { _graphicsBlit = graphicsBlit; _renderTargetBackBufferUtilities = renderTargetBackBufferUtilities; _standardRenderPasses = new List<IRenderPass>(); _postProcessingRenderPasses = new List<IRenderPass>(); _transientStandardRenderPasses = new List<IRenderPass>(); _transientPostProcessingRenderPasses = new List<IRenderPass>(); _renderPass = null; _isFirstRenderPass = false; }
public Default3DDeferredRenderPass( IHierarchy hierarchy, IRenderTargetBackBufferUtilities renderTargetBackBufferUtilities, IGraphicsBlit graphicsBlit, IAssetManagerProvider assetManagerProvider, IRenderBatcher renderBatcher) { _hierarchy = hierarchy; _renderTargetBackBufferUtilities = renderTargetBackBufferUtilities; _graphicsBlit = graphicsBlit; _renderBatcher = renderBatcher; _gbufferClearEffect = assetManagerProvider.GetAssetManager().Get<EffectAsset>("effect.GBufferClear"); _gbufferCombineEffect = assetManagerProvider.GetAssetManager().Get<EffectAsset>("effect.GBufferCombine"); }
public Default3DDeferredRenderPass( IHierarchy hierarchy, IRenderTargetBackBufferUtilities renderTargetBackBufferUtilities, IGraphicsBlit graphicsBlit, IAssetManagerProvider assetManagerProvider, IRenderBatcher renderBatcher) { _hierarchy = hierarchy; _renderTargetBackBufferUtilities = renderTargetBackBufferUtilities; _graphicsBlit = graphicsBlit; _renderBatcher = renderBatcher; _gbufferClearEffect = assetManagerProvider.GetAssetManager().Get <EffectAsset>("effect.GBufferClear"); _gbufferCombineEffect = assetManagerProvider.GetAssetManager().Get <EffectAsset>("effect.GBufferCombine"); }
public DefaultRenderPipeline( IGraphicsBlit graphicsBlit, IRenderTargetBackBufferUtilities renderTargetBackBufferUtilities, IProfiler profiler, [FromGame] IEngineHook[] engineHooks) { _graphicsBlit = graphicsBlit; _renderTargetBackBufferUtilities = renderTargetBackBufferUtilities; _profiler = profiler; _engineHooks = engineHooks; _standardRenderPasses = new List<IRenderPass>(); _postProcessingRenderPasses = new List<IRenderPass>(); _transientStandardRenderPasses = new List<IRenderPass>(); _transientPostProcessingRenderPasses = new List<IRenderPass>(); _renderPass = null; _isFirstRenderPass = false; }
public DefaultRenderPipeline( IGraphicsBlit graphicsBlit, IRenderTargetBackBufferUtilities renderTargetBackBufferUtilities, IProfiler profiler, [FromGame] IEngineHook[] engineHooks) { _graphicsBlit = graphicsBlit; _renderTargetBackBufferUtilities = renderTargetBackBufferUtilities; _profiler = profiler; _engineHooks = engineHooks; _standardRenderPasses = new List <IRenderPass>(); _postProcessingRenderPasses = new List <IRenderPass>(); _transientStandardRenderPasses = new List <IRenderPass>(); _transientPostProcessingRenderPasses = new List <IRenderPass>(); _renderPass = null; _isFirstRenderPass = false; }
public Default3DDeferredRenderPass( IHierarchy hierarchy, IRenderTargetBackBufferUtilities renderTargetBackBufferUtilities, IGraphicsBlit graphicsBlit, IAssetManager assetManager, IRenderBatcher renderBatcher, IBackBufferDimensions backBufferDimensions) { _hierarchy = hierarchy; _renderTargetBackBufferUtilities = renderTargetBackBufferUtilities; _graphicsBlit = graphicsBlit; _renderBatcher = renderBatcher; _backBufferDimensions = backBufferDimensions; _gbufferClearEffect = assetManager.Get <EffectAsset>("effect.GBufferClear"); _gbufferCombineEffect = assetManager.Get <EffectAsset>("effect.GBufferCombine"); GBufferBlendState = BlendState.Opaque; ClearTarget = true; }
public DefaultBlurPostProcessingRenderPass(IAssetManagerProvider assetManagerProvider, IGraphicsBlit graphicsBlit) { _blurEffect = assetManagerProvider.GetAssetManager().Get<EffectAsset>("effect.Blur").Effect; _graphicsBlit = graphicsBlit; }
public DefaultCustomPostProcessingRenderPass(IGraphicsBlit graphicsBlit, Effect effect) { _effect = effect; _graphicsBlit = graphicsBlit; }
public DefaultCustomPostProcessingRenderPass(IGraphicsBlit graphicsBlit, IAssetManagerProvider assetManagerProvider, string effectAssetName) { _effect = assetManagerProvider.GetAssetManager().Get <EffectAsset>(effectAssetName).Effect; _graphicsBlit = graphicsBlit; }
public DefaultInvertPostProcessingRenderPass(IAssetManagerProvider assetManagerProvider, IGraphicsBlit graphicsBlit) { _invertEffect = assetManagerProvider.GetAssetManager().Get <EffectAsset>("effect.Invert").Effect; _graphicsBlit = graphicsBlit; }
public DefaultInvertPostProcessingRenderPass(IAssetManagerProvider assetManagerProvider, IGraphicsBlit graphicsBlit) { _invertEffect = assetManagerProvider.GetAssetManager().Get<EffectAsset>("effect.Invert").Effect; _graphicsBlit = graphicsBlit; }
public DefaultCaptureInlinePostProcessingRenderPass(IGraphicsBlit graphicsBlit) { _graphicsBlit = graphicsBlit; }
public DefaultCustomPostProcessingRenderPass(IGraphicsBlit graphicsBlit, IAssetManagerProvider assetManagerProvider, string effectAssetName) { _effect = assetManagerProvider.GetAssetManager().Get<EffectAsset>(effectAssetName).Effect; _graphicsBlit = graphicsBlit; }
public RenderPipelineWorld( IAssetManager assetManager, I2DRenderUtilities renderUtilities, IGraphicsFactory graphicsFactory, IAssert assert, ITestAttachment testAttachment, IRenderTargetBackBufferUtilities renderTargetBackBufferUtilities, IGraphicsBlit graphicsBlit) { _renderUtilities = renderUtilities; _assert = assert; _testAttachment = testAttachment; _texture = assetManager.Get <TextureAsset>("texture.Player"); _invertPostProcess = graphicsFactory.CreateInvertPostProcessingRenderPass(); _blurPostProcess = graphicsFactory.CreateBlurPostProcessingRenderPass(); _customPostProcess = graphicsFactory.CreateCustomPostProcessingRenderPass("effect.MakeRed"); _captureInlinePostProcess = graphicsFactory.CreateCaptureInlinePostProcessingRenderPass(); _renderTargetBackBufferUtilities = renderTargetBackBufferUtilities; _graphicsBlit = graphicsBlit; _captureInlinePostProcess.RenderPipelineStateAvailable = (gameContext, renderContext, previousPass, d) => { if (!_isValidRun) { return; } _renderTarget = _renderTargetBackBufferUtilities.UpdateCustomRenderTarget(_renderTarget, renderContext, SurfaceFormat.Color, DepthFormat.None, 1); // Blit to the capture target. _graphicsBlit.Blit(renderContext, d, _renderTarget); #if MANUAL_TEST #elif RECORDING using (var writer = new StreamWriter("output" + _frame + ".png")) { _renderTarget.SaveAsPng(writer.BaseStream, Width, Height); } #else var baseStream = typeof(RenderPipelineWorld).Assembly.GetManifestResourceStream( "Protogame.Tests.Expected.RenderPipeline.output" + _frame + ".png"); _assert.NotNull(baseStream); var memoryStream = new MemoryStream(); _renderTarget.SaveAsPng(memoryStream, Width, Height); // ReSharper disable once AssignNullToNotNullAttribute var expected = new Bitmap(baseStream); var actual = new Bitmap(memoryStream); _assert.Equal(expected.Height, actual.Height); _assert.Equal(expected.Width, actual.Width); var totalPixelValues = 0L; var incorrectPixelValues = 0L; for (var x = 0; x < expected.Width; x++) { for (var y = 0; y < expected.Height; y++) { var expectedPixel = expected.GetPixel(x, y); var actualPixel = actual.GetPixel(x, y); totalPixelValues += 255 * 4; if (expectedPixel != actualPixel) { var diffA = System.Math.Abs((int)actualPixel.A - (int)expectedPixel.A); var diffR = System.Math.Abs((int)actualPixel.R - (int)expectedPixel.R); var diffG = System.Math.Abs((int)actualPixel.G - (int)expectedPixel.G); var diffB = System.Math.Abs((int)actualPixel.B - (int)expectedPixel.B); incorrectPixelValues += (diffA + diffR + diffG + diffB); } } } var percentage = (100 - ((incorrectPixelValues / (double)totalPixelValues) * 100f)); var combination = _combinations[_frame % _combinations.Count]; _testAttachment.Attach("name-" + combination.Id, combination.Name); _testAttachment.Attach("expected-" + combination.Id, baseStream); _testAttachment.Attach("actual-" + combination.Id, memoryStream); _testAttachment.Attach("threshold-" + combination.Id, 99.9); _testAttachment.Attach("measured-" + combination.Id, percentage); if (percentage <= 99.9f) { combination.FailureMessage = "The actual rendered image did not match the expected image close enough (99.9%)."; } //memoryStream.Dispose(); //baseStream.Dispose(); #endif #if MANUAL_TEST _manualTest++; if (_manualTest % 60 == 0) { _frame++; } #else _frame++; #endif }; this.Entities = new List <IEntity>(); }
public DefaultBlurPostProcessingRenderPass(IAssetManagerProvider assetManagerProvider, IGraphicsBlit graphicsBlit) { _blurEffect = assetManagerProvider.GetAssetManager().Get <EffectAsset>("effect.Blur").Effect; _graphicsBlit = graphicsBlit; }
public DefaultCustomPostProcessingRenderPass(IGraphicsBlit graphicsBlit, IAssetReference <EffectAsset> effectAsset) { _effect = effectAsset; _graphicsBlit = graphicsBlit; }
public DefaultCustomPostProcessingRenderPass(IGraphicsBlit graphicsBlit, IEffect effect) { _effect = effect; _graphicsBlit = graphicsBlit; }