Издательство ДМК Пресс
Официальный сайт издательства ДМК Пресс

Издание книг dmkpress@gmail.com

Оптовая продажа books@alians-kniga.ru

Моя корзина
В корзине нет ни одного товара

OpenGL ES 3.0. Руководство разработчика

OpenGL ES 3.0. Руководство разработчика
Автор: Пурномо Б., Гинсбург Д.
Дата выхода: 10 мая 2015 года
Формат: 165 * 235 мм
Бумага: офсетная
Обложка: Мягкая обложка
Объем, стр.: 400
ISBN: 978-5-97060-256-0
Вес, гр.: 700

Оглавление и отрывки из глав

Аннотация к книге

OpenGL ES – это ведущий интерфейс и графическая библиотека для рендеринга сложной трехмерной графики на мобильных устройствах. Последняя версия, OpenGL ES 3.0, делает возможным создания потрясающей графики для новых игр и приложений, не влияя на производительность устройства и время работы аккумулятора.
Авторы рассматривает весь API и язык для написания шейдеров. Они внимательно рассматривают возможности OpenGL ES 3.0, такие как теневые карты, дублирование геометрии, рендеринг в несколько текстур, uniform-буфера, сжатие текстур, бинарное представление программ и преобразование обратной связи.
При помощи детальных, скачиваемых примеров на С, вы узнаете как задавать и программировать каждый аспект графического конвейера. Шаг за шагом, вы перейдете от вводных примеров к продвинутому попиксельному освещению и системам частиц. В книге вы найдете содержательные советы по оптимизации быстродействия, максимизации эффективности работы API и GPU и полном использовании OpenGL ES 3.0 в широком спектре приложений.
Весь код был собран и проверен на iOS 7, Android 4.3, Windows (эмуляция OpenGL ES 3.0) и Ubuntu Linux и авторы показывают как собрать примеры для каждой платформы.

Рассматриваются следующие темы:
• использование EGL API для взаимодействия с оконной системой, выбора конфигурации и создания контекста для рендеринга и поверхностей;
• шейдеры, создание и подключение объектов-шейдеров, компиляция шейдеров, проверка на ошибки компиляции, создание, сборка и опрос состояния для объектов-программ и использование шейдеров в виде исходных текстов и в бинарной форме;
• язык для написания шейдеров OpenGL ES: переменные, типы, конструкторы, структуры, массивы, атрибуты, uniform-блоки, входные и выходные переменные, описатели точности и инвариантности;
• геометрия, вершины и примитивы, передача геометрии в конвейер и сборка из нее примитивов;
• создание двухмерных, трехмерных, кубических текстур и массивов текстур, их загрузка и использование при рендеринге, режимы отсечения текстурных координат, фильтрация и форматы текстур, сжатые текстуры, объекты-сэмплеры, неизменяемые текстуры, буфера для распаковки пикселов и пирамидальное фильтрование;
• фрагментные шейдеры: мультитекстурирование, туман, альфа-тест и задаваемые пользователем плоскости отсечения;
• фрагментные операции: отсечение по прямоугольной области, тесты трафарета и глубины, мультисэмплинг, смешивание цветов и растрирование;
• объекты-фреймбуферы: рендеринг во внеэкранные поверхности для продвинутых эффектов;
• продвинутый рендеринг: попиксельное освещение, имитация отражения окружающей среды, системы частиц, постобработка изображений, процедурные текстуры, теневые карты, ландшафт и проективное текстурирование;
• объекты синхронизации и барьеры: синхронизация с приложением и выполднением на GPU.