В этой книге используется фактическая график разработки проекта, чтобы полностью представить все модули игрового двигателя, от самой основной конструкции среды OpenGL до анимации скелета, многопоточного рендеринга, реализации тени и т. Д. И, наконец, реализует полный игровой двигатель.

Глава 1 представляет фонд игрового двигателя и принимает Unity в качестве примера для представления композиции игрового двигателя.
Глава 2 представляет конструкцию среды разработки OpenGL и создает пустое окно OpenGL, чтобы попасть в ловушку.
Глава 3 представляет использование OpenGL для рисования треугольников, квадратов и кубиков, чтобы познакомиться с самыми основными элементами рендеринга игры.
Глава 4 представляет концепцию шейдера, компиляции ссылок, а также формат шейдеров и ключевых слов.
Глава 5 представляет формат текстуры, непосредственно считывая рендеринг PNG и JPG, а затем вводит сжатую текстуру, используемую GPU.
Глава 6 представляет индекс и буферные объекты. Буфер хранит данные вершины в видео памяти, и больше не нужно загружать каждый кадр из памяти в графический процессор.
Глава 7 представляет собой настраиваемый формат сетки двигателя и состав материала. Храните данные Vertex, первоначально записанные в коде в файл сетки, и сохраните параметры шейдера, первоначально записанные в коде в материал.
Глава 8 представляет использование Blender для создания моделей и записи кода Python для экспорта их в виде сетчатых файлов.
Глава 9 представляет, как реализовать режим GameObject-Component.
Глава 10 представляет, что такое камера и как отображать несколько камер.
Глава 11 представляет получение ввода мыши и клавиатуры.
Глава 12 представляет, как разделить демо -код на исходный код двигателя и исходный код проекта.
Глава 13 представляет использование Freetype для генерации и отображения текстуры одного альфа -канала для указанных символов и использования цветов вершины для реализации цветного текста.
Глава 14 представляет реализацию базовых элементов управления графическим интерфейсом, включая UIIMAGE, UIMASK, UITEXT и UIBUTTON. С этими основами могут быть реализованы другие сложные элементы управления.
Глава 15 представляет использование FMOD для воспроизведения MP3 и WAV Music и использование FMOD Professional Audio Editor для создания звуковых эффектов и проанализировать воспроизведение.
Глава 16 представляет easy_profiler, библиотека анализа производительности C ++.
Глава 17 представляет использование SOL2, библиотеки с открытым исходным кодом, интегрируйте LUA в двигатель и впоследствии используйте двигатель разработки C ++ и используйте LUA для написания тестового кода.
Глава 18 представляет принципы анимации скелета и вводит использование блендера для создания анимации скелета, экспорта в файл Skeleton_Anim и проанализировать его в двигателе.
Глава 19 представляет анимацию кожи скелета, обновляется вес в блендере, экспортирует в файл веса, анализирует его в двигатель и отдает его.
Глава 20 представляет, как экспортировать сетку, скелетную анимацию и веса из файлов FBX, а также экспортировать девушек для древних стилей и отображать их в примерах.
Глава 21 представляет многопоточный рендеринг, размещая API OpenGL в отдельный рендеринг, выпускающий команды от основного потока в потоку рендеринга и делясь влияния DrawCall, чтобы уменьшить бремя на основной потоке.
Глава 22 Введение в обновление время от времени.
Целью написания этой книги является популяризация основных знаний об игровых двигателях и для читателей, которые имеют определенный опыт единства и заинтересованы в определенных моментах двигателя.
Точки знаний, представленные в каждой главе, предназначены для вступительного понимания и не копаются в глубине.
Простые, легко начинать, краткосрочные цели, и не скучно.
Каждая статья написана с вводной точки зрения. Например, я сравниваю компиляцию шейдера по ссылке, используя компиляцию языка C.
| C Язык | Шейдер | |
|---|---|---|
| Целевое оборудование | Процессор | Графический процессор |
| Процесс компиляции | Создать проект | Создать программу GPU |
| Создать и написать несколько файлов C -кода | Создать и писать шейдер (вершина шейдер и фрагментный шейдер) | |
| Отправить C код компилятору | Отправить код шейдера в компилятор | |
| Компиля C -код | Компилируйте код шейдера | |
| Добавить в список ссылок | Добавить в список ссылок | |
| Связь | Связь |
Адрес проекта этого раздела размещен в начале каждого раздела и немедленно перетаскивает папку в Клион, чтобы отлаживать. 
Фрагмент кода начинается с файла и количества строк, в которых находится код. 
От простейшего треугольного рисунка до скелетной анимации, освещения и затенения, мультипоточного, физики, исходного искусственного интеллекта и аудио-анализа.
![]() | ![]() | ![]() |
|---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
Это должен быть первый раз, когда мы учим, как моделировать и редактировать аудио в книге двигателя.
Я записал видео для моделирования Blender, FMOD, Wise Audio Production.
Другое вещество, разработка подключаемого модуля инструментов, анализ RenderDoc DrawCall в кратчайшие сроки.
![]() | ![]() | ![]() |
|---|---|---|
![]() | ![]() | ![]() |
В анимации модели используются красавицы, красивые мужчины и красочные объекты, что делает ее более полезным.
После определенных функций будет разработана небольшая игра на основе существующих функций, так что поэтапные достижения могут сохраняться в течение длительного времени.
![]() | ![]() | ![]() |
|---|
Читать онлайн: http://www.thisisgame.com.cn/tutorial?book=cpp-game-engine-book&lang=zh&md=Introduction.md
Местное строительство: https://github.com/ThisisGame/thisisgame-web-openresty
В настоящее время адаптировано к Windows и MacOS.
- 由于Arm版Mac只支持OpenGL Core,所以《6.3 OpenGL Core Profile》之前的章节实例无法在Arm版Mac运行。 Книжные экземпляры разрабатываются с использованием CLION, который поддерживает Windows и Mac, а кроссплатформное не требует дополнительных затрат на обучение.
Visualstudio поддерживает проекты CMAKE с 2019 года, поэтому вы также можете использовать VisualStudio 2019 и выше, чтобы открыть проект Clion с экземпляром книги в Windows.
Для получения подробной информации, пожалуйста, обратитесь к разработке 2.3, используя VisualStudio
Двигатель разрабатывается с использованием C ++, соответствует спецификациям Google C ++, а при вклад в код вы должны сначала быть знакомы с стилем кода. 
При внесении вклад в код, пожалуйста, сначала разверните этот проект на ваше имя, затем измените код и отправьте его, объединив запрос.
В настоящее время адаптированные к Windows и Mac, вы можете разработать обе системы. Перед отправкой кода убедитесь, что функциональность является нормальной и последовательной для обеих систем.
Вы можете напрямую открыть его в Интернете, чтобы прочитать: http://www.thisisgame.com.cn/tutorial?book=cpp-game-engine-book&lang=zh&md=Introduction.md
Эта книга - с открытым исходным кодом, вы можете расколоть этот проект, затем изменить код, а затем отправить запрос на слияние.
Каждый может упомянуть проблемы и отзывы о любых проблемах. Вы можете связаться со мной прямо на интрасети. Вы также можете присоединиться к группе Q (879187705), чтобы обсудить.
![]() |
|---|
Проект использует Clion IDE и использует PVS-Studio в качестве инструмента анализа сканирования кода благодаря лицензии с открытым исходным кодом.
![]() | ![]() |
|---|---|
| PVS-Studio | Спеля |