Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемАльбина Лариошкина
1 OpenGL Лекция 4 ( )
2 void 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 - адрес, где находятся данные Массивы вершин
3 void 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) Массивы нормалей и цветов
4 void glEnableClientState(GLenum array) array = GL_VERTEX_ARRAY, GL_NORMAL_ARRAY, GL_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY Для окончания работы с массивами void glDisableClientState(GLenum array) Начало работы с массивами
5 void glArrayElement(GLint index) Это аналогично последовательному применению команд glColor..(…), glNormal..(…), glVertex..(…) c соответствующими параметрами Рисование одной вершины
6 void glDrawArrays(GLenum mode, GLint first, GLsizei count) Рисует count примитивов, определяемых параметром mode, используя элементы из массивов с индексами от first до first+count-1. Это эквивалентно вызову команды glArrayElement() с соответствующими индексами Рисование нескольких вершин
7 void glDrawElements(GLenum mode, GLsizei count, GLenum type, void *indices) indices– это массив номеров вершин, которые надо использовать для построения примитивов, type определяет тип элементов этого массива: GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, а count задает их количество Рисование нескольких вершин
8 void glNewList(GLuint list, GLenum mode) void glEndList() list – номер списка (натуральное число) mode: GL_COMPILE команды записываются в список без выполнения GL_COMPILE_AND_EXECUTE команды сначала выполняются, а затем записываются в список Списки изображений
9 void 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
11 2D графика
12 glMatrixMode(GL_PROJECTION); glLoadIdentity(); The gluOrtho2D function defines a 2-D orthographic projection matrix. void gluOrtho2D( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top ); gluOrtho2D
13 glMatrixMode(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
14 glColor3f(1,0,0); hWnd = FindWindowW(NULL, L"Моя вторая проженька на OpenGL"); hDC=GetDC(hWnd); BuildFont(); glRasterPos2f(x, y); glPrint("Hello World! GetTickCount: %d", GetTickCount()); KillFont(); Вывод текста
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.