fixed shader rendering
This commit is contained in:
parent
d3f8fd23f4
commit
8e840ece27
5 changed files with 240 additions and 14 deletions
|
@ -95,13 +95,19 @@ namespace Sledgemapper
|
|||
base.Initialize();
|
||||
}
|
||||
|
||||
private void ResetRenderTarget()
|
||||
{
|
||||
rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, false, SurfaceFormat.Color, DepthFormat.None, 0, RenderTargetUsage.DiscardContents);
|
||||
|
||||
}
|
||||
|
||||
private void OnClientSizeChanged(object sender, EventArgs e)
|
||||
{
|
||||
rendertarget?.Dispose();
|
||||
try
|
||||
{
|
||||
|
||||
rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, true, SurfaceFormat.Alpha8, DepthFormat.Depth16, 0, RenderTargetUsage.DiscardContents);
|
||||
ResetRenderTarget();
|
||||
// rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, true, SurfaceFormat.Alpha8, DepthFormat.Depth16, 0, RenderTargetUsage.DiscardContents);
|
||||
//rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height);
|
||||
|
||||
}
|
||||
|
@ -135,8 +141,10 @@ namespace Sledgemapper
|
|||
{
|
||||
_spriteBatch = new SpriteBatch(GraphicsDevice);
|
||||
outlineShader = Content.Load<Effect>("shaders/OutlineShader");
|
||||
outlineShader2 = Content.Load<Effect>("shaders/OutlineShader2");
|
||||
MyraEnvironment.Game = this;
|
||||
rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, true, SurfaceFormat.Alpha8, DepthFormat.Depth16, 0, RenderTargetUsage.DiscardContents);
|
||||
ResetRenderTarget();
|
||||
// rendertarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, true, SurfaceFormat.Alpha8, DepthFormat.Depth16, 0, RenderTargetUsage.DiscardContents);
|
||||
|
||||
_mainWidget = new MainWidget();
|
||||
|
||||
|
@ -575,6 +583,8 @@ namespace Sledgemapper
|
|||
_spriteBatch.Begin(depthStencilState: DepthStencilState.None,
|
||||
transformMatrix: Matrix.CreateTranslation(_viewportCenter),
|
||||
blendState: BlendState.Opaque,
|
||||
//rasterizerState:RasterizerState.CullClockwise,
|
||||
samplerState:SamplerState.PointClamp,
|
||||
|
||||
sortMode: SpriteSortMode.Deferred);
|
||||
|
||||
|
@ -607,17 +617,17 @@ namespace Sledgemapper
|
|||
|
||||
GraphicsDevice.SetRenderTarget(null);
|
||||
|
||||
Vector2 texelSize = new Vector2((float)rendertarget.Width, (float)rendertarget.Height);
|
||||
Vector2 texelSize = new Vector2((float)rendertarget.Width, (float)rendertarget.Height);
|
||||
outlineShader.Parameters["ImageSize"].SetValue(texelSize);
|
||||
//outlineShader.Parameters["BorderSize"].SetValue((int)(_state.TileSize / 100f *10f));
|
||||
outlineShader.Parameters["BorderSize"].SetValue((int)(_state.TileSize / 100f *10f));
|
||||
|
||||
outlineShader.Parameters["R"].SetValue(_settings.OverlayTintColor.R / 255.0f);
|
||||
outlineShader.Parameters["G"].SetValue(_settings.OverlayTintColor.G / 255.0f);
|
||||
outlineShader.Parameters["B"].SetValue(_settings.OverlayTintColor.B / 255.0f);
|
||||
|
||||
// outlineShader2.Parameters["ScreenSize"].SetValue(texelSize);
|
||||
_spriteBatch.Begin(
|
||||
effect: outlineShader,
|
||||
blendState: BlendState.AlphaBlend,
|
||||
blendState: BlendState.NonPremultiplied,
|
||||
sortMode: SpriteSortMode.Deferred);
|
||||
GraphicsDevice.Clear(_settings.BackgroundColor);
|
||||
_spriteBatch.Draw(rendertarget, Vector2.Zero, null, Color.White);
|
||||
|
@ -1302,8 +1312,9 @@ namespace Sledgemapper
|
|||
}
|
||||
}
|
||||
Effect outlineShader; // Outline shader effect
|
||||
private Effect outlineShader2;
|
||||
|
||||
private void DrawDelete(Room tile)
|
||||
private void DrawDelete(Room tile)
|
||||
{
|
||||
var posX = tile.Start.X * _state.TileSize;
|
||||
var posY = tile.Start.Y * _state.TileSize;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue