unbug prev, and remove misleading code that no longer works

This commit is contained in:
Bob
2010-04-11 22:44:39 +12:00
parent 0f98df9a88
commit 96af8b037a
4 changed files with 6 additions and 11 deletions

View File

@@ -52,7 +52,7 @@ namespace OpenRA.Graphics
vertexBuffer.SetData( vertices ); vertexBuffer.SetData( vertices );
indexBuffer.SetData( indices ); indexBuffer.SetData( indices );
renderer.DrawBatch( vertexBuffer, indexBuffer, renderer.DrawBatch( vertexBuffer, indexBuffer,
nv, ni / 2, null, PrimitiveType.LineList ); nv, ni / 2, PrimitiveType.LineList );
} ); } );
nv = 0; ni = 0; nv = 0; ni = 0;

View File

@@ -110,12 +110,9 @@ namespace OpenRA.Graphics
} }
public void DrawBatch<T>(IVertexBuffer<T> vertices, IIndexBuffer indices, public void DrawBatch<T>(IVertexBuffer<T> vertices, IIndexBuffer indices,
Range<int> vertexRange, Range<int> indexRange, ITexture texture, PrimitiveType type, IShader shader) Range<int> vertexRange, Range<int> indexRange, PrimitiveType type, IShader shader)
where T : struct where T : struct
{ {
shader.SetValue("DiffuseTexture", texture);
shader.Commit();
vertices.Bind(); vertices.Bind();
indices.Bind(); indices.Bind();
@@ -125,12 +122,9 @@ namespace OpenRA.Graphics
} }
public void DrawBatch<T>(IVertexBuffer<T> vertices, IIndexBuffer indices, public void DrawBatch<T>(IVertexBuffer<T> vertices, IIndexBuffer indices,
int vertexPool, int numPrimitives, ITexture texture, PrimitiveType type) int vertexPool, int numPrimitives, PrimitiveType type)
where T : struct where T : struct
{ {
SpriteShader.SetValue("DiffuseTexture", texture);
SpriteShader.Commit();
vertices.Bind(); vertices.Bind();
indices.Bind(); indices.Bind();

View File

@@ -61,7 +61,7 @@ namespace OpenRA.Graphics
renderer.DrawBatch(vertexBuffer, indexBuffer, renderer.DrawBatch(vertexBuffer, indexBuffer,
new Range<int>(0, nv), new Range<int>(0, nv),
new Range<int>(0, ni), new Range<int>(0, ni),
currentSheet.Texture, PrimitiveType.TriangleList, PrimitiveType.TriangleList,
shader); shader);
}); });

View File

@@ -100,11 +100,12 @@ namespace OpenRA.Graphics
if( lastRow < firstRow ) lastRow = firstRow; if( lastRow < firstRow ) lastRow = firstRow;
renderer.SpriteShader.SetValue( "DiffuseTexture", terrainSheet.Texture );
renderer.SpriteShader.Render(() => renderer.SpriteShader.Render(() =>
renderer.DrawBatch(vertexBuffer, indexBuffer, renderer.DrawBatch(vertexBuffer, indexBuffer,
new Range<int>(verticesPerRow * firstRow, verticesPerRow * lastRow), new Range<int>(verticesPerRow * firstRow, verticesPerRow * lastRow),
new Range<int>(indicesPerRow * firstRow, indicesPerRow * lastRow), new Range<int>(indicesPerRow * firstRow, indicesPerRow * lastRow),
terrainSheet.Texture, PrimitiveType.TriangleList, renderer.SpriteShader)); PrimitiveType.TriangleList, renderer.SpriteShader));
foreach (var r in Game.world.WorldActor.traits.WithInterface<IRenderOverlay>()) foreach (var r in Game.world.WorldActor.traits.WithInterface<IRenderOverlay>())
r.Render(); r.Render();