Главная страница
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.03 c
14-1123690612
S.A.P
2005-08-10 20:16
2005.09.04
Что происходит с жестким диском ?


4-1121366230
Dot
2005-07-14 22:37
2005.09.04
Обработать закрытие приожения


4-1121761652
new12345
2005-07-19 12:27
2005.09.04
Проблема с hook ом


11-1106584535
thaddy
2005-01-24 19:35
2005.09.04
objects allocation on the stack (speedy) is it possible in KOL?


14-1123081658
begin...end
2005-08-03 19:07
2005.09.04
"Проверь себя". Тест для начинающих.