Форум: "Игры";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
ВнизHeights Найти похожие ветки
← →
Nobody_1988 (2006-11-07 21:47) [0]Делаю карту как в Warcraft3( по виду ). Из прямоугольников.
for x := 0 to mWidth do
begin
for y := 0 to mHeight do
begin
glBindTexture(2D, t_name);
glBegin(GL_QUADS);
glVertex2f(); glVertex3f(x*32, y*32, z);
glVertex2f(); glVertex3f(x*32+32, y*32, z);
glVertex2f(); glVertex3f(x*32+32, y*32+32, z);
glVertex2f(); glVertex3f(x*32, y*32+32, z);
glEnd();
end;
end;
Это будет вид сверху. Проблема в том, что я не знаю как лучше представить высоту(+- z).
Не хочется на каждый прямоугольник карты хранить 4 координаты Z(высоты) да и излишне это.
Как-нибудь бы на каждую уникальную точку карты хранить одну координату. Проблема в том как эти вершины потом доставать из массива. Уверен есть какой-нибудь простой способ...
← →
XProger © (2006-11-07 22:16) [1]Nobody_1988, есть массив вершин и массив индексов вершин по которым строятся полигоны...
Почему излишне? Какого размера карта? Сколько мб памяти уйдёт на третью координату для каждой вершины?
← →
Nobody_1988 (2006-11-07 23:07) [2]
> glVertex2f(); glVertex3f(x*32, y*32, z);
> glVertex2f(); glVertex3f(x*32+32, y*32, z);
> glVertex2f(); glVertex3f(x*32+32, y*32+32, z);
> glVertex2f(); glVertex3f(x*32, y*32+32, z);
Блин ошибся кое-где :)
glTexCoord2f(); glVertex3f(x*32, y*32, z);
Ну это не важно.
> Nobody_1988, есть массив вершин и массив индексов вершин
> по которым строятся полигоны...
> Почему излишне? Какого размера карта? Сколько мб памяти
> уйдёт на третью координату для каждой вершины?
Да карта та небольшая и никакие МБ не уйдут.
Просто неудобно потом исправлять в редакторе будет.
Допустим захочу поднять один прямоугольник(А) в центре карты: придется исправлять высоту каждого прямоугольника вокруг этого(А).
Хочу чтоб они(прямоугольники) взаимосвязаны были...
Может я мутно проблему описал? :)
← →
XProger © (2006-11-08 01:33) [3]Nobody_1988, поднимаешь вершину, а полигоны строятся по индексам вершин. Так что все полигоны построенные на этой вершине "поднимутся"
← →
@!!!ex (2006-11-08 16:48) [4]Ну так использую при постройке карты значение соседней высоты.
тоесть имеем карту:
1 2 3
4 5 6
7 8 9
Для отрисовки первого квадрата используем:
|1 2| 3
|4 5| 6
7 8 9
Для отрисовки второго:
1 |2 3|
4 |5 6|
7 8 9
И так далее.
Тут можно исользовать индексы.
Или если без массивов QUAD_STRIP
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.055 c