Элементарное программирование графики в opengl

Из Викибуков-открытые книги для открытого мира

Добро пожаловать в книгу по программированию OpenGL. OpenGL-это API, используемый для рисования 3D-графики. OpenGL не является языком программирования; приложение OpenGL обычно пишется на C или C++. Что OpenGL действительно позволяет вам делать, так это рисовать привлекательную. Реалистичную 3D-графику с минимальными усилиями. API обычно используется для взаимодействия с графическим процессором для достижения аппаратного ускорения рендеринга.

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

Не стесняйтесь делать копии, преподавать его в школе или на профессиональных занятиях, улучшать текст. Писать комментарии или даже новые разделы.

Если вы знаете об OpenGL, не стесняйтесь оставлять комментарии, расширять разделы TODO и писать новые!

  1. Об этой книге
  2. История и эволюция OpenGL

Современный OpenGL

The basics arc

Tutorial_drafts: идеи и заметки для предстоящих учебных пособий

Осветительная дуга

Эта серия учебных пособий представляет собой C++ — порт GLSL wikibook Basic Lighting tutorials.

Эта серия учебников представляет собой C++ порт

GLSL wikibook Basic Texturing tutorials.

Эта серия учебников является портом C++ учебников GLSL wikibook о текстурах в 3D.

В GLSL wikibook есть больше учебников для порта !

Научная дуга

И еще больше впереди.

Выбранные темы

Дуга постобработки

01
OpenGL Tutorial Post-processing Water.png
Концепции: как выполнить полноэкранную постобработку, первый пример с простой анимированной волной 02
OpenGL Tutorial TODO.png
???: следующий эффект будет решен!

Мини-портал

Эта серия показывает, как реализовать систему телепортации, подобную Порталу Valve, шаг за шагом. Используя OpenGL.

Glescraft

Эта серия показывает, как рендерить воксельный мир, похожий на

Майнкрафт.

Использование накопительного буфера

Примечание: не все видеокарты поддерживают буфер накопления

Ультрасовременный OpenGL

Если вы не ориентируетесь на старые мобильные устройства или Интернет. Вы можете перейти на OpenGL (ES) 3.x / 4.x. Он, в частности, вводит новые виды шейдеров: Геометрию, Управление тесселяцией и оценку тесселяции, а также вычисления.

01
OpenGL Учебник TODO.png
Учебное пособие 01: изменение и создание вершин на лету с помощью шейдеров геометрии 02
OpenGL Учебник TODO.png
Учебник 02: динамическое качество сетки с тесселированием

и много других функций.

Качество кода

Приложения

Начальный учебник

  1. Настройка Среды Программирования В Windows

    75%.svg

  2. Настройка OpenGL В Среде Программирования75%.svg
  3. Рисование примитивов75%.svg

    1. Немедленный режим
    2. Отображение Списков
    3. Вершинные массивы
  4. Основные преобразования75%.svg

    1. Перевод
    2. Вращение
    3. Пересчет
    4. Пользовательские Преобразования

Основы

  1. Структура типичного приложения OpenGL 100 процентов.
  2. Рисование Прямоугольников 75%.svg
  3. Рисование линий и точек
  4. Рисование простых 2D фигур 100 процентов.
  5. Соглашения об именах OpenGL 75%.svg
  6. Использование цвета 75%.svg
  7. Просмотр преобразований 25%.svg
  8. Рисование простых 3D объектов
  9. Перспектива в сравнении с орфографическими проекциями

Промежуточный

  1. Сглаживание полигонов нормалями
  2. Добавление света
  3. Использование Материалов
  4. Использование Текстур
  5. Использование Mip-Карт
  6. Рисование Сложных Полигонов С Использованием Тесселяции

Advanced

  1. Оптимизация кода OpenGL
  2. Рисование Теней
  3. Рисование С Использованием Квадрик
  4. Рисование с помощью NURBS и кривых
  5. Окружающая окклюзия

Приложения

  1. Преобразования координат
  2. Понимание Матриц преобразования
  3. Справочник по библиотеке OpenGL. функции и ссылки на типы для gl.h glu.h и glut.h
  4. Почему OpenGL Существует и для Чего Он хорош
  5. Миграция с 1.x на 2.x: как обновить код для использования современного OpenGL

Внешние ссылки

Wikibooks

Связанные WikiBooks:

  • GLSL Программирование : wikibook по использованию OpenGL Shading Language (GLSL) в Unity 3 и Blender 2.5, с большой информацией по освещению и текстурированию
  • Blender 3D: Noob to Pro: всеобъемлющая книга по использованию среды 3D-моделирования Blender
  • открытый исходный код. Кросс-платформенная IDE для изучения пиксельной графики на основе GPU с использованием GLSL :

Порты

Следующие веб-сайты обеспечивают преобразование учебных пособий на другие языки программирования или платформы:

Свободно лицензированная документация и образцы

Документация, не имеющая свободной лицензии

Веб-сайты

Дальнейшее чтение

  • OpenGL Architecture Review Board, et al: Руководство по программированию OpenGL: Официальное руководство по обучению OpenGL, версия 2, Пятое издание, Addison-Wesley, ISBN 0-321-33573-2
  • OpenGL Architecture Review Board, et al: Справочное руководство по OpenGL: Официальный справочный документ по OpenGL, Версия 1.4, Addison-Wesley, ISBN 0-321-17383-X
  • Wright, Richard S. Jr and Lipchak, Benjamin: OpenGL SuperBible, Третье издание, Sams Publishing, ISBN 0-672-32601-9