Graphics/TileMap: Add support for isometric tilemaps
Former-commit-id: f89318c22ae2dcdab159f46dcfcbdb778af00ae6 [formerly 9912b85867bbb46cd785af9f3fe3a1dc72180149] [formerly a82344e574762f14805ea6c831a0a314cfe36a20 [formerly c234ec3cebd016381a38cd13f7d411511ae98164]] Former-commit-id: d170f0897b77bf29f984a8ddf9e5b193d63a5e60 [formerly 54a8819656b3c626c1485dbf5ccc8f015ad005f4] Former-commit-id: 0b0bf65c250219c29b27067b315a3735d8fbbd70
This commit is contained in:
@@ -68,7 +68,12 @@ namespace Nz
|
||||
|
||||
std::size_t x = tileIndex % m_mapSize.x;
|
||||
std::size_t y = tileIndex / m_mapSize.x;
|
||||
Vector3f tileLeftCorner(x * m_tileSize.x, y * -m_tileSize.y, 0.f);
|
||||
|
||||
Vector3f tileLeftCorner;
|
||||
if (m_isometricModeEnabled)
|
||||
tileLeftCorner.Set(x * m_tileSize.x + m_tileSize.x/2.f * (y % 2), y/2.f * -m_tileSize.y, 0.f);
|
||||
else
|
||||
tileLeftCorner.Set(x * m_tileSize.x, y * -m_tileSize.y, 0.f);
|
||||
|
||||
*colorPtr++ = tile.color;
|
||||
*posPtr++ = instanceData->transformMatrix.Transform(tileLeftCorner);
|
||||
|
||||
Reference in New Issue
Block a user