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

Вниз

VertexArray и с чем его едят?   Найти похожие ветки 

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

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


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

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


 
Zak3D[@Tm] ©   (2005-03-11 08:29) [2]

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


 
Afon   (2005-03-11 10:10) [3]

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


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

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

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

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


 
Zak3D[@Tm] ©   (2005-03-11 21:20) [5]

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


 
XProger ©   (2005-03-12 04:26) [6]

"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д, т.к. там мир не из полигонов в основном строится ;)


 
Zeqfreed ©   (2005-03-12 16:33) [7]

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


 
Zak3D[@Tm] ©   (2005-03-12 17:15) [8]

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
-----------------------------------
Что делать?


 
XProger ©   (2005-03-12 20:55) [9]

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


 
Zeqfreed ©   (2005-03-12 21:03) [10]

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


 
Zak3D[@Tm] ©   (2005-03-12 21:28) [11]

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


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

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


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

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


 
XProger ©   (2005-03-15 02:10) [14]

мозя :)
199965550



Страницы: 1 вся ветка

Текущий архив: 2005.06.14;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.024 c
4-1114495725
magedon
2005-04-26 10:08
2005.06.14
как работать с игровым портом?


1-1116999133
mariya_mezenceva
2005-05-25 09:32
2005.06.14
ошибка Invalid pointer operation


3-1115112808
jiny
2005-05-03 13:33
2005.06.14
Куда делся QrDbChart ?


4-1114077323
ANB
2005-04-21 13:55
2005.06.14
Номер EM_GETSELTEXT


14-1116849703
inic
2005-05-23 16:01
2005.06.14
Опрос: Как далеко от дома работаете ?