ПрограммированиеФорум2D графика и изометрия

2d спрайты на 3д фоне с картой глубины. КАК? (2 стр)

Страницы: 1 2
#15
16:00, 9 янв 2013

Хороша идея.

- А банальное рисование отдельными спрайтами сверху вниз уже не? Да, будут перерисовки, но в наш век это не так страшно.
(Конечно, такой подход зависит от угла наклона камеры при изометрии, но для того угла, что вы нарисовали подходит идеально.)

- Если все же страшно иметь перерисовки, то тогда рисуем снизу вверх, но хитрее, обрезая те части которые собираются перекрыть уже нарисованные.

- Ну и наконец-то. Можно строить карту глубины или как ее еще называют буфер глубины, работать оно может по разному, самый простой вариант, это берешь обыкновенную текстуру и пишешь вместо пиксела "Z координату на самой ближней плоскости объекта для этого пиксела в проекции", или еще можно сказать "Z координату ближайшего текселя", построив такую карту начинаем рисовать подглядывая в нее, проходя по каждому пикселю карты глубины, ищем тексель с нужной нам Z координатой и смело его рисуем уже в буффер отображения. В любом случае такой подход имеет смысл только при наличии Z-координаты, для изометрии он излишен, так как вам придется строить карту глубины вручную, "шаманить" с растояниями до камеры на рисованном заднике, а такая мануфактура убивает все принципы автоматизации и программирования.

#16
17:59, 9 янв 2013

duitymule
>прилагается карта глубины.

Карта глубины нужна чтобы смотреть глубину пикселя а тебе это не надо так что выкинь эту карту и не парь людям мозг
Тебе не нужна эта карта да и никто ее не использует чтоб посмотреть очередь вывода спрайтов.


> Нужно на этот уровень рассовывать спрайты в каждом кадре, и так чтобы они в
> правильном порядке отображались перед\за объектами на фоне.

я не работал с java но то что тебе нужно называется обычно Z-buffer
это когда тебе нужно указать Z-order к каждому спрайту а программа сама выведет в нужном порядке если я не ошибаюсь то программа производит сортировку.
А можно самому следить за этим порядком и это будет работать быстрей.
То есть рендериш background ->землю -> дома->персонажа и прочее

Use Z-buffer only if you need to, because this affects performance.
Думаю тебе нужно самому в правильном порядке выводить все.

только если я правильно понял насчет фона

#17
21:27, 9 янв 2013

ilyuschenka
> по поводу попиксельной обработки все таки придется согласится , а вот что насчет карт глубин
Ну или я тупой, или ты, уж извини.
Как же ты сделаешь тот бред, что в моём посте был, без карты глубины? Именно там и хранится глубина каждого пикселя. А иначе что с чем сравнивать будем. Отсюда ещё недостаток - трудоёмкость - каждый раз, меняя фон, нам нужно менять карту глубины.

Страницы: 1 2
ПрограммированиеФорум2D графика и изометрия

Тема в архиве.