Функция vRender() занимается отображением блочной карты. В ней я в цикле перебираю блоки карты и отображаю текстуры, соответствующие номерам блоков. Вот код цикла визуализации:
// Сверху вниз
for(iY = 0; iY < g_iTilesHigh; iY++) {
// Справа налево
for(iX = 0; iX < g_iTilesWide; iX++) {
// Вычисляем смещение в буфере
iBufferPos = iX + g_iXPos + ((iY + g_iYPos) * g_iMapWidth);
// Получаем требуемый блок
iCurTile = g_iTileMap[iBufferPos];
// отображаем блок
vDrawInterfaceObject((iX * g_iTileSize),
(iY * g_iTileSize),
(float)g_iTileSize,
(float)g_iTileSize,
iCurTile);
}
}
В функции визуализации присутствуют два цикла. Первый цикл осуществляет перебор блоков вдоль оси Y. Внутренний цикл перебирает блоки вдоль оси X. Таким образом я отображаю все необходимые блоки.