Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
OpenGL и Vulkan в моей реализации показали фреймрейт на 30% хуже, из чего я сделал вывод, что с ними у меня не получилось разобраться на достаточном уровне.
К тому же, подробные «пошаговые» статьи про другие API мне также не удалось найти
Первая же ссылка в гугле Learn OpenGL
DirectX? Вы серьезно?
API используемый на одной единственной платформе в 2018 году? Хмм…
Использовать API под наиболее распространённую платформу вполне нормальное решение
Мобильные устройства учитываете?
Возьмем рынок игровых консолей. Да Xbox One использует directx. А PS4 и Nd swith — не используют.
В эпоху когда кроссплатформенность это маст хэв для нормального проекта.
__uuidof(...) — это расширение компилятора Visual C++, возвращает GUID заданного выражения.В данном случае невозможно выразить NUMTHREADS через константу, т.к. [numthreads(...)] принимает только литералы. Чтобы эта константа была определена в одном месте (а используется она в шейдере и в вызывающем коде), использовал #define — очень редкая ситуация, в которой можно попытаться оправдать макрос. PARTICLE_COUNT задефайнен для единообразия.
На счет NULL или nullptr здесь не уверен, вероятно, Вы правы.
Оценку своего опыта в плюсах давать не рискну, т.к. этот опыт делится на олимпиадные задачи, мелкие проекты по типу приведенного в статье и заброшенные незавершенные проекты (в основном попытки создания игр). Если же интересует именно время — примерно с 2013.
Написание системы попарно взаимодействующих частиц на C++ с использованием DirectX 11