План обучения программированию графики

Мой план самообучения по программированию графики

Привет, ребята! Давно я не писал на сайт лично, не рассказывал ничего про работу, разработку игр и даже забил на итоги года.

Для тех, кто со мной не знаком, меня зовут Сергей, я интересуюсь программированием графики. Я немало лет разрабатываю игры, начал с Unity и разных мобильных игр (работал в EA Mobile, Nival), потом сменил Unity и C# на C++ и большие ААА игры (об этом я писал в статье). Почти 2 года я работаю в Sperasoft, поучаствовал в разработке двух классных проектов с Ubisoft в качестве геймплей-программиста, и вот некоторое время назад я стал смотреть в RenderDoc не по 2 часа в сутки, а по 10 стал заниматься графикой. Ура! Большое спасибо любимой студии и коллегам!

Похвастался и хватит, детали может как-нибудь расскажу потом. Я решил упорядочить огромный рой мыслей, хотелок и идей в четкий бескомпромиссный план прокачки. Без слез и сантиментов

Цели

Хочу подтянуть знания о программировании для видеокарт и GPGPU

Хочу написать гибридный рендер-движок с растеризацией и трассировкой лучей. Без DXR (DirectX Raytracing) сначала, чтобы разобраться самому в алгоритмах, в теории и только потом уже в API ковыряться. На начальном этапе не хочу думать про realtime. Функционал хочу такой: Небольшая сценка (Sponza Palace или Lumberyard Bistro) можно летать по ней динамически и по нажатию волшебной кнопки включить трассировку, которую динамически применять как refinement кадра полученного растеризацией.

Хочу использовать DirectX 12 (не уверен, что хочу поддерживать свой старый движок с DirectX 11) и модные паттерны вроде render graph. Хочу разобраться с Physically based rendering и зачитаться всякой литературой чтобы сделать правильный PBR.

Читай также:  Дедлайн (Deadline) Что это такое? Что значит это слово?

После хочу заняться ускорением полученного движка: попробовать перенести трассировку в Compute шейдеры, CUDA и DXR.

Шаги

Начну с курсов по вычислениям на видеокартах Полярного и Вахненко (они есть в открытом виде на сайте Computer Science Center)

Потом переключусь на трассировку и проработаю серию книг Питера Ширли (Peter Shirley), тем более она стала бесплатной. Потом перейду к pbrt. Параллельно прочитаю Realtime Rendering, Game Engine Architecture.

А по DirectX 12 и render graph почитаю Фрэнка Луну, посмотрю докладики, и bgfx.

P.S.

Ффух, мысли причесал, грубый план набросал. Можно работать. Как-нибудь собираюсь написать продолжение статьи Сменил Unity на С++ и рассказать про различия процессов в мобильном геймдеве и ААА геймдеве, а так же в рамках разрешенными NDA о работе в Sperasoft.

Задать вопросы про графику, работу и поболтать «за жизнь» можно в комментариях, мне будет приятно!

Всем пока! Гектаров в имениях, легкости в движениях! ;-)

Понравилась статья? Поделиться с друзьями: