Graphics/TileMap: Fix sprite data corruption with multiple materials

This commit is contained in:
Lynix 2018-08-23 17:46:18 +02:00
parent 2db5273d36
commit b9e36f36e2
2 changed files with 6 additions and 5 deletions

View File

@ -138,7 +138,8 @@ Nazara Engine:
- Added BoxCollider2D::GetRadius
- Added CircleCollider2D::GetOffset
- Added ConvexCollider2D::GetVertices
- Added SegmentCollider2D::GetThickness()
- Added SegmentCollider2D::GetThickness
- Fixed vertices generation/render queue submit when using multiples materials on a Tilemap
Nazara Development Kit:
- Added ImageWidget (#139)

View File

@ -31,7 +31,7 @@ namespace Nz
std::size_t spriteCount = 0;
for (const Layer& layer : m_layers)
{
renderQueue->AddSprites(instanceData.renderOrder, GetMaterial(matCount++), &vertices[spriteCount], layer.tiles.size(), scissorRect);
renderQueue->AddSprites(instanceData.renderOrder, GetMaterial(matCount++), &vertices[4 * spriteCount], layer.tiles.size(), scissorRect);
spriteCount += layer.tiles.size();
}
@ -63,9 +63,9 @@ namespace Nz
spriteCount = 0;
for (const Layer& layer : m_layers)
{
SparsePtr<Color> colorPtr(&vertices[spriteCount].color, sizeof(VertexStruct_XYZ_Color_UV));
SparsePtr<Vector3f> posPtr(&vertices[spriteCount].position, sizeof(VertexStruct_XYZ_Color_UV));
SparsePtr<Vector2f> texCoordPtr(&vertices[spriteCount].uv, sizeof(VertexStruct_XYZ_Color_UV));
SparsePtr<Color> colorPtr(&vertices[4 * spriteCount].color, sizeof(VertexStruct_XYZ_Color_UV));
SparsePtr<Vector3f> posPtr(&vertices[4 * spriteCount].position, sizeof(VertexStruct_XYZ_Color_UV));
SparsePtr<Vector2f> texCoordPtr(&vertices[4 * spriteCount].uv, sizeof(VertexStruct_XYZ_Color_UV));
for (std::size_t tileIndex : layer.tiles)
{