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

Вниз

OGL - Again Arrays   Найти похожие ветки 

 
grouzd[E]v ©   (2005-05-11 15:36) [0]

Вы уж конечно извините, но я выношу свой неразрешенный вопрос в отдельную тему из топика Lists vs. Arrays.
В OGL есть такая функция glEnableClientState, которая позволяет рисовать сразу массивом. Так вот: объясните дураку как правильно ей пользоваться (хотя бы для вершин)


 
petya-kurochkin ©   (2005-05-11 21:59) [1]

Ладно...
Во - первых: команда glEnableClientState, не может рисовать массивом, она лишь включает такой режим рисования.
Ну а во - вторых: эта команда расширение OpenGL и его может у тебя не быть.
И в третьих: Вот описание:(для тех как ты себя описал, шучу, шучу:))
Сначала создаешь двухмерны массив вершин(Можно так же и цветов);
К примеру:
Vershini: array[0..3,0..2] of GLFloat;

Двумерный он вот почему: [0..3] - это количество точек в данном случае их 4(0,1,2,3), а [0..2] - это означает, то что вершины обозначаются с помощью трёх координат [x,y,z], можно так же написать [0..1] тогда вершины будут обозначаться с помощью 2 - ух координат[x,y].
Потом ппишешь:
glVertexPointer(3,GLFloat,0,@Vershini);
Сдесь в общем то всё понятно, но поясню всё равно:
Первый аргумент: цифра 3 обозначает количество координат для определения точки(В нашем случае 3 это x,y,z, можно ещё и просто x,y, тогда я будет = 0).
Второй параметр обозначает тип чисел, который используется для определения координат.
Третий параметр: Сам не знаю(Пусть тогда лучше будет 0)ж
Четвёртый собственно указатель но массив вершин.
Дальше пишем:
glEnableClientState(GL_VERTEX_ARRAY)//Собственно включение самого режиа:)
Ну я думаю тут пояснений не требуется=-)
Далее:
glDrawArrays(GL_POLYGON,0,4)//Рисование
Тут вот что:
1 - ый параметр: Любое значение, которое ты можешь применит для GLBegin
2 - ой параметр: С какого элемента массива мы начинаем рисовать.
3 - ий параметр: Сколько элементов рисовать(В нашем случае 4 - е)
Далее всё отключаем:
glDisableClientState(GL_VERTEX_ARRAY);
Вроде всё должно работать.
Вот и всё. Если что спрашивай.



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

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

Наверх




Память: 0.47 MB
Время: 0.033 c
1-1123677276
3asys
2005-08-10 16:34
2005.09.04
crpe32.pas


14-1123668228
Внук
2005-08-10 14:03
2005.09.04
Свершилось


4-1121589578
Arc
2005-07-17 12:39
2005.09.04
Локальный хук на WM_SETTEXT


5-1097175244
Sergey_Masloff
2004-10-07 22:54
2005.09.04
D7 only! control has no parent window


14-1123509418
БарЛог
2005-08-08 17:56
2005.09.04
В чем слысл жизни?