Silver Shark

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Silver Shark » Разработка » Алгоритм отрисовки


Алгоритм отрисовки

Сообщений 1 страница 7 из 7

1

Необходим алгоритм отрисовки мира. Пока хотя бы просто травы. Идеи?

0

2

Собирать из тайлов? Возможно? (я про траву)

0

3

Ну да) Это довольно логично) Я имел ввиду чуть ближе к телу, в каком виде хранить "карту", рисовать прямые квадраты и потом "поворачивать" или сразу просчитывать уже повернутые и тд и тп.

0

4

Карта - двумерный массив с описанием тайлов, нэ?

0

5

Я это тебе сегодня утром говорил...)) Давай тогда по другому вопрос поставим: вот у тебя есть массив с картой, что нужно сделать, чтобы игрок увидел картинку? Что нарисовать? Сколько нарисовать? Куда повернуть?

Собственно мой грубый набросок:

Верхний класс - это Scene (Сцена). Сцена состоит из кучи (массива или листа) слоев (Layer). Есть методы Нарисовать, Отчистить, добавить слой, удалить слой и тп.

Есть класс Layer(слой) с которым идет работа (из-за целой кучи причин, на прямую с квадратами OpenGl не работаем).
Класс Layer - это инкапсулированный массив квадратов(тайлов) которые видимы в данный момент (находятся в обзоре "камеры"). Как сказал ранее - мы к этим квадратам доступа на прямую не имеем.

Слой определяется "куском карты"

Итак, пример работы:

1. Создается сцена (то что видит игрок в данную секунду).
2. Создается слой допустим ландшафт.
3. Ландшафту в конструктор идет массим допустим 20х20 (размер видимой зоны, совпадает с размером сцены).
4. Добавляем ландшафт к сцене.
5. У сцены вызываем метод Нарисовать и собственно рисуется все.

Вникаем, додумываем, дополняем.

0

6

Чуть-чуть переделал.

Вершина иерархии - класс Локация(Location). Это набор тайлов с методами для отрисовки и прочего.
Состоит из слоев(Layer). Например, ландшафт, неподвижные объекты, и тд. Слой добавляется к локации и отрисовывается ее методами.

Вся локация загружается и отрисовывается сразу, камера просто "елозит" по ее поверхности вслед за персонажем.

0

7

Залил на СВН каркас будущей графической модели. Так же запилил в проект поддержку Юникода. Предлагаю заняться реализацией предложенного мной контракта.

0


Вы здесь » Silver Shark » Разработка » Алгоритм отрисовки