Rename VoxelRenderer to ModelRenderer.
This commit is contained in:
@@ -633,9 +633,9 @@ namespace OpenRA
|
|||||||
|
|
||||||
using (new PerfSample("render_widgets"))
|
using (new PerfSample("render_widgets"))
|
||||||
{
|
{
|
||||||
Renderer.WorldVoxelRenderer.BeginFrame();
|
Renderer.WorldModelRenderer.BeginFrame();
|
||||||
Ui.PrepareRenderables();
|
Ui.PrepareRenderables();
|
||||||
Renderer.WorldVoxelRenderer.EndFrame();
|
Renderer.WorldModelRenderer.EndFrame();
|
||||||
|
|
||||||
Ui.Draw();
|
Ui.Draw();
|
||||||
|
|
||||||
|
|||||||
@@ -17,14 +17,14 @@ using OpenRA.Primitives;
|
|||||||
|
|
||||||
namespace OpenRA.Graphics
|
namespace OpenRA.Graphics
|
||||||
{
|
{
|
||||||
public class VoxelRenderProxy
|
public class ModelRenderProxy
|
||||||
{
|
{
|
||||||
public readonly Sprite Sprite;
|
public readonly Sprite Sprite;
|
||||||
public readonly Sprite ShadowSprite;
|
public readonly Sprite ShadowSprite;
|
||||||
public readonly float ShadowDirection;
|
public readonly float ShadowDirection;
|
||||||
public readonly float3[] ProjectedShadowBounds;
|
public readonly float3[] ProjectedShadowBounds;
|
||||||
|
|
||||||
public VoxelRenderProxy(Sprite sprite, Sprite shadowSprite, float3[] projectedShadowBounds, float shadowDirection)
|
public ModelRenderProxy(Sprite sprite, Sprite shadowSprite, float3[] projectedShadowBounds, float shadowDirection)
|
||||||
{
|
{
|
||||||
Sprite = sprite;
|
Sprite = sprite;
|
||||||
ShadowSprite = shadowSprite;
|
ShadowSprite = shadowSprite;
|
||||||
@@ -33,7 +33,7 @@ namespace OpenRA.Graphics
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public sealed class VoxelRenderer : IDisposable
|
public sealed class ModelRenderer : IDisposable
|
||||||
{
|
{
|
||||||
// Static constants
|
// Static constants
|
||||||
static readonly float[] ShadowDiffuse = new float[] { 0, 0, 0 };
|
static readonly float[] ShadowDiffuse = new float[] { 0, 0, 0 };
|
||||||
@@ -53,7 +53,7 @@ namespace OpenRA.Graphics
|
|||||||
|
|
||||||
SheetBuilder sheetBuilder;
|
SheetBuilder sheetBuilder;
|
||||||
|
|
||||||
public VoxelRenderer(Renderer renderer, IShader shader)
|
public ModelRenderer(Renderer renderer, IShader shader)
|
||||||
{
|
{
|
||||||
this.renderer = renderer;
|
this.renderer = renderer;
|
||||||
this.shader = shader;
|
this.shader = shader;
|
||||||
@@ -78,7 +78,7 @@ namespace OpenRA.Graphics
|
|||||||
shader.SetMatrix("View", view);
|
shader.SetMatrix("View", view);
|
||||||
}
|
}
|
||||||
|
|
||||||
public VoxelRenderProxy RenderAsync(
|
public ModelRenderProxy RenderAsync(
|
||||||
WorldRenderer wr, IEnumerable<ModelAnimation> voxels, WRot camera, float scale,
|
WorldRenderer wr, IEnumerable<ModelAnimation> voxels, WRot camera, float scale,
|
||||||
float[] groundNormal, WRot lightSource, float[] lightAmbientColor, float[] lightDiffuseColor,
|
float[] groundNormal, WRot lightSource, float[] lightAmbientColor, float[] lightDiffuseColor,
|
||||||
PaletteReference color, PaletteReference normals, PaletteReference shadowPalette)
|
PaletteReference color, PaletteReference normals, PaletteReference shadowPalette)
|
||||||
@@ -221,7 +221,7 @@ namespace OpenRA.Graphics
|
|||||||
|
|
||||||
var screenLightVector = Util.MatrixVectorMultiply(invShadowTransform, ZVector);
|
var screenLightVector = Util.MatrixVectorMultiply(invShadowTransform, ZVector);
|
||||||
screenLightVector = Util.MatrixVectorMultiply(cameraTransform, screenLightVector);
|
screenLightVector = Util.MatrixVectorMultiply(cameraTransform, screenLightVector);
|
||||||
return new VoxelRenderProxy(sprite, shadowSprite, screenCorners, -screenLightVector[2] / screenLightVector[1]);
|
return new ModelRenderProxy(sprite, shadowSprite, screenCorners, -screenLightVector[2] / screenLightVector[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CalculateSpriteGeometry(float2 tl, float2 br, float scale, out Size size, out int2 offset)
|
static void CalculateSpriteGeometry(float2 tl, float2 br, float scale, out Size size, out int2 offset)
|
||||||
@@ -113,9 +113,9 @@ namespace OpenRA.Graphics
|
|||||||
worldRenderables = worldRenderables.Concat(World.Effects.SelectMany(e => e.Render(this)));
|
worldRenderables = worldRenderables.Concat(World.Effects.SelectMany(e => e.Render(this)));
|
||||||
worldRenderables = worldRenderables.OrderBy(RenderableScreenZPositionComparisonKey);
|
worldRenderables = worldRenderables.OrderBy(RenderableScreenZPositionComparisonKey);
|
||||||
|
|
||||||
Game.Renderer.WorldVoxelRenderer.BeginFrame();
|
Game.Renderer.WorldModelRenderer.BeginFrame();
|
||||||
var renderables = worldRenderables.Select(r => r.PrepareRender(this)).ToList();
|
var renderables = worldRenderables.Select(r => r.PrepareRender(this)).ToList();
|
||||||
Game.Renderer.WorldVoxelRenderer.EndFrame();
|
Game.Renderer.WorldModelRenderer.EndFrame();
|
||||||
|
|
||||||
return renderables;
|
return renderables;
|
||||||
}
|
}
|
||||||
@@ -182,14 +182,14 @@ namespace OpenRA.Graphics
|
|||||||
if (World.OrderGenerator != null)
|
if (World.OrderGenerator != null)
|
||||||
aboveShroudOrderGenerator = World.OrderGenerator.RenderAboveShroud(this, World);
|
aboveShroudOrderGenerator = World.OrderGenerator.RenderAboveShroud(this, World);
|
||||||
|
|
||||||
Game.Renderer.WorldVoxelRenderer.BeginFrame();
|
Game.Renderer.WorldModelRenderer.BeginFrame();
|
||||||
var finalOverlayRenderables = aboveShroud
|
var finalOverlayRenderables = aboveShroud
|
||||||
.Concat(aboveShroudSelected)
|
.Concat(aboveShroudSelected)
|
||||||
.Concat(aboveShroudEffects)
|
.Concat(aboveShroudEffects)
|
||||||
.Concat(aboveShroudOrderGenerator)
|
.Concat(aboveShroudOrderGenerator)
|
||||||
.Select(r => r.PrepareRender(this))
|
.Select(r => r.PrepareRender(this))
|
||||||
.ToList();
|
.ToList();
|
||||||
Game.Renderer.WorldVoxelRenderer.EndFrame();
|
Game.Renderer.WorldModelRenderer.EndFrame();
|
||||||
|
|
||||||
// HACK: Keep old grouping behaviour
|
// HACK: Keep old grouping behaviour
|
||||||
foreach (var g in finalOverlayRenderables.GroupBy(prs => prs.GetType()))
|
foreach (var g in finalOverlayRenderables.GroupBy(prs => prs.GetType()))
|
||||||
|
|||||||
@@ -196,7 +196,7 @@
|
|||||||
<Compile Include="Network\UPnP.cs" />
|
<Compile Include="Network\UPnP.cs" />
|
||||||
<Compile Include="Graphics\Renderable.cs" />
|
<Compile Include="Graphics\Renderable.cs" />
|
||||||
<Compile Include="Graphics\Voxel.cs" />
|
<Compile Include="Graphics\Voxel.cs" />
|
||||||
<Compile Include="Graphics\VoxelRenderer.cs" />
|
<Compile Include="Graphics\ModelRenderer.cs" />
|
||||||
<Compile Include="Graphics\VoxelLoader.cs" />
|
<Compile Include="Graphics\VoxelLoader.cs" />
|
||||||
<Compile Include="Graphics\VoxelProvider.cs" />
|
<Compile Include="Graphics\VoxelProvider.cs" />
|
||||||
<Compile Include="Graphics\ModelAnimation.cs" />
|
<Compile Include="Graphics\ModelAnimation.cs" />
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ namespace OpenRA
|
|||||||
public SpriteRenderer WorldSpriteRenderer { get; private set; }
|
public SpriteRenderer WorldSpriteRenderer { get; private set; }
|
||||||
public SpriteRenderer WorldRgbaSpriteRenderer { get; private set; }
|
public SpriteRenderer WorldRgbaSpriteRenderer { get; private set; }
|
||||||
public RgbaColorRenderer WorldRgbaColorRenderer { get; private set; }
|
public RgbaColorRenderer WorldRgbaColorRenderer { get; private set; }
|
||||||
public VoxelRenderer WorldVoxelRenderer { get; private set; }
|
public ModelRenderer WorldModelRenderer { get; private set; }
|
||||||
public RgbaColorRenderer RgbaColorRenderer { get; private set; }
|
public RgbaColorRenderer RgbaColorRenderer { get; private set; }
|
||||||
public SpriteRenderer RgbaSpriteRenderer { get; private set; }
|
public SpriteRenderer RgbaSpriteRenderer { get; private set; }
|
||||||
public SpriteRenderer SpriteRenderer { get; private set; }
|
public SpriteRenderer SpriteRenderer { get; private set; }
|
||||||
@@ -59,7 +59,7 @@ namespace OpenRA
|
|||||||
WorldSpriteRenderer = new SpriteRenderer(this, Device.CreateShader("shp"));
|
WorldSpriteRenderer = new SpriteRenderer(this, Device.CreateShader("shp"));
|
||||||
WorldRgbaSpriteRenderer = new SpriteRenderer(this, Device.CreateShader("rgba"));
|
WorldRgbaSpriteRenderer = new SpriteRenderer(this, Device.CreateShader("rgba"));
|
||||||
WorldRgbaColorRenderer = new RgbaColorRenderer(this, Device.CreateShader("color"));
|
WorldRgbaColorRenderer = new RgbaColorRenderer(this, Device.CreateShader("color"));
|
||||||
WorldVoxelRenderer = new VoxelRenderer(this, Device.CreateShader("vxl"));
|
WorldModelRenderer = new ModelRenderer(this, Device.CreateShader("model"));
|
||||||
RgbaColorRenderer = new RgbaColorRenderer(this, Device.CreateShader("color"));
|
RgbaColorRenderer = new RgbaColorRenderer(this, Device.CreateShader("color"));
|
||||||
RgbaSpriteRenderer = new SpriteRenderer(this, Device.CreateShader("rgba"));
|
RgbaSpriteRenderer = new SpriteRenderer(this, Device.CreateShader("rgba"));
|
||||||
SpriteRenderer = new SpriteRenderer(this, Device.CreateShader("shp"));
|
SpriteRenderer = new SpriteRenderer(this, Device.CreateShader("shp"));
|
||||||
@@ -136,7 +136,7 @@ namespace OpenRA
|
|||||||
lastZoom = zoom;
|
lastZoom = zoom;
|
||||||
WorldRgbaSpriteRenderer.SetViewportParams(Resolution, depthScale, depthOffset, zoom, scroll);
|
WorldRgbaSpriteRenderer.SetViewportParams(Resolution, depthScale, depthOffset, zoom, scroll);
|
||||||
WorldSpriteRenderer.SetViewportParams(Resolution, depthScale, depthOffset, zoom, scroll);
|
WorldSpriteRenderer.SetViewportParams(Resolution, depthScale, depthOffset, zoom, scroll);
|
||||||
WorldVoxelRenderer.SetViewportParams(Resolution, zoom, scroll);
|
WorldModelRenderer.SetViewportParams(Resolution, zoom, scroll);
|
||||||
WorldRgbaColorRenderer.SetViewportParams(Resolution, depthScale, depthOffset, zoom, scroll);
|
WorldRgbaColorRenderer.SetViewportParams(Resolution, depthScale, depthOffset, zoom, scroll);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -153,7 +153,7 @@ namespace OpenRA
|
|||||||
SpriteRenderer.SetPalette(currentPaletteTexture);
|
SpriteRenderer.SetPalette(currentPaletteTexture);
|
||||||
WorldSpriteRenderer.SetPalette(currentPaletteTexture);
|
WorldSpriteRenderer.SetPalette(currentPaletteTexture);
|
||||||
WorldRgbaSpriteRenderer.SetPalette(currentPaletteTexture);
|
WorldRgbaSpriteRenderer.SetPalette(currentPaletteTexture);
|
||||||
WorldVoxelRenderer.SetPalette(currentPaletteTexture);
|
WorldModelRenderer.SetPalette(currentPaletteTexture);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void EndFrame(IInputHandler inputHandler)
|
public void EndFrame(IInputHandler inputHandler)
|
||||||
@@ -267,7 +267,7 @@ namespace OpenRA
|
|||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
Device.Dispose();
|
Device.Dispose();
|
||||||
WorldVoxelRenderer.Dispose();
|
WorldModelRenderer.Dispose();
|
||||||
tempBuffer.Dispose();
|
tempBuffer.Dispose();
|
||||||
if (fontSheetBuilder != null)
|
if (fontSheetBuilder != null)
|
||||||
fontSheetBuilder.Dispose();
|
fontSheetBuilder.Dispose();
|
||||||
|
|||||||
@@ -91,14 +91,14 @@ namespace OpenRA.Mods.Common.Graphics
|
|||||||
struct FinalizedVoxelRenderable : IFinalizedRenderable
|
struct FinalizedVoxelRenderable : IFinalizedRenderable
|
||||||
{
|
{
|
||||||
readonly VoxelRenderable voxel;
|
readonly VoxelRenderable voxel;
|
||||||
readonly VoxelRenderProxy renderProxy;
|
readonly ModelRenderProxy renderProxy;
|
||||||
|
|
||||||
public FinalizedVoxelRenderable(WorldRenderer wr, VoxelRenderable voxel)
|
public FinalizedVoxelRenderable(WorldRenderer wr, VoxelRenderable voxel)
|
||||||
{
|
{
|
||||||
this.voxel = voxel;
|
this.voxel = voxel;
|
||||||
var draw = voxel.voxels.Where(v => v.DisableFunc == null || !v.DisableFunc());
|
var draw = voxel.voxels.Where(v => v.DisableFunc == null || !v.DisableFunc());
|
||||||
|
|
||||||
renderProxy = Game.Renderer.WorldVoxelRenderer.RenderAsync(
|
renderProxy = Game.Renderer.WorldModelRenderer.RenderAsync(
|
||||||
wr, draw, voxel.camera, voxel.scale, GroundNormal, voxel.lightSource,
|
wr, draw, voxel.camera, voxel.scale, GroundNormal, voxel.lightSource,
|
||||||
voxel.lightAmbientColor, voxel.lightDiffuseColor,
|
voxel.lightAmbientColor, voxel.lightDiffuseColor,
|
||||||
voxel.palette, voxel.normalsPalette, voxel.shadowPalette);
|
voxel.palette, voxel.normalsPalette, voxel.shadowPalette);
|
||||||
|
|||||||
Reference in New Issue
Block a user