Главная страница
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.048 c
14-1123743417
Makhanev A.S.
2005-08-11 10:56
2005.09.04
Code Insight и тормоза


1-1123751374
webpauk
2005-08-11 13:09
2005.09.04
RichEdit + ссылка


3-1122437967
Qartzer
2005-07-27 08:19
2005.09.04
большая база


9-1115819201
Кефир87
2005-05-11 17:46
2005.09.04
Простейшая линейная интерполяция...


14-1123370803
Джо
2005-08-07 03:26
2005.09.04
Киевляне и гости столицы!