Привет! Меня зовут Хамзат (Азраиль), и я занимаюсь разработкой игр с 2019 года. За это время было всё: провальные проекты, финансовые трудности и даже работа учителем в кружке компьютерной графики. Но со временем я нашёл своё направление — создание шейдеров и визуальных эффектов для Unreal Engine 5. Сегодня хочу поделиться своей историей, успехами и планами на будущее.
Рубрика «шейдеры»
Как я заработал первый миллион за год с нуля в геймдеве, продавая ассеты на UE Marketplace
2025-03-28 в 6:16, admin, рубрики: fab, unreal engine 5, VFX, геймдев, Маркетинг в геймдеве, Продажа ассетов, разработка игр, Создание ассетов, Челленджи, шейдерыАнимация частиц песка для прелоадера и первая попытка в шейдеры и WebGL
2025-02-01 в 6:16, admin, рубрики: анимации, первый опыт, физика движения, физика частиц, шейдерыПривет, меня зовут Ваня! Я фронтенд-разработчик в Лиге А. и часто работаю с анимациями на клиентских проектах. В основном, использую Gsap, простые CSS-анимации или Lottie. А вот проекты, которые нужно реализовывать на WebGL встречаются редко и почти всегда задача по ним звучит необычно.

Как устроен эффект ядерного взрыва в Fallout 4
2024-12-26 в 8:40, admin, рубрики: fallout 4, анимация, текстуры, шейдеры
Давайте исследуем одну загадку: как Bethesda смогла сделать такие грибообразные облака ядерных взрывов?
Источник: Fallout 4
Реальная жизнь
Почему грибообразные облака сложно создавать в играх? Давайте рассмотрим пример из реальной жизни:
Оптимизация ядра WebGPU для перемножения матриц и достижения производительности свыше 1ТФЛОПС
2024-12-05 в 21:57, admin, рубрики: CUDA, высокая производительность, оптимизация, шейдерыПишем Surfgrad, высокопроизводительную библиотеку для автоматического дифференцирования выражений при помощи WebGPU.
Я работаю в компании Nomic, и многие из моих коллег заняты созданием больших TSNE-подобных визуализаций, работающих в браузере. При визуализации таких двумерных карт возникает две проблемы: проецировать эти конструкции (напр. TSNE и UMAPЧитать полностью »
О шейдерах в Game Maker Studio 2
2024-08-30 в 15:16, admin, рубрики: game maker, game maker studio, Gamedev, gamedevelopment, GMS, gms2, shaders, vertex shaders, геймдев, шейдерыКак работают шейдеры в GMS2? Как их писать и использовать? Что означают термины attribute, varying и uniform? Какой тип шейдера выбрать? Почему шейдер всегда состоит из двух файлов? Чем отличается вершинный шейдер от фрагментного? И причём здесь треугольники?

Как мы уложили компьютерный мультик в 8 кБ
2024-02-05 в 13:50, admin, рубрики: 3d, занимательные задачи, компьютерная графика, оптимизация, шейдерыВ ноябре 2022 года мы задали себе задачку: можно ли запрограммировать анимацию, воспроизводимую в режиме реального времени, как обычный короткий мультик, но с условием, что файл должен быть не больше 8 килобайт. При этом цель считалась бы достигнутой, если бы у нас получилась нормальная графика, анимация, режиссёрская и операторская работа, а ещё подходящая музыка. Да, 8 килобайт — на секундочку, в два с лишним раза меньше этого поста. Мы не представляли, насколько это вообще возможно, так что оставалось только попробовать.
В апреле 2023 года, спустя несколько месяцев работы, мы, наконец, выкатили ленту Читать полностью »
Ускоряем панораму машины в приложении Авто.ру
2021-12-14 в 8:39, admin, рубрики: авто.ру, Блог компании Яндекс, видеоформаты, панорамы, Работа с видео, разработка мобильных приложений, Разработка под android, шейдерыВ приложении Авто.ру есть такая фича — панорамы автомобилей. Она позволяет любому сделать 3D-фото своей машины, показать её во всей красе. Как это работает и как нашим коллегам из ML удалось уместить в смартфон то, что раньше требовало целого ангара, напичканного дорогостоящим оборудованием, yaantonn уже рассказывал на Хабре.
Но отснять панораму — лишь полдела. Затем её предстоит воспроизвести, причём сделать это одинаково хорошо и на топовом флагмане, и на бюджетном смартфоне.
Nuke Thunder: математика и оптимизация
2021-05-19 в 7:26, admin, рубрики: volumetric rendering, war thunder, атомный взрыв, Блог компании Gaijin Entertainment, графика, Дизайн игр, Игры и игровые приставки, Программирование, шейдеры, эффектыОбъемная задача
В обновлении «Новая сила» в War Thunder у самых результативных игроков в бою появилась возможность использовать атомное оружие. И появилась чертовски интересная задача создания визуального эффекта атомной бомбардировки.
Исходя из существующих в 40-х и 50-х годах калибров советского и американского тактического атомного вооружения, мощность взрыва была выбрана на уровне 30-40 килотонн (бомбы Mark 4 и РДС-2Читать полностью »
«А Crysis потянет?» Почему до сих пор обсуждают игру, выпущенную 13 лет назад
2020-07-23 в 5:28, admin, рубрики: CryEngine, Crysis, crytek, far cry, ubisoft, вершинные шейдеры, Игры и игровые приставки, конвейер рендеринга, пиксельные шейдеры, разработка игр, шейдеры
Каждый год выпускаются сотни новых игр. Некоторые из них добиваются успеха и продаются миллионами копий, но само по себе это не гарантирует статуса легенды. Однако изредка появляются игры, которые становятся частью истории отрасли, и мы продолжаем обсуждать их и играть в них спустя годы после выпуска.
Для игроков на PC есть одна игра, ставшая почти легендарной благодаря своей невероятной, обогнавшей своё время графике и способности снижать фреймрейты компьютера до однозначных чисел. Позже она стала знаменитой благодаря тому, что на десяток лет превратилась в надёжный источник мемов. В этой статье мы расскажем о Crysis и о том, что сделало его таким уникальным.
Первые дни Crytek
Прежде чем погрузиться в историю Crysis, стоит совершить краткое путешествие во времени и узнать, как было заложено основание Crytek. Эта компания по разработке ПО была основана осенью 1999 года в Кобурге, Германия тремя братьями — Авни, Джеватом и Фаруком Йерли. Объединившись под руководством Джевата, братья начали создавать демо игр для PC.
Читать полностью »
Минимальный WebGL в 75 строках кода
2020-07-22 в 6:06, admin, рубрики: glsl, OpenGL, WebGL, конвейер рендеринга, Работа с 3D-графикой, растеризация, шейдерыСовременный OpenGL и, в более широком смысле, WebGL, сильно отличается от старого OpenGL, который я изучал в прошлом. Я понимаю, как работает растеризация, поэтому вполне разбираюсь в концепциях. Однако в каждом прочитанном мной туториале предлагались абстракции и вспомогательные функции, усложнявшие мне понимание того, какие части относятся к самим API OpenGL.
Уточню — такие абстракции, как разделение данных позиций и функциональности рендеринга на отдельные классы важны в реальных приложениях. Однако эти абстракции раскидывают код по разным областям и добавляют избыточность из-за бойлерплейта и передачи данных между логическими единицами. Мне удобнее всего изучать тему на линейном потоке кода, в котором каждая строка непосредственно относится к этой теме.
Во-первых, нужно поблагодарить создателя использованного мной туториала. Взяв его за основу, я избавлялся от всех абстракций, пока не получил «minimal viable program». Надеюсь, она поможет вам начать освоение современного OpenGL. Вот что мы будем делать:

Равносторонний треугольник, зелёный сверху, чёрный в нижнем левом углу и красный в нижнем правом, с интерполированными между точками цветами. Чуть более яркая версия чёрного треугольника [перевод на Хабре].
Читать полностью »