- SheetSize is configurable. - TerrainRenderer gets to load it's sprites first, meaning we need one less texture.
This commit is contained in:
@@ -9,6 +9,8 @@ namespace OpenRa.Game.Graphics
|
||||
{
|
||||
class Renderer
|
||||
{
|
||||
internal static int SheetSize;
|
||||
|
||||
readonly GraphicsDevice device;
|
||||
Texture[] palettes;
|
||||
public Shader SpriteShader { get; private set; } /* note: shared shader params */
|
||||
|
||||
@@ -27,11 +27,13 @@ namespace OpenRa.Game.Graphics
|
||||
|
||||
public static void ForceNewSheet()
|
||||
{
|
||||
if( p == Point.Empty )
|
||||
return;
|
||||
current = NewSheet();
|
||||
channel = NextChannel(null);
|
||||
}
|
||||
|
||||
static Sheet NewSheet() { return new Sheet(renderer, new Size(512, 512)); }
|
||||
static Sheet NewSheet() { return new Sheet( renderer, new Size( Renderer.SheetSize, Renderer.SheetSize ) ); }
|
||||
|
||||
static Renderer renderer;
|
||||
static Sheet current = null;
|
||||
|
||||
@@ -20,10 +20,9 @@ namespace OpenRa.Game.Graphics
|
||||
{
|
||||
this.renderer = renderer;
|
||||
this.map = map;
|
||||
overlayRenderer = new OverlayRenderer( renderer, map );
|
||||
|
||||
Size tileSize = new Size( Game.CellSize, Game.CellSize );
|
||||
|
||||
Size tileSize = new Size( Game.CellSize, Game.CellSize );
|
||||
|
||||
SheetBuilder.ForceNewSheet();
|
||||
|
||||
var tileMapping = new Cache<TileReference, Sprite>(
|
||||
@@ -49,7 +48,9 @@ namespace OpenRa.Game.Graphics
|
||||
vertexBuffer.SetData( vertices );
|
||||
|
||||
indexBuffer = new IndexBuffer( renderer.Device, indices.Length );
|
||||
indexBuffer.SetData( indices );
|
||||
indexBuffer.SetData( indices );
|
||||
|
||||
overlayRenderer = new OverlayRenderer( renderer, map );
|
||||
}
|
||||
|
||||
public void Draw( Viewport viewport )
|
||||
|
||||
Reference in New Issue
Block a user