-
Всем привет.
Как лучше всего рисовать карту в 2D-изометрия (пол): - нарисовать всю карту на бипмапе, после преобр. в текстуру, а потом при перемещении менять только координаты вывода текстуры. - или рисовать квадратиками, т.е. каждый ромбик - квадратик (4т.).
Спасибо.
-
1й вариант. Быстрее в N раз, при большом количестве N равно количеству квадратиков.
-
Хм... я тут подумал... вопрос: а как часто эта "карта" будет изменяться? Просто тут палка о двух концах: если карта постоянно из меняется, то эффективно рисовать отдельные прямоугольники. Если их количество не очень велико, то это не так уж и страшно. Да и в любом случае эо быстрее, чем рисовать сначала битмап. Если карта генерится 1 раз за интервал от минуты и более - то лучше все это дело загонять в текстуру.
-
Я бы рисовал квадратиками, т.к. всю карту отрисовывать нет смысла, достаточно рисовать лишь те квадратики, которые полностью или частично попадают в видимую область экрана.
-
> [3] Домик (16.06.07 21:15) > Я бы рисовал квадратиками, т.к. всю карту отрисовывать нет > смысла, достаточно рисовать лишь те квадратики, которые > полностью или частично попадают в видимую область экрана.
Ну если карта (интересующая часть) относительно статична, то какая разница, вся она на экране или нет, если рисовать один полигон? Ну а текстурка на 15-20МБ - ничего страшного, если она одна. :)
-
> Ну если карта (интересующая часть) относительно статична,
Что в твоем понимании статична? :) На карте всегда присутствуют анимированные объекты, деревья, трава или механизмы... Наверняка будут и такие объекты, с которыми можно взаимодействовать. Хотя если в текстуру рендерить только те квадратики, которые попадают в кадр, а потом эту текстуру тянуть на полигон, то особой разницы не вижу. Разве что я бы так не стал так делать, потому что на рендер текстуры так же нужно время. Но автор не указывает то, в чем он это собирается реализовывать подобную систему, потому подобные рассуждения уже бессмысленны.
А если в текстуру рендерить целиком всю карту (и не попадающие в кадр квадраты тоже), то это будет, в любом случае тормозить.
-
а объекты (дерево, человек) явл. частью карты или выводятся отдельно, после?
-
--- На карте всегда присутствуют анимированные объекты
имелось ввиду, что вся карта - текстура земли (трава, грязь, почва), она как бы неизменна, хотя и трава может шевелиться.
-
а ромбический спpайт в Direct8 есть, как исп.?
-
вопрос, хочу сделать в изометрии рельеф, как?
-
> а объекты (дерево, человек) явл. частью карты или выводятся отдельно, после?
Нет, обычно это отдельные объекты, хотя в разных играх карты могут преставлятся по разному. Если РПГ, значит там должны быть НПС, монстры или еще что-то, а они как правило расставляются непосредственно в редакторе карт.
> а ромбический спpайт в Direct8 есть, как исп.?
Я если честно не знаю т.к. с Direct8 не работал. Но думаю, что такого нет. В свое время изометрию реализовывал через обычные спрайты, натягивая на них текстуру с альфа каналом в форме ромба для земли, а для стен в форме вытянутого ромба.
> вопрос, хочу сделать в изометрии рельеф, как?
Точно так же как и не в изометрии, только спрайты немного в другой последовательности выводить.
|