На самом деле просто пихаю ссылки, которые мне чем то понравились при просмотре и которые я хочу быстро найти, если нужно будет что-то вспомнить
В целом большинство материала, кроме книг, на русском, потому что на нем я лучше понимаю ¯\_(ツ)_/¯
А ну и стоит учитывать, что большинство видео я смотрю на х2, поэтому если у вас это не так, то вам может что-то не понравится
Я в целом предполагаю что вы не совсем додик и сможете сами вывести что-то простое из ангема, и в целом знакомы с ним, линалом и другой математикой 1-2 курса. Просто я как то не особо готов рекомендовать литературу или лекции по этим темам. Из того что смотрел я, когда-то очень давно еще до поступления(поэтому за качество не отвечаю, но вроде было норм) https://mipt.lectoriy.ru/course/Math-analyth_geom
Вам нужно уметь хорошо писать код на плюсах.
C них можно начать.
- https://stepik.org/course/7 и https://stepik.org/course/3206
- https://www.coursera.org/specializations/c-plus-plus-modern-development
Cмотреть паралелльно курсам.
- https://my.compscicenter.ru/courses/cpp-1 и https://my.compscicenter.ru/courses/cpp-2 Лесин норм, остальное скучно/устарело
- Есть еще вариант с лекциями фивта, но не смотрел так как много повторов с тем что выше, но говорят норм
- Если есть доступ к шадовским лекциям посмотрите, довольно много интересного материала, особенно во 2 семе(первый похож на то что выше)
- В целом прикольно(но не всегда полезно) смотреть плюсовые конференции
Читать нужно либо специлизированные, либо с прикольными штуками, а книги для нубов сожгите:
- Скотт Майерс(это как раз про прикольные штуки)
- C++ Templates. The Complete Guide. что как раз специлизированная
Предполгаю что вы стандартные 4 сема примерно слышали видели и что-то писали, ну а на крайняк умеете гуглить
Из интересного здесь пожалуй только алгоритмы вычислительной геометрии, но по ним кроме очевидного гугла, могу посоветовать только такой курс для нубов https://www.coursera.org/learn/computational-geometry, а так видимо нужно книги читать или реализации либ смотреть(и то не всегда помогает бтв, так что вперед к светлому будущему читаем статьи каких-то шизиков и псевдокод)
Вообще мне кажется самый простой способ нормально разобраться это написать свой рендер, ну в зависимости от того что вы хотите он может отличаться по функциональности, но многое так понять проще и быстрее.
- https://compsciclub.ru/courses/computergraphics/2018-autumn начните с этого, оно немного дольше, чем если сразу сесть рисовать треугольники, но зато некоторый бекграунд, к тому же есть задачи
- https://my.compscicenter.ru/courses/2018-autumn/2.385-3d-graphics dx11, но это на самом деле не так важно, курс для начинающих, в курсе есть задачки, довольно приятный лектор(хотя записывал или монтировал какой-то мудак)
- https://learnopengl.com ну классика вероятно, есть перевод большей части статей на хабре https://habr.com/ru/post/473990
- https://github.com/ssloy/tinyrenderer/wiki прикольный чел в общем, конкретно эта ссылка это софтварный рендеринг, не оптимальная конечно реализация, но простая, частично есть на русском на хабре(как я понимаю автор русский, хз не разбирался)
- Ну и не забывайте об офицальной документации
Вообще я бы 10 раз подумал чем писать что-то на вулкане, на работе у меня его нет, изза требований по железу как минимум, поэтому здесь то немногое, что я смотрел:
- https://www.khronos.org/blog/beginners-guide-to-vulkan ээ ну просто набор туториалов, но все они небольшие
- https://github.com/SaschaWillems/Vulkan много примеров и вообще классный чел
- Real-Time Collision Detection оно не столько про графику, но классно
- Game Engine Architecture тоже не про графику, но почти же ы, не могу сказать после прочтения, что книга прям крутая, но много хороших мыслей, и если опыта написания чего то большого не было, то она как раз неплохо проясняет некоторые моменты
- GPU gems и другие gems. Это классные наборы статей, хотя что-то уже устарело, но мне например парочка из них подкинула интересные идеи
- Обещаю прочитать что-нибудь еще только не бейте
Мне кажется нормальный человек программист должен понимать, хотя бы отдаленно как работает ось, так что вперед:
- https://stepik.org/course/1780/syllabus базовый курс
- https://pdos.csail.mit.edu/6.828/2020 (года разные посмотрите оно отличается)
Ну а каждый нормальный программист графики должен хоть отдаленно понимать, что такое gpu:
- https://my.compscicenter.ru/courses/video_cards_computation я смотрел только 2018, но записался на 2020, так что напишу потом какой вариант лучше, оно конечно не про графическую часть видеокарты, но все равно штука прикольная и полезная
Паралелки, конкурентность и тд, на самом деле классная тема, но для графики(не на вулкане) далеко не самая необходимая:
- В целом советую смотреть на лекторий фивт Романа Липовского(разные года могут отличаться по темам, мне все нравятся, поэтому без ссылок), есть репа с задачами https://gitlab.com/Lipovsky
- Можно глянуть лекции Евгения Калишенко на сайте CSC, они неплохи, и материал несколько отличается от того что выше
- https://mirrors.edge.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html ну и очень крутая книжка с основ так сказать
- https://habr.com/ru/post/317882 серия статей про lock-free от автора одной из самых полных библиотек с lock-free структурами данных
- Куча всего что читал или смотрел по теме, но что не так запомнилось
и вообще я не хотел про это писать, меня заставили