make PaletteTexture private and only use it for sprite renders
This commit is contained in:
@@ -78,9 +78,9 @@ namespace OpenRA.Graphics
|
|||||||
data[j,i] = c[i];
|
data[j,i] = c[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Doesn't work
|
// TODO: Doesn't work (why?)
|
||||||
texture.SetData(data);
|
texture.SetData(data);
|
||||||
Game.Renderer.PaletteTexture = texture;
|
Game.Renderer.SetPalette(texture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ namespace OpenRA.Graphics
|
|||||||
DrawLine(new float2(r.Left, y), new float2(r.Right, y), color, color);
|
DrawLine(new float2(r.Left, y), new float2(r.Right, y), color, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetShaderParams(ITexture palette, Size screen, float zoom, float2 scroll)
|
public void SetViewportParams(Size screen, float zoom, float2 scroll)
|
||||||
{
|
{
|
||||||
shader.SetVec("Scroll", (int)scroll.X, (int)scroll.Y);
|
shader.SetVec("Scroll", (int)scroll.X, (int)scroll.Y);
|
||||||
shader.SetVec("r1", zoom*2f/screen.Width, -zoom*2f/screen.Height);
|
shader.SetVec("r1", zoom*2f/screen.Width, -zoom*2f/screen.Height);
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ namespace OpenRA.Graphics
|
|||||||
nv += 4;
|
nv += 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetShaderParams(ITexture palette, Size screen, float zoom, float2 scroll)
|
public void SetViewportParams(Size screen, float zoom, float2 scroll)
|
||||||
{
|
{
|
||||||
shader.SetVec("Scroll", (int)scroll.X, (int)scroll.Y);
|
shader.SetVec("Scroll", (int)scroll.X, (int)scroll.Y);
|
||||||
shader.SetVec("r1", zoom*2f/screen.Width, -zoom*2f/screen.Height);
|
shader.SetVec("r1", zoom*2f/screen.Width, -zoom*2f/screen.Height);
|
||||||
|
|||||||
@@ -34,8 +34,6 @@ namespace OpenRA.Graphics
|
|||||||
public SpriteRenderer RgbaSpriteRenderer { get; private set; }
|
public SpriteRenderer RgbaSpriteRenderer { get; private set; }
|
||||||
public SpriteRenderer SpriteRenderer { get; private set; }
|
public SpriteRenderer SpriteRenderer { get; private set; }
|
||||||
|
|
||||||
public ITexture PaletteTexture;
|
|
||||||
|
|
||||||
Queue<IVertexBuffer<Vertex>> tempBuffers = new Queue<IVertexBuffer<Vertex>>();
|
Queue<IVertexBuffer<Vertex>> tempBuffers = new Queue<IVertexBuffer<Vertex>>();
|
||||||
|
|
||||||
public Dictionary<string, SpriteFont> Fonts;
|
public Dictionary<string, SpriteFont> Fonts;
|
||||||
@@ -67,12 +65,19 @@ namespace OpenRA.Graphics
|
|||||||
public void BeginFrame(float2 scroll, float zoom)
|
public void BeginFrame(float2 scroll, float zoom)
|
||||||
{
|
{
|
||||||
device.Clear();
|
device.Clear();
|
||||||
WorldSpriteRenderer.SetShaderParams(PaletteTexture, Resolution, zoom, scroll);
|
WorldSpriteRenderer.SetViewportParams(Resolution, zoom, scroll);
|
||||||
WorldLineRenderer.SetShaderParams(PaletteTexture, Resolution, zoom, scroll);
|
SpriteRenderer.SetViewportParams(Resolution, 1f, float2.Zero);
|
||||||
WorldQuadRenderer.SetShaderParams(PaletteTexture, Resolution, zoom, scroll);
|
RgbaSpriteRenderer.SetViewportParams(Resolution, 1f, float2.Zero);
|
||||||
SpriteRenderer.SetShaderParams(PaletteTexture, Resolution, 1f, float2.Zero);
|
WorldLineRenderer.SetViewportParams(Resolution, zoom, scroll);
|
||||||
LineRenderer.SetShaderParams(PaletteTexture, Resolution, 1f, float2.Zero);
|
WorldQuadRenderer.SetViewportParams(Resolution, zoom, scroll);
|
||||||
RgbaSpriteRenderer.SetShaderParams(PaletteTexture, Resolution, 1f, float2.Zero);
|
LineRenderer.SetViewportParams(Resolution, 1f, float2.Zero);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetPalette(ITexture paletteTexture)
|
||||||
|
{
|
||||||
|
RgbaSpriteRenderer.SetPalette(paletteTexture);
|
||||||
|
SpriteRenderer.SetPalette(paletteTexture);
|
||||||
|
WorldSpriteRenderer.SetPalette(paletteTexture);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void EndFrame(IInputHandler inputHandler)
|
public void EndFrame(IInputHandler inputHandler)
|
||||||
|
|||||||
@@ -87,9 +87,13 @@ namespace OpenRA.Graphics
|
|||||||
shader.Render(() => renderer.DrawBatch(buffer, start, length, type));
|
shader.Render(() => renderer.DrawBatch(buffer, start, length, type));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetShaderParams(ITexture palette, Size screen, float zoom, float2 scroll)
|
public void SetPalette(ITexture palette)
|
||||||
{
|
{
|
||||||
shader.SetTexture("Palette", palette);
|
shader.SetTexture("Palette", palette);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetViewportParams(Size screen, float zoom, float2 scroll)
|
||||||
|
{
|
||||||
shader.SetVec("Scroll", (int)scroll.X, (int)scroll.Y);
|
shader.SetVec("Scroll", (int)scroll.X, (int)scroll.Y);
|
||||||
shader.SetVec("r1", zoom*2f/screen.Width, -zoom*2f/screen.Height);
|
shader.SetVec("r1", zoom*2f/screen.Width, -zoom*2f/screen.Height);
|
||||||
shader.SetVec("r2", -1, 1);
|
shader.SetVec("r2", -1, 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user