Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.11;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
2-1192770109
031178
2007-10-19 09:01
2007.11.11
TTreeView


11-1161959233
thaddy
2006-10-27 18:27
2007.11.11
website


2-1192605907
l_v
2007-10-17 11:25
2007.11.11
передача по сети массивов


11-1176647718
Vladimir Kladov
2007-04-15 18:35
2007.11.11
Версия 2.58


11-1176185434
Dy1
2007-04-10 10:10
2007.11.11
не работает сохранение в jpeg