creator cover Шакоретка
Шакоретка

Шакоретка 

Crazy mad man driven by pie and coffee 🥧☕️

3subscribers

13posts

Showcase

4
goals1
0 of 500 paid subscribers
Ухожу из найма, посвящаю себя активности в сети, качество и количество контента увеличивается.

About

├─ Name: Saveliy
├─ Alias: Shakoretka
├─ Field: Game Development
├─ Focus
│ ├ Computer Graphics
│ ├ VFX & Particle Systems
│ ├ Engine Tools & Scripting
│ └ Procedural Generation & Experimentation
└─ Interests
  ├ Games
  ├ Programing
  ├ Cooking
  ├ Art
  └ Nature

Начни здесь! / Start here!

Приветствие:
Меня зовут Савелий aka Shakoretka, занимаюсь различными типами программной разработки для собственного удовольствия, ковыряю периферию окружений и собираю полезные знания в упорядоченную кучу (в меру собственных умений).
Профессионально, берусь за разработку видеоигр в роли "3D pipeline architect", "Technical Artist", "Shader Artist", "VFX Artist", "Houdini Artist" на "Unreal", "Unity" и прочих реалтаймовых движках с подробной документацией и активной командой.
Релевантные технологии, о которых здесь может появится информация (пополняющийся список, если не нашли интересующей темы или статьи, задайте вопрос лично на электронный ящик invaders76@yandex.ru с Темой "Список технологий")
Большие статьи публикуются на DTF  и Habr
Как восстановить нормаль из RG текстуры доказав теорему Пифагора
Возможно, вы сталкивались с текстурами нормали представленными в двухканальном виде RG(XY). Она же BC5/Компрессия. Что же стало с B(Z)?...
Level required:
Flower
Forward rendering
Адаптированный под работу с шейдерами, программируемый GPU пайплайн, пользующийся популярностью по сей день...
Level required:
Flower
Сферические гармоники и причем тут лайтпробы
Рано или поздно, в CG, нас всех настигает тема сферических гармоник. Гармоники - это удобный способ емко сохранить информацию о...
Level required:
Flower

Сборка ПК, выбор комплектующих (Процессоры)

Статья является частью серии, публикующейся поочередно.
Основные компоненты
• Процессор
• Видеокарта
Сопутствующие
• Система охлаждения процессора
• Материнская плата
• Оперативная память
• Блок питания
Опциональные
• Накопители
• • HDD
• • SSD
• Корпус
• Система охлаждения корпуса
Основные компоненты
Стоит обратить внимание на то, что от выбора основных компонентов будет зависеть выбор всего сопутствующего оборудования, как правило, чем дороже процессор и видеокарта, тем дороже вся сборка.

Растеризация в 3D графике от Классики до MeshShader

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

Как это работает:

1. Input Assembler - этап, на котором данные обретают форму. Вершины подготавливаются для Vertex Buffer: определяются типы данных и их размерность (позиция, UV, нормаль, Vertex ID и т.д.).
2. Vertex Shader - преобразует данные вершин и их положение в Clip Space пространстве с помощью перемножения матриц, подробнее о пространствах и преобразованиях в моей статье на DTF. Также в нем можно задавать новые параметры для вершин: цвет, псевдослучайные величины и т.д.
3. Tessellation - динамически усложняет геометрию, разделяя существующие примитивы для увеличения детализации. Применяется для локальных эффектов: следы на снегу, процедурный ландшафт или волны.
EasingGraph
// Easing nodes library for Shader and VFX Graphs
Level required:
Flower

Бинарный поиск

Приведенный в статье код написан на python
Важнейший поисковый алгоритм, позволяющий искать значение в отсортированном списке с выдающейся скоростью, сложность которого составляет O(log2 n). На практике это значит, что для нахождения элемента в списке длиной n понадобится:
• n = 2(1 попытка)
• n = 4(2 попытки)
• n = 8(3 попытки)
• n = 16(4 попытки)
• n = 32(5 попыток)
• n = 64(6 попыток)
• n = 128(7 попыток)
• n = 256(8 попыток)
и так далее...
Длина списка растет квадратично пока сложность поиска растет линейно. Для сравнения, если мы попробуем найти случайный элемент в списке из 16 777 216 значений, и сделаем это проверяя каждый элемент по порядку, в худшем случае нам потребуется 16 777 216 проверок, а в среднем 8 388 608, тогда как Бинарный поиск, найдет его всего за 24 попытки максимум!

Easing Functions (Изинги)


Easing функции - это математические формулы, которые определяют скорость изменения параметра. В основе лежит преобразование линейного входного значения t в диапазоне [0,1] в нелинейное выходное значение согласно формуле.

Зачем это нужно

Изинги позволяют уйти от «роботизированного» линейного движения, добавляя инерцию, ускорение, плавность или предают живой вид изображению.

Сферы применения

  • Web & Frontend: Анимация появления элементов, плавный скролл, переходы(Transitions).
  • UI/UX: Отклик интерфейса на действия пользователя (нажатия, выплывающие меню).
  • Системы частиц: Изменение размера, прозрачности или скорости партиклов.
  • Обработка изображений: Плавные градиенты, маски, процедурная генерация.

Полезные ресурсы

Для подбора кривых и визуализации удобно использовать:
  • easings.net полная библиотека основных функций с примерами на CSS/JS, сопровождающаяся иллюстрациями. Рекомендую.
  • Сeaser простой, наглядный инструмент для генерации кастомной cubic-bezier функции для веб-разработки.

Реализация для Unity (Swift FX - Easing Graph)

FFmpeg, как отказаться от конвертации онлайн

FFmpeg - мощнейшая и широко распространенная опенсурс библиотека обработки аудио и видео файлов из командной строки. Почти все известные редакторы и медиаресурсы существуют на его основе, YouTube, TikTok, PornHub и т.д.
Он чрезвычайно прост в использовании, ниже я опишу все то, чем пользуюсь сам.
Установка
1.Скачайте актуальную под вашу платформу версию с сайта
2.Распакуйте в любое удобное место
3.Добавьте путь с исполняемым файлом ffmpeg.exe в path переменных сред
4.Запустите терминал и выполните команду ffmpeg, если в ответ на нее, в терминале появилось описание программы, то все работает как положено
Написание скрипта
1.Создайте ярлык в удобной вам папке
2.Смените его адрес на cmd, теперь активация ярлыка вызовет терминал
3.Откройте свойства ярлыка и удалите данные в поле "Рабочая папка", открывая терминал, он всегда будет ссылаться на папку в которой находится
Subscription levels1

Flower

$3.7 per month
• Доступ к статьям на Boosty.
• Доступ к закрытому Telegram каналу.
• Большинство статей в Telegram канале те же, что и на Boosty.
• Доступ к Telegram каналу остается у вас навсегда.
Go up