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];
|
||||
}
|
||||
|
||||
// Doesn't work
|
||||
// TODO: Doesn't work (why?)
|
||||
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);
|
||||
}
|
||||
|
||||
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("r1", zoom*2f/screen.Width, -zoom*2f/screen.Height);
|
||||
|
||||
@@ -57,7 +57,7 @@ namespace OpenRA.Graphics
|
||||
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("r1", zoom*2f/screen.Width, -zoom*2f/screen.Height);
|
||||
|
||||
@@ -34,8 +34,6 @@ namespace OpenRA.Graphics
|
||||
public SpriteRenderer RgbaSpriteRenderer { get; private set; }
|
||||
public SpriteRenderer SpriteRenderer { get; private set; }
|
||||
|
||||
public ITexture PaletteTexture;
|
||||
|
||||
Queue<IVertexBuffer<Vertex>> tempBuffers = new Queue<IVertexBuffer<Vertex>>();
|
||||
|
||||
public Dictionary<string, SpriteFont> Fonts;
|
||||
@@ -67,12 +65,19 @@ namespace OpenRA.Graphics
|
||||
public void BeginFrame(float2 scroll, float zoom)
|
||||
{
|
||||
device.Clear();
|
||||
WorldSpriteRenderer.SetShaderParams(PaletteTexture, Resolution, zoom, scroll);
|
||||
WorldLineRenderer.SetShaderParams(PaletteTexture, Resolution, zoom, scroll);
|
||||
WorldQuadRenderer.SetShaderParams(PaletteTexture, Resolution, zoom, scroll);
|
||||
SpriteRenderer.SetShaderParams(PaletteTexture, Resolution, 1f, float2.Zero);
|
||||
LineRenderer.SetShaderParams(PaletteTexture, Resolution, 1f, float2.Zero);
|
||||
RgbaSpriteRenderer.SetShaderParams(PaletteTexture, Resolution, 1f, float2.Zero);
|
||||
WorldSpriteRenderer.SetViewportParams(Resolution, zoom, scroll);
|
||||
SpriteRenderer.SetViewportParams(Resolution, 1f, float2.Zero);
|
||||
RgbaSpriteRenderer.SetViewportParams(Resolution, 1f, float2.Zero);
|
||||
WorldLineRenderer.SetViewportParams(Resolution, zoom, scroll);
|
||||
WorldQuadRenderer.SetViewportParams(Resolution, zoom, scroll);
|
||||
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)
|
||||
|
||||
@@ -87,9 +87,13 @@ namespace OpenRA.Graphics
|
||||
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);
|
||||
}
|
||||
|
||||
public void SetViewportParams(Size screen, float zoom, float2 scroll)
|
||||
{
|
||||
shader.SetVec("Scroll", (int)scroll.X, (int)scroll.Y);
|
||||
shader.SetVec("r1", zoom*2f/screen.Width, -zoom*2f/screen.Height);
|
||||
shader.SetVec("r2", -1, 1);
|
||||
|
||||
Reference in New Issue
Block a user