Skip to content

Instantly share code, notes, and snippets.

@MBkkt
Created September 5, 2020 04:43
Show Gist options
  • Save MBkkt/231bf83c40b34bacafdfd07ba4c085b0 to your computer and use it in GitHub Desktop.
Save MBkkt/231bf83c40b34bacafdfd07ba4c085b0 to your computer and use it in GitHub Desktop.
Гайд по компьютерной графике и не только

Гайд по компьютерной графике и не только

На самом деле просто пихаю ссылки, которые мне чем то понравились при просмотре и которые я хочу быстро найти, если нужно будет что-то вспомнить

В целом большинство материала, кроме книг, на русском, потому что на нем я лучше понимаю ¯\_(ツ)_/¯

А ну и стоит учитывать, что большинство видео я смотрю на х2, поэтому если у вас это не так, то вам может что-то не понравится

Бэкграунд

Математика

Я в целом предполагаю что вы не совсем додик и сможете сами вывести что-то простое из ангема, и в целом знакомы с ним, линалом и другой математикой 1-2 курса. Просто я как то не особо готов рекомендовать литературу или лекции по этим темам. Из того что смотрел я, когда-то очень давно еще до поступления(поэтому за качество не отвечаю, но вроде было норм) https://mipt.lectoriy.ru/course/Math-analyth_geom

C++

Вам нужно уметь хорошо писать код на плюсах.

Курсы:

C них можно начать.

  1. https://stepik.org/course/7 и https://stepik.org/course/3206
  2. https://www.coursera.org/specializations/c-plus-plus-modern-development

Лекции:

Cмотреть паралелльно курсам.

  1. https://my.compscicenter.ru/courses/cpp-1 и https://my.compscicenter.ru/courses/cpp-2 Лесин норм, остальное скучно/устарело
  2. Есть еще вариант с лекциями фивта, но не смотрел так как много повторов с тем что выше, но говорят норм
  3. Если есть доступ к шадовским лекциям посмотрите, довольно много интересного материала, особенно во 2 семе(первый похож на то что выше)
  4. В целом прикольно(но не всегда полезно) смотреть плюсовые конференции

Книги:

Читать нужно либо специлизированные, либо с прикольными штуками, а книги для нубов сожгите:

  1. Скотт Майерс(это как раз про прикольные штуки)
  2. C++ Templates. The Complete Guide. что как раз специлизированная

Алгоритмы

Предполгаю что вы стандартные 4 сема примерно слышали видели и что-то писали, ну а на крайняк умеете гуглить

Из интересного здесь пожалуй только алгоритмы вычислительной геометрии, но по ним кроме очевидного гугла, могу посоветовать только такой курс для нубов https://www.coursera.org/learn/computational-geometry, а так видимо нужно книги читать или реализации либ смотреть(и то не всегда помогает бтв, так что вперед к светлому будущему читаем статьи каких-то шизиков и псевдокод)

Компьютерная графика

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

Базовые вещи и OpenGL & Dx < 12

  1. https://compsciclub.ru/courses/computergraphics/2018-autumn начните с этого, оно немного дольше, чем если сразу сесть рисовать треугольники, но зато некоторый бекграунд, к тому же есть задачи
  2. https://my.compscicenter.ru/courses/2018-autumn/2.385-3d-graphics dx11, но это на самом деле не так важно, курс для начинающих, в курсе есть задачки, довольно приятный лектор(хотя записывал или монтировал какой-то мудак)
  3. https://learnopengl.com ну классика вероятно, есть перевод большей части статей на хабре https://habr.com/ru/post/473990
  4. https://github.com/ssloy/tinyrenderer/wiki прикольный чел в общем, конкретно эта ссылка это софтварный рендеринг, не оптимальная конечно реализация, но простая, частично есть на русском на хабре(как я понимаю автор русский, хз не разбирался)
  5. Ну и не забывайте об офицальной документации

Vulkan

Вообще я бы 10 раз подумал чем писать что-то на вулкане, на работе у меня его нет, изза требований по железу как минимум, поэтому здесь то немногое, что я смотрел:

  1. https://www.khronos.org/blog/beginners-guide-to-vulkan ээ ну просто набор туториалов, но все они небольшие
  2. https://github.com/SaschaWillems/Vulkan много примеров и вообще классный чел

Книги

  1. Real-Time Collision Detection оно не столько про графику, но классно
  2. Game Engine Architecture тоже не про графику, но почти же ы, не могу сказать после прочтения, что книга прям крутая, но много хороших мыслей, и если опыта написания чего то большого не было, то она как раз неплохо проясняет некоторые моменты
  3. GPU gems и другие gems. Это классные наборы статей, хотя что-то уже устарело, но мне например парочка из них подкинула интересные идеи
  4. Обещаю прочитать что-нибудь еще только не бейте

Дополнительные материалы

Мне кажется нормальный человек программист должен понимать, хотя бы отдаленно как работает ось, так что вперед:

  1. https://stepik.org/course/1780/syllabus базовый курс
  2. https://pdos.csail.mit.edu/6.828/2020 (года разные посмотрите оно отличается)

Ну а каждый нормальный программист графики должен хоть отдаленно понимать, что такое gpu:

  1. https://my.compscicenter.ru/courses/video_cards_computation я смотрел только 2018, но записался на 2020, так что напишу потом какой вариант лучше, оно конечно не про графическую часть видеокарты, но все равно штука прикольная и полезная

Паралелки, конкурентность и тд, на самом деле классная тема, но для графики(не на вулкане) далеко не самая необходимая:

  1. В целом советую смотреть на лекторий фивт Романа Липовского(разные года могут отличаться по темам, мне все нравятся, поэтому без ссылок), есть репа с задачами https://gitlab.com/Lipovsky
  2. Можно глянуть лекции Евгения Калишенко на сайте CSC, они неплохи, и материал несколько отличается от того что выше
  3. https://mirrors.edge.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html ну и очень крутая книжка с основ так сказать
  4. https://habr.com/ru/post/317882 серия статей про lock-free от автора одной из самых полных библиотек с lock-free структурами данных
  5. Куча всего что читал или смотрел по теме, но что не так запомнилось и вообще я не хотел про это писать, меня заставили
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment