Форум: "Игры";
Текущий архив: 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