Главная страница
    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.47 MB
Время: 0.034 c
1-1117286218
Flame
2005-05-28 17:16
2005.06.14
скопировать часть изображения


1-1117133145
Genie™
2005-05-26 22:45
2005.06.14
Как получить имя автора из doc файла?


1-1116943383
ALL
2005-05-24 18:03
2005.06.14
Memo RichEdit


6-1111736034
Илья
2005-03-25 10:33
2005.06.14
Передача файлов по сети


1-1117112456
SLP
2005-05-26 17:00
2005.06.14
Excel PivotTables.AddFields





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский