Add WorldRgbaSpriteRenderer.
This commit is contained in:
@@ -28,6 +28,7 @@ namespace OpenRA.Graphics
|
|||||||
internal static int TempBufferCount;
|
internal static int TempBufferCount;
|
||||||
|
|
||||||
public SpriteRenderer WorldSpriteRenderer { get; private set; }
|
public SpriteRenderer WorldSpriteRenderer { get; private set; }
|
||||||
|
public SpriteRenderer WorldRgbaSpriteRenderer { get; private set; }
|
||||||
public QuadRenderer WorldQuadRenderer { get; private set; }
|
public QuadRenderer WorldQuadRenderer { get; private set; }
|
||||||
public LineRenderer WorldLineRenderer { get; private set; }
|
public LineRenderer WorldLineRenderer { get; private set; }
|
||||||
public VoxelRenderer WorldVoxelRenderer { get; private set; }
|
public VoxelRenderer WorldVoxelRenderer { get; private set; }
|
||||||
@@ -46,6 +47,7 @@ namespace OpenRA.Graphics
|
|||||||
SheetSize = Game.Settings.Graphics.SheetSize;
|
SheetSize = Game.Settings.Graphics.SheetSize;
|
||||||
|
|
||||||
WorldSpriteRenderer = new SpriteRenderer(this, device.CreateShader("shp"));
|
WorldSpriteRenderer = new SpriteRenderer(this, device.CreateShader("shp"));
|
||||||
|
WorldRgbaSpriteRenderer = new SpriteRenderer(this, device.CreateShader("rgba"));
|
||||||
WorldLineRenderer = new LineRenderer(this, device.CreateShader("line"));
|
WorldLineRenderer = new LineRenderer(this, device.CreateShader("line"));
|
||||||
WorldVoxelRenderer = new VoxelRenderer(this, device.CreateShader("vxl"), device.CreateShader("vxlshadow"));
|
WorldVoxelRenderer = new VoxelRenderer(this, device.CreateShader("vxl"), device.CreateShader("vxlshadow"));
|
||||||
LineRenderer = new LineRenderer(this, device.CreateShader("line"));
|
LineRenderer = new LineRenderer(this, device.CreateShader("line"));
|
||||||
@@ -68,6 +70,7 @@ namespace OpenRA.Graphics
|
|||||||
{
|
{
|
||||||
device.Clear();
|
device.Clear();
|
||||||
WorldSpriteRenderer.SetViewportParams(Resolution, zoom, scroll);
|
WorldSpriteRenderer.SetViewportParams(Resolution, zoom, scroll);
|
||||||
|
WorldRgbaSpriteRenderer.SetViewportParams(Resolution, zoom, scroll);
|
||||||
SpriteRenderer.SetViewportParams(Resolution, 1f, float2.Zero);
|
SpriteRenderer.SetViewportParams(Resolution, 1f, float2.Zero);
|
||||||
RgbaSpriteRenderer.SetViewportParams(Resolution, 1f, float2.Zero);
|
RgbaSpriteRenderer.SetViewportParams(Resolution, 1f, float2.Zero);
|
||||||
WorldLineRenderer.SetViewportParams(Resolution, zoom, scroll);
|
WorldLineRenderer.SetViewportParams(Resolution, zoom, scroll);
|
||||||
@@ -88,6 +91,7 @@ namespace OpenRA.Graphics
|
|||||||
RgbaSpriteRenderer.SetPalette(currentPaletteTexture);
|
RgbaSpriteRenderer.SetPalette(currentPaletteTexture);
|
||||||
SpriteRenderer.SetPalette(currentPaletteTexture);
|
SpriteRenderer.SetPalette(currentPaletteTexture);
|
||||||
WorldSpriteRenderer.SetPalette(currentPaletteTexture);
|
WorldSpriteRenderer.SetPalette(currentPaletteTexture);
|
||||||
|
WorldRgbaSpriteRenderer.SetPalette(currentPaletteTexture);
|
||||||
WorldVoxelRenderer.SetPalette(currentPaletteTexture);
|
WorldVoxelRenderer.SetPalette(currentPaletteTexture);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
// Author: C. Forbes
|
// Author: C. Forbes
|
||||||
//--------------------------------------------------------
|
//--------------------------------------------------------
|
||||||
|
|
||||||
|
float2 Scroll;
|
||||||
float2 r1, r2; // matrix elements
|
float2 r1, r2; // matrix elements
|
||||||
|
|
||||||
sampler2D DiffuseTexture = sampler_state {
|
sampler2D DiffuseTexture = sampler_state {
|
||||||
@@ -25,7 +26,7 @@ struct FragmentIn {
|
|||||||
|
|
||||||
VertexOut Simple_vp(VertexIn v) {
|
VertexOut Simple_vp(VertexIn v) {
|
||||||
VertexOut o;
|
VertexOut o;
|
||||||
float2 p = v.Position.xy * r1 + r2;
|
float2 p = (v.Position.xy - Scroll.xy) * r1 + r2;
|
||||||
o.Position = float4(p.x,p.y,0,1);
|
o.Position = float4(p.x,p.y,0,1);
|
||||||
o.Tex0 = v.Tex0.xy;
|
o.Tex0 = v.Tex0.xy;
|
||||||
return o;
|
return o;
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
uniform vec2 r1;
|
uniform vec2 Scroll;
|
||||||
uniform vec2 r2; // matrix elements
|
uniform vec2 r1, r2;
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
vec2 p = gl_Vertex.xy*r1 + r2;
|
vec2 p = (gl_Vertex.xy - Scroll.xy)*r1 + r2;
|
||||||
gl_Position = vec4(p.x,p.y,0,1);
|
gl_Position = vec4(p.x,p.y,0,1);
|
||||||
gl_TexCoord[0] = gl_MultiTexCoord0;
|
gl_TexCoord[0] = gl_MultiTexCoord0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user