Hacker News Digest

21 ноября 2025 г. в 23:28 • edw.is • ⭐ 171 • 💬 89

OriginalHN

How I learned Vulkan and wrote a small game engine with it (2024)

Самоучка по графике за 1,5 года прошёл путь от OpenGL (создал 3D-движок) к Vulkan, изучив его с нуля и написав небольшой движок с двумя демо-играми (frame analysis и платформер) за 3 месяца. Движок ориентирован на level-based игры, не универсальный: сначала сделали простую 3D-игру, потом выделили reusable части. Рекомендует начинать с OpenGL (ресурсы: learnopengl.com, книга Anton's OpenGL 4 Tutorials, лекции Thorsten Thormählen, modern OpenGL guides), освоить текстурированные модели, Blinn-Phong, shadow mapping и линейную алгебру (книга 3D Math Primer). Избегать bike-shedding: фокусируйся на конкретной игре.

Ключевые практики Vulkan: библиотеки (Vulkan-Hpp, shaderc, glslang), абстракция GfxDevice, pipeline pattern, programmable vertex pulling (PVP) + buffer device address (BDA), bindless descriptors, push constants, deletion queue для cleanup, compute skinning, MSAA, ImGui с фиксом sRGB. Разделение game/renderer, загрузка сцен/prefabs, отрисовка many sprites. Выигрыш: производительность, понимание low-level. Будущее: оптимизации. "Если самоучка может, то и вы сможете!"