Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

VertexArray и с чем его едят? [Delphi, Windows]


Zak3D[@Tm] ©   (2005-03-10 16:44:00) 

VertexArray - я слышал, что с помощью него можно без особых потерь выводить большие числа объектов. Может кто работал с этим и поможет?...
Меня в частности интересует 2Д и OpenGL.


XProger   (2005-03-15 02:10:00) [1]

мозя :)
199965550


Zak3D[@Tm]   (2005-03-14 10:00:00) [2]

XProger
С тобой можно как-небудь в аське связаться?


XProger   (2005-03-13 00:26:00) [3]

По поводу моего P.S. в действительности ты же не будешь в 2д игре делать модели из 3000 полигонов? Достаточно двух с текстуркой :)
Вот это я и имел ввиду...


Zak3D[@Tm]   (2005-03-12 21:28:00) [4]

OpenGL15.pas нашёл, буду пробовать с ним...


Zeqfreed   (2005-03-12 21:03:00) [5]

XProger ©   (12.03.05 20:55) [9]
Это относилось к разделу p.s. твоего поста [6]
Из твоих слов получается, что мир в 2д строится в основном из линий/точек/сплайнов, т.к. других примитивов, afaik, в стандартных граф. библиотеках не существует.


XProger   (2005-03-12 20:55:00) [6]

Я же сказал хидеры OpenGL15.pas скачай и будет тебе счастье...
А суть "Неужели из точек и линий? А может быть даже сплайнов..." я так и не понял...


Zak3D[@Tm]   (2005-03-12 17:15:00) [7]

XProger
Для того, что бы использовать эти команды я должен добавить описание прототипов эитих процедур, и тут возникает вопрос, как мне описать glDrawElements ?
И ещё Делфя говорит, что не знает GL_TEXTURE_COORD_ARRAY , а знает только :
GL_TEXTURE_COORD_ARRAY_EXT
GL_TEXTURE_COORD_ARRAY_SIZE_EXT
GL_TEXTURE_COORD_ARRAY_TYPE_EXT
GL_TEXTURE_COORD_ARRAY_STRIDE_EXT
GL_TEXTURE_COORD_ARRAY_COUNT_EXT
GL_TEXTURE_COORD_ARRAY_POINTER_EXT
-----------------------------------
Что делать?


Zeqfreed   (2005-03-12 16:33:00) [8]

XProger ©   (12.03.05 4:26) [6]
Неужели из точек и линий? А может быть даже сплайнов...


XProger   (2005-03-12 04:26:00) [9]

"1.5 миллионов объектов"
не объектов, а плигонов :)
Вот код с текстуркой:

type
TVector2D = record
 X, Y : single;
end;

TVector = record
 X, Y, Z : single;
end;

TPolyIdx = record
 v : array [0..2] of WORD;
end;

var
Vertex : array of TVector;
Poly   : array of TPolyIdx;
Normal : array of TVector;
TexCoord : array of TVector2D;
...
// биндим тектуру
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);

glVertexPointer(3, GL_FLOAT, 0, @Vertex[0]);
glNormalPointer(GL_FLOAT, 0, @Normal[0]);
glTexCoordPointer(2, GL_FLOAT, 0, @TexCoord[0]);

glDrawElements(GL_TRIANGLES, Length(Poly)*3, GL_UNSIGNED_SHORT, @Poly[0]);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY );


P.S.
Я глубоко сомневаюсь, что это пригодится в 2д, т.к. там мир не из полигонов в основном строится ;)


Zak3D[@Tm]   (2005-03-11 21:20:00) [10]

XProger
Я разобрался, как использовать Вертексные массивы для полигонов, но теперь не могу наложить на них текстуры : (. Как задать их координаты?
1.5 миллионов объектов!!?!?!?!?! Как ты это делаешь?


XProger   (2005-03-11 20:57:00) [11]

Zak3D[@Tm], у дельфи заголовки старой OpenGL! Качай начиная с версии 1.2 :)

P.S.
По не понятным причинам у меня существенного прироста к фпс на 1.5 млн полигонах с использованием вершенных буферов не наблюдается... :) (GF FX 5200 128 mb)

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


Afon   (2005-03-11 10:10:00) [12]

Есть ли где-нибудь примеры по данной теме?


Zak3D[@Tm]   (2005-03-11 08:29:00) [13]

ммм... хорошая сатья, но почему-то длефи не знает таких ф-ыий : (. Она даже не может подключить вертексный массив - glEnableClientState () протсо пишет такой ф-ции нет и всё : (.
В чем моя ошибка?


NE_Parovoz   (2005-03-10 19:58:00) [14]

http://www.progz.ru/articles.php?view=60
2.7 Вершинные массивы


Наверх

Титульная страница Поиск, карта сайта Написать письмо