Graphics/TileMap: Fix sprite data corruption with multiple materials
This commit is contained in:
parent
2db5273d36
commit
b9e36f36e2
|
|
@ -138,7 +138,8 @@ Nazara Engine:
|
||||||
- Added BoxCollider2D::GetRadius
|
- Added BoxCollider2D::GetRadius
|
||||||
- Added CircleCollider2D::GetOffset
|
- Added CircleCollider2D::GetOffset
|
||||||
- Added ConvexCollider2D::GetVertices
|
- 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:
|
Nazara Development Kit:
|
||||||
- Added ImageWidget (#139)
|
- Added ImageWidget (#139)
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ namespace Nz
|
||||||
std::size_t spriteCount = 0;
|
std::size_t spriteCount = 0;
|
||||||
for (const Layer& layer : m_layers)
|
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();
|
spriteCount += layer.tiles.size();
|
||||||
}
|
}
|
||||||
|
|
@ -63,9 +63,9 @@ namespace Nz
|
||||||
spriteCount = 0;
|
spriteCount = 0;
|
||||||
for (const Layer& layer : m_layers)
|
for (const Layer& layer : m_layers)
|
||||||
{
|
{
|
||||||
SparsePtr<Color> colorPtr(&vertices[spriteCount].color, sizeof(VertexStruct_XYZ_Color_UV));
|
SparsePtr<Color> colorPtr(&vertices[4 * spriteCount].color, sizeof(VertexStruct_XYZ_Color_UV));
|
||||||
SparsePtr<Vector3f> posPtr(&vertices[spriteCount].position, sizeof(VertexStruct_XYZ_Color_UV));
|
SparsePtr<Vector3f> posPtr(&vertices[4 * spriteCount].position, sizeof(VertexStruct_XYZ_Color_UV));
|
||||||
SparsePtr<Vector2f> texCoordPtr(&vertices[spriteCount].uv, sizeof(VertexStruct_XYZ_Color_UV));
|
SparsePtr<Vector2f> texCoordPtr(&vertices[4 * spriteCount].uv, sizeof(VertexStruct_XYZ_Color_UV));
|
||||||
|
|
||||||
for (std::size_t tileIndex : layer.tiles)
|
for (std::size_t tileIndex : layer.tiles)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue