OpenGL презентация

void glVertexPointer( GLint size, GLenum type, GLsizei stride, void *ptr ) size определяет число координат вершины (2, 3, 4) type определяет тип данных (GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE) stride задает смещение от

Слайд 1OpenGL
Лекция 4 (15.10.2012)


Слайд 2void glVertexPointer( GLint size, GLenum type, GLsizei stride, void *ptr )
size

определяет число координат вершины (2, 3, 4)
type определяет тип данных (GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE)
stride задает смещение от координат одной вершины до координат следующей (если 0, то координаты расположены последовательно
ptr - адрес, где находятся данные

Массивы вершин


Слайд 3void glNormalPointer(GLenum type, GLsizei stride, void*pointer)

void glColorPointer(GLintsize, GLenum type, GLsizei

stride, void *pointer)

void glTexCoordPointer(GLintsize, GLenum type, GLsizei stride, void *pointer)

Массивы нормалей и цветов


Слайд 4void glEnableClientState(GLenum array)
array = GL_VERTEX_ARRAY, GL_NORMAL_ARRAY, GL_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY

Для окончания работы с

массивами
void glDisableClientState(GLenum array)

Начало работы с массивами


Слайд 5void glArrayElement(GLint index)

Это аналогично последовательному применению команд glColor..(…), glNormal..(…), glVertex..(…) c

соответствующими параметрами

Рисование одной вершины


Слайд 6void glDrawArrays(GLenum mode, GLint first, GLsizei count)
Рисует count примитивов, определяемых параметром

mode, используя элементы из массивов с индексами от first до first+count-1. Это эквивалентно вызову команды glArrayElement() с соответствующими индексами

Рисование нескольких вершин


Слайд 7void glDrawElements(GLenum mode, GLsizei count, GLenum type, void *indices)
indices– это массив

номеров вершин, которые надо использовать для построения примитивов, type определяет тип элементов этого массива: GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, а count задает их количество

Рисование нескольких вершин


Слайд 8void glNewList(GLuint list, GLenum mode)
void glEndList()
list – номер списка

(натуральное число)
mode:
GL_COMPILE команды записываются в список без выполнения
GL_COMPILE_AND_EXECUTE команды сначала выполняются, а затем записываются в список

Списки изображений


Слайд 9void glCallList(GLuint list)

void glCallLists(GLsizei n, GLenum type, const GLvoid *lists)
Вызывает n

списков с идентификаторами из массива lists, тип элементов которого указывается в параметре type (GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_UNSIGNED_INT)

Вызов списков


Слайд 10
void glDeleteLists(GLint list, GLsizei range)

Удаляет списки с идентификаторами ID из диапазона

list <=ID<= list+range-1

Удаление списков


Слайд 11
2D графика
2D графика


Слайд 12glMatrixMode(GL_PROJECTION);
glLoadIdentity();

The gluOrtho2D function defines a 2-D orthographic projection matrix. void gluOrtho2D( GLdouble left,

GLdouble right, GLdouble bottom, GLdouble top );

gluOrtho2D


Слайд 13glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

glEnable(GL_TEXTURE_2D);
glBindTexture( GL_TEXTURE_2D, textures[0]);
glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex2f(0, 0);
glTexCoord2f(1, 0); glVertex2f(100, 0);
glTexCoord2f(1, 1); glVertex2f(100,

100);
glTexCoord2f(0, 1); glVertex2f(0, 100);
glEnd();
glDisable(GL_TEXTURE_2D);

glVertex2f


Слайд 14glColor3f(1,0,0);
hWnd = FindWindowW(NULL, L"Моя вторая проженька на OpenGL");
hDC=GetDC(hWnd);
BuildFont();
glRasterPos2f(x, y);
glPrint("Hello World! GetTickCount:

%d", GetTickCount());
KillFont();


Вывод текста


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика