![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Рисование массивами - текстурные координаты [Delphi, OpenGL]
Signate © (2005-09-20 13:55:00)есть такой код на рисование модели
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glEnableClientState(GL_VERTEX_ARRAY);
glNormalPointer(GL_FLOAT, 0, @Model.Normal[0]);
glVertexPointer(3, GL_FLOAT, 0, @Model.Vertex[0]);
glTexCoordPointer(2,GL_FLOAT,0,@Model.TexCoords[0]);
glDrawElements(GL_TRIANGLES, Model.FaceNum*3, GL_UNSIGNED_SHORT, @Model.Face[0]);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
High(TexCoords) = High(Vertex) = High(Normal) все норм... т.е. на кубик с 24 вертексами у меня приходиться 24 тектурные координаты... текстура тянеться нормально
А если делать экпорт из макса, то на кубик с 8-ю вертексами приходиться 12 текстурыные координаты... и выводя через массивы (по коду выше) получеться полный бред...
Как нарисовать модель если у нее кол-во вертексов и текстурных координат разное?
XProger (2005-09-20 18:14:00) [1]NE_Parovoz, меньше дублирование данных, следовательно меньший расход оперативки :)
NE_Parovoz (2005-09-20 16:23:00) [2]Signate, приводи меш к неиндексированному виду, а потом уже как надо расставляй индексы(на основе вертексных)
[?]
и к чему, в простом текстовом формате() для экспорта (*.ASE), сделали такую *** с индексами.
XProger (2005-09-20 15:46:00) [3]Через glDrawElements никак
Дублируй вершины и текс координаты и рендерь через glDrawArrays (без массивов индексов т.е.)