Я пытаюсь создать бесшовный 2D-рендеринга tilemap в C++. Цель состоит в том, чтобы практически не загружать экраны, поскольку игрок переходит с каждой карты на другую.Бесшовные Tilemap Rendering C++
Например: Каждый квадрат на картинке выше, это зона/плитка; красный квадрат - видимая камера. В этом примере каждая зона 256х256 и хранится внутри std::vector<std::vector<int> >
- позволяет также сказать, камера имеет видимую область 60х60 (от 32x32 плитки)
Мои вопросы в настоящее время являются, как решить:
- Какие плитки для отображения из каждой данной зоны.
- Как рассчитать смещение, чтобы нарисовать плитки.
Слегка связаны, если кто-то заинтересован в создании этой технологии я более чем готов заплатить за это :)
Я инженер-программист по профессии, однако графика вряд ли мой конек. Конечной целью является разработка старой школьной RPG с использованием OpenGL 3.2 с поддержкой шейдеров.
Спасибо всем!
Сделайте это в стиле minecraft - куски «нагрузки», когда игрок достаточно близко к ним. «разгрузите» их, когда он окажется достаточно далеко, и сделайте все загруженные куски. Тогда пользователь никогда не увидит пробел, а не карту ^^ – Patashu
В чем именно ваш вопрос? – Xymostech
Интересная мысль Паташу, однако меня действительно смущает, как отобразить все данные зоны. Допустим, у вас есть четыре std :: vector> - каждый имеет 256x256 плит. Вы знаете, какие зоны связаны друг с другом, однако решают, какие данные должны быть представлены, и где я, к сожалению, смущен. –