Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 639001)
Контекстум
Электро-2024

Vulkan. Руководство разработчика. Официальное руководство по изучению языка Vulkan (5000,00 руб.)

0   0
Первый авторСеллерс
ИздательствоМ.: ДМК Пресс
Страниц396
ID794715
АннотацияЭта книга посвящена Vulkan, новому программному интерфейсу (API) для управления графическими процессорами (GPU). Приведено множество тем, начиная с рендеринга и обработки геометрии и заканчивая описанием языка шейдеров SPIR-V. Рассмотрены синхронизация, планирование и управление памятью. Книга содержит тщательно протестированные примеры кода для демонстрации возможностей Vulkan и его отличия от OpenGL. Издание предназначено опытным программистам, уже знакомым с другими графическими и вычислительными API.
ISBN978-5-97060-486-1
УДК004.514Vulkan
ББК32.972
Селлерс, Г. Vulkan. Руководство разработчика. Официальное руководство по изучению языка Vulkan / Г. Селлерс .— Москва : ДМК Пресс, 2017 .— 396 с. — ISBN 978-5-97060-486-1 .— URL: https://rucont.ru/efd/794715 (дата обращения: 16.06.2024)

Предпросмотр (выдержки из произведения)

Vulkan._Руководство_разработчика._Официальное_руководство_по_изучению_языка_Vulkan.pdf
УДК 004.514Vulkan ББК 32.972 C29 C29 Vulkan. Руководство разработчика / пер. с англ. А. В. Борескова. – М.: ДМК Пресс, 2017. – 394 с.: ил. Селлерс Г. ISBN 978-5-97060-486-1 Эта книга посвящена Vulkan, новому программному интерфейсу (API) для управления графическими процессорами (GPU). Приведено множество тем, начиная с рендеринга и обработки геометрии и заканчивая описанием языка шейдеров SPIR-V. Рассмотрены синхронизация, планирование и управление памятью. Книга содержит тщательно протестированные примеры кода для демонстрации возможностей Vulkan и его отличия от OpenGL. Издание предназначено опытным программистам, уже знакомым с другими графическими и вычислительными API. УДК 004.514Vulkan ББК 32.972 Authorized translation from the English language edition, entitled Vulkan Programming Guide: The Official Guide to Learning Vulkan; ISBN 0134464540; by Sellers, Graham; and by Kessenich, John; published by Pearson Education, Inc., publishing as Addison-Wesley professional. Copyright © 2012 by Pearson Education, Inc. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information stor Все права защищены. Любая часть этой книги не может быть воспроизведена в какой age retrieval system, without permission from Pearson Education, Inc. RUSSIAN language edition published by DMK PUBLISHERS, Copyright © 2017. бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-0-13-446454-1 (анг.) ISBN 978-5-97060-486-1 (рус.) © 2017 Pearson Education, Inc. © Оформление, издание, перевод, ДМК Пресс, 2017 -
Стр.5
Содержание Об этой книге ................................................................................................................................11 Благодарности ............................................................................................................................15 Об авторе ..........................................................................................................................................16 Глава 1. Обзор Vulkan............................................................................................................17 Введение ..................................................................................................................................................17 Экземпляры, устройства и очереди ...............................................................................................18 Экземпляр Vulkan...........................................................................................................................19 Физические устройства Vulkan .................................................................................................22 Память физического устройства ...............................................................................................25 Очереди устройства .......................................................................................................................27 Создание логического устройства ............................................................................................29 Соглашения о типах объектов и функций ..................................................................................32 Управление памятью ...........................................................................................................................33 Многонитевость в Vulkan..................................................................................................................33 Математические понятия ..................................................................................................................35 Векторы и матрицы ........................................................................................................................35 Системы координат ........................................................................................................................36 Расширяем Vulkan ...............................................................................................................................36 Слои .....................................................................................................................................................36 Расширения ......................................................................................................................................39 Аккуратное завершение работы ......................................................................................................43 Резюме .....................................................................................................................................................45 Глава 2. Память и ресурсы...............................................................................................46 Управление памятью CPU ................................................................................................................46 Ресурсы ....................................................................................................................................................52 Буферы ...............................................................................................................................................52 Форматы и поддержка ..................................................................................................................55 Изображения ....................................................................................................................................58 Виды ресурсов ..................................................................................................................................70 Уничтожение ресурсов ..................................................................................................................77 Управление памятью устройства ....................................................................................................78 Выделение памяти устройства ...................................................................................................80 Доступ к памяти устройства со стороны CPU .....................................................................82
Стр.7
Содержание  7 Подключение памяти к ресурсам ..............................................................................................85 Разреженные ресурсы ...................................................................................................................88 Резюме .....................................................................................................................................................95 Глава 3. Очереди и команды ..........................................................................................96 Очереди устройства ............................................................................................................................96 Создание командных буферов .........................................................................................................98 Запись команд .....................................................................................................................................101 Переиспользование командных буферов ..................................................................................104 Подача команд .....................................................................................................................................105 Резюме ...................................................................................................................................................107 Глава 4. Перемещение данных .................................................................................108 Управление состоянием ресурса ...................................................................................................108 Барьеры конвейера .......................................................................................................................109 Барьеры глобальной памяти .....................................................................................................112 Барьеры памяти буфера..............................................................................................................114 Барьеры памяти изображений .................................................................................................115 Очистка и заполнение буферов.....................................................................................................117 Очистка и заполнение изображений ...........................................................................................120 Копирование данных изображения .............................................................................................122 Копирование сжатых изображений .............................................................................................126 Масштабирование изображений ..................................................................................................127 Резюме ...................................................................................................................................................128 Глава 5. Показ ............................................................................................................................129 Расширения для показа ...................................................................................................................129 Показываемые поверхности ...........................................................................................................130 Показ на Microsoft Windows .....................................................................................................130 Показ на платформе Xlib............................................................................................................131 Показ с Xcb .....................................................................................................................................132 Списки показа .....................................................................................................................................133 Полноэкранные поверхности ........................................................................................................142 Выполнение показа ...........................................................................................................................148 Очистка ..................................................................................................................................................150 Резюме ...................................................................................................................................................151 Глава 6. Шейдеры и конвейеры ................................................................................152 Обзор GLSL .........................................................................................................................................152 Обзор SPIR-V ......................................................................................................................................155 Представление SPIR-V ...............................................................................................................155 Передача SPIR-V Vulkan ...........................................................................................................159
Стр.8
8  Содержание Конвейеры ............................................................................................................................................160 Вычислительные конвейеры.....................................................................................................160 Создание конвейеров ...................................................................................................................162 Константы специализации ........................................................................................................163 Ускорение создания конвейера ................................................................................................166 Привязывание конвейеров ........................................................................................................170 Выполнение работы ..........................................................................................................................171 Доступ к ресурсам из шейдеров ....................................................................................................172 Множества дескрипторов ..........................................................................................................172 Привязывание ресурсов ко множествам дескрипторов ..................................................182 Привязывание множеств дескрипторов ...............................................................................189 Uniform-, тексельные и storage-буферы ................................................................................190 Передаваемые константы ...........................................................................................................194 Сэмплеры и их использование .................................................................................................197 Резюме ...................................................................................................................................................203 Глава 7. Графические конвейеры ...........................................................................204 Логический графический конвейер .............................................................................................204 Проходы рендеринга .........................................................................................................................208 Фреймбуфер ........................................................................................................................................215 Создание простого графического конвейера ............................................................................217 Графические шейдерные стадии ..............................................................................................219 Состояние входных данных вершин ......................................................................................223 Входная сборка ..............................................................................................................................228 Состояние тесселляции ..............................................................................................................231 Состояние области вывода ........................................................................................................232 Состояние растеризации ............................................................................................................234 Состояние мультисэмплинга ....................................................................................................236 Состояние глубины и трафарета .............................................................................................236 Состояние смешивания цветов ................................................................................................237 Динамическое состояние .................................................................................................................239 Резюме ...................................................................................................................................................241 Глава 8. Рендеринг ................................................................................................................242 Подготовка к рендерингу ................................................................................................................243 Данные в вершинах ...........................................................................................................................245 Индексированный рендеринг ........................................................................................................247 Рендеринг с использованием только индексов ..................................................................251 Сброс индексов ..............................................................................................................................252 Дублирование геометрии ................................................................................................................254 Косвенный рендеринг .......................................................................................................................255 Резюме ...................................................................................................................................................259
Стр.9
Содержание  9 Глава 9. Обработка геометрии ..................................................................................261 Тесселляция .........................................................................................................................................261 Настройка тесселляции ..............................................................................................................261 Переменные тесселляции ..........................................................................................................268 Пример тесселляции: смещение ..............................................................................................276 Геометрические шейдеры ................................................................................................................281 Разрезание примитивов ..............................................................................................................287 Дублирование геометрии в геометрическом шейдере .....................................................288 Программируемый размер точки .................................................................................................290 Толщина отрезка и растеризация .................................................................................................292 Задаваемое пользователем обрезание и отсечение ................................................................295 Преобразование области вывода ..................................................................................................301 Резюме ...................................................................................................................................................305 Глава 10. Обработка фрагментов ...........................................................................306 Тест ножниц .........................................................................................................................................306 Операции с глубиной и трафаретом ............................................................................................308 Тесты глубины ...............................................................................................................................309 Тесты трафарета ............................................................................................................................314 Раннее выполнение тестов над фрагментами .....................................................................315 Рендеринг с использованием мультисэмплинга .....................................................................317 Частота, с которой выполняется закрашивание образцов .............................................319 Объединение образцов в мультисэмплинге ........................................................................320 Логические операции .......................................................................................................................322 Выходные значения фрагментного шейдера ............................................................................323 Смешивание цветов ...........................................................................................................................327 Резюме ...................................................................................................................................................330 Глава 11. Синхронизация ...............................................................................................331 Барьеры .................................................................................................................................................332 События .................................................................................................................................................338 Семафоры .............................................................................................................................................342 Резюме ...................................................................................................................................................346 Глава 12. Получение данных назад .......................................................................347 Запросы .................................................................................................................................................347 Выполнение запросов ..................................................................................................................349 Запросы времени ..........................................................................................................................355 Чтение данных со стороны CPU ..................................................................................................356 Резюме ...................................................................................................................................................358
Стр.10
10  Содержание Глава 13. Многопроходный рендеринг .............................................................359 Входные подключения .....................................................................................................................359 Содержимое подключений .............................................................................................................366 Инициализация подключения .................................................................................................366 Области рендеринга .....................................................................................................................369 Сохранение содержимого подключения ..............................................................................370 Вторичные командные буферы .....................................................................................................378 Резюме ...................................................................................................................................................381 Приложение .................................................................................................................................382 Функции Vulkan .........................................................................................................................382 Словарь ............................................................................................................................................384
Стр.11

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст