Содержание
- 2. Что такое OpenGL? OpenGL – кросс-платформенная библиотека функций для создания интерактивных 2D и 3D приложений Является
- 3. Преимущества Аналогичные библиотеки: DirectX (Direct3D), Vulkan, Java 3D OpenGL Стабильность (с 1992 г.) Производители оборудования создают
- 4. Основной особенностью OpenGL можно считать простоту. Ядро OpenGL контролирует процесс обработки примитивов. Для передачи данных используется
- 5. Состоит из набора библиотек AGL, GLX, WGL Связь между OpenGL и оконной системой GLU (OpenGL Utility
- 6. С какими геометрическими моделями работает OpenGL? OpenGL работает с моделями, заданными в граничном полигональном представлении Поверхность
- 7. Конвейер Обработка вершин и сборка примитивов Вершина любого объекта в момент определения немедленно передается в конвейер,
- 8. Как рисовать объекты с помощью OpenGL? Объекты на экране рисуются путем последовательной передачи в конвейер вершин
- 9. Команды OpenGL glVertex3fv ( v ) 2 – (x, y) 3 – (x, y, z) 4
- 10. Модель begin/end void glMatrixMode(…); void glLoadIdentity(); void glMultMatrixd(…); void glBegin(GLenum type); void glVertex(…); void glNormal(…); void
- 11. Пример программы Цветной треугольник glBegin(GL_TRIANGLES); glColor2f(0.0f,1.0f); glVertex2f(150.0f, 50 .0f); glVertex2f(50.0f, 150 .0f); glVertex2f(200 .0f, 200 .0f);
- 12. Типы примитивов OpenGL GL_LINE_LOOP
- 13. Атрибуты вершин Каждая вершина кроме положения в пространстве может иметь несколько других атрибутов Материал Цвет Нормаль
- 14. Сложные фигуры void gluSphere (GLUquadricObj * qobj, GLdouble radius, GLint slices, GLint stacks) void gluCylinder (GLUquadricObj
- 15. gluSphere()
- 16. Преобразования координат в OpenGL Каждая вершина объекта задается в локальных координатах модели Необходимо определить набор геометрических
- 17. Последовательность преобразований
- 18. Графический конвейер
- 19. void glMatrixMode(Glenum mode); mode={GL_MODELVIEW|GL_PROJECTION} void glLoadIdentity(); void glMultMatrixd(GLdouble c[16]); Выбираем матрицу преобразований для изменения: Две основные
- 20. void glTranslated(GLdouble x, GLdouble y, GLdouble z); void glScaled(GLdouble x, GLdouble y, GLdouble z); void glRotated(GLdouble
- 21. Проекции. Параллельная void glOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far)
- 22. Перспективная проекция void gluPerspective (angley, aspect, znear, zfar) Параметр angley определяет угол видимости в градусах по
- 23. X Y Z 0 O1 O2 A1 B1 C1 D1 A2 B2 C2 D2 void gluPerspective(GLdouble
- 24. gluLookAt( eyex, eyey, eyez, aimx, aimy, aimz, upx, upy, upz) Настройка виртуальной камеры eye – координаты
- 25. Источники света void glLight[i f] (GLenum light, GLenum pname, GLfloat param) void glLight[i f] (GLenum light,
- 26. Виды материалов Параметры pname:
- 27. Для использования освещения сначала надо установить соответствующий режим вызовом команды glEnable(GL_LIGHTNING), а затем включить нужный источник
- 28. Фотореализм
- 31. DirectX DirectX - набор API, разработанных для решения задач, связанных с программированием под Microsoft Windows. Наиболее
- 32. Структура DirectX значительно отличается от OpenGL. DirectX основан на модели COM (Component Object Model). Это означает,
- 33. Vulkan API Vulkan API — это низкоуровневые кроссплатформенные программные интерфейсы, которые выдают более высокую производительность 3D-графики
- 34. Разработчик Khronos Group представил Vulkan API в рамках конференции GDC 2015, а первый релиз состоялся в
- 35. Литература Ю. Тихомиров. OpenGL. Программирование трехмерной графики, БХВ – Петербург, 2002 Эдвард Энджел. Интерактивная компьютерная графика.
- 37. Скачать презентацию