Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.043 c
3-1115457174
Geka
2005-05-07 13:12
2005.06.14
Удаление одинаковых позиций SQL


6-1111963806
АНТИСпаммер
2005-03-28 02:50
2005.06.14
Сниффинг локального траффика


14-1117048305
Defunct
2005-05-25 23:11
2005.06.14
Просто треплюсь ;)


6-1111229954
Виталик
2005-03-19 13:59
2005.06.14
Передать файл по сети между двух программ


1-1117451915
Mouserx
2005-05-30 15:18
2005.06.14
Использование inherited





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский