Начать заниматься графическим программированием непросто. Это требует настойчивости и терпения, которые редко встречаются среди людей. Кроме того, документация и учебные ресурсы не упорядочены, как в университетском курсе или курсе Udemy.

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

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

Выберите IDE

Перво-наперво. Вы должны устроиться поудобнее. Если вам нравится CLion, придерживайтесь CLion, если вам нравится VS Code, придерживайтесь VS Code. Визуальная студия, хорошо. Суть в том, что выбирайте то, в чем вы будете наиболее продуктивны. Не ориентируйтесь на инструмент сборки и IDE, если только они не являются стандартными для игрового движка или не требуются сообществом.

Для собственного назидания и личных проектов лучше оставаться максимально продуктивным в своей среде.

Инструменты сборки

Самое сложное в выборе IDE для программирования — встраивание зависимостей в C++ и OpenGL. На самом деле научиться легко включать зависимости в исходный код C++ должно быть первым, чему вы научитесь.

Вы обнаружите, что это намного сложнее, чем другие языки. Решив решить эту проблему в первую очередь, вы сэкономите ТОННЫ времени и усилий позже в своем путешествии по графическому программированию.

Большой секрет управления зависимостями заключается в использовании инструмента сборки. Возможно, самым лучшим и интуитивно понятным является vcpkg от Microsoft. Я настоятельно рекомендую найти руководство по vcpkg и попрактиковаться в добавлении и удалении зависимостей.

Использование vcpkg зависит от IDE. Вы определенно хотите добавить это в свой репертуар навыков C++ в выбранной вами среде IDE. Вам нужно будет использовать цепочку инструментов Visual Studio и связать с ней инструмент сборки vcpkg.

Это может занять у вас много часов, чтобы понять это, но как только вы это сделаете, вам станет доступен весь репозиторий библиотек C++, и вы будете готовы к работе.

Думайте об этом как о гораздо более сложном пипе для python, gradle для Java или npm для Node.js.

CMake — король

Найдите курс Udemy или целую серию YouTube по изучению CMake. Это стоит вложений, и вы обнаружите, что все виды проектов с открытым исходным кодом внезапно станут доступны вам.

CMake — это стандарт C++. Все, что я перечисляю здесь, даже до изучения графического программирования, необходимо для раскрытия возможностей C++ во всем, а не только в графическом программировании. Но да, это расширяет ваши возможности кодирования OpenGL.

Получите как можно больше с помощью CMake в этих руководствах. Игровые движки с открытым исходным кодом, видеоигры на C++, встроенные системы, компиляторы и многие другие типы источников кода используют CMake в качестве инструмента сборки.

Вы всегда сможете использовать эти системы, поэтому изучите их и наслаждайтесь силой, которую вы получаете от них. Да, и еще, vcpkg использует CMake, так что вы на самом деле получаете больше мощности и синергии от изучения обоих.

Наконец, графическое программирование

Хорошо, вот основной план…

  1. learnopengl.com: Ваши первоначальные цели должны состоять в том, чтобы сначала закончить введение и создать треугольник, окно и установить библиотеки. Ваша конечная цель должна состоять в том, чтобы закончить КАЖДЫЙ проект на веб-сайте и практиковаться, вести заметки и читать все. Кроме того, вам нужно научиться не зависеть от расширений OpenGL, то есть вы сможете без проблем переключаться между GLAD, GLEW, GLFW, SDL, GLUT. Как только вы закончите это, вы готовы к работе.
  2. Учебник по рендерингу в реальном времени: После этого прочтите эту книгу. Это лучшая книга по введению графического программирования. Это сделает вас более независимым от Graphics API. Это означает, что вы сможете лучше переключаться между API графического программирования, такими как OpenGL, WebGL, DirectX 11 и т. д.

*Одновременно сделайте следующее:

  1. Посетите встречу по графическому программированию и позвольте себе испытать влияние профессиональных графических программистов.
  2. Отправьте спецификацию OpenGL в свое приложение Kindle в виде PDF-файла и, ожидая места или путешествуя, прочитайте ее. Цель должна состоять в том, чтобы изучить терминологию.
  3. Отправьте спецификацию шейдера OpenGL в приложение Kindle в формате PDF, а также изучите терминологию.

В конце начальное препятствие должно быть преодолено.

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