Главная страница
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.043 c
14-1123656431
ocean
2005-08-10 10:47
2005.09.04
Подбросьте формулировок о неисправностях компьютера


5-1097747042
Subdigger
2004-10-14 13:44
2005.09.04
TComponent & BMP


14-1123448767
LoGeen
2005-08-08 01:06
2005.09.04
Пользование клиентом форума


14-1123673384
msguns
2005-08-10 15:29
2005.09.04
Заточка ножей.


1-1124036380
Tonich
2005-08-14 20:19
2005.09.04
Dll Load