TGViewer
Channel Public Channel
Прогаем с кенгурой

Прогаем с кенгурой

@coding_with_kangaroo

Сидим с кенгурой под горой, запекаем текстуры...

{ программирование, процедурная генерация, графика, аудио, образование и немного про специфичные игры }

https://gostrobrod.dev

https://boosty.to/gostrobrod
Subscribers
236
Photos
226
Videos
203
Links
184

Showing posts older than #97 · Back to latest

Older Posts 19 shown
Post #95 204
Screenshot 2025-06-21 at 20.56.00.png419.7 KB Screenshot 2025-06-21 at 20.01.16.png363 KB
L-система - одна из разновидностей фракталов на основе грамматик строк. Состоит из алфавита возможных элементов, инициирующего состояния и набора правил, какие элементы что порождают. На каждой итерации к каждому элементу текущего состояния применяются соответствующие правила (если они есть). Примеры:

Треугольник Серпинского
алфавит: F G + −
инициирующее состояние: F−G−G
правила:
F → F−G+F+G−F
G → GG
параметры: угол=120°
F и G рисуют отрезок, + поворачивает на право, - поворачивает на лево.

Кривая Дракона
алфавит: X Y F + −
инициирующее состояние: FX
правила:
X → X+YF+
Y → −FX−Y
параметры: угол=90°
F рисует отрезок, + поворачивает на право, - поворачивает на лево.

Растения и деревья
Море их - даже описывать не буду.

При построении фигуры элементы могут быть использованы как операции отрисовки, так и просто как вспомогательные элементы между итерациями. На самом деле тут не стоит привязываться к графике и фигурам - хотя изначально L-системы пошли из ботаники и форм растений, они прежде всего про строки.
Post #93 199

Forwarded from Генканал (George)

Симуляция частиц
от @coding_with_kangaroo

Сделана на подобии Particle Life (в плане идеи нескольких классов с разными коэффициентами взаимодействия), но с расширением в сторону физичности: учитывается масса, а взаимодействие работает через квадрат расстояния: f(i,j)=k_{ij}\cdot\frac{m_{i}\cdot m_{j}}{r_{ij}^{2}}.

- Правило - матрица 4х4 (число классов - 4), которая описывает коэффициенты взаимодействия между классами. При этом она может быть несимметричной.
- Так как в симуляции считаются только частицы (положение + скорость), то поле - виртуально и может быть любого размера.
- Пространство тороидально, чтобы частицы не разлетались со временем - все же это делалось для лирики, а не физики.
- Скорости тоже можно делать неограниченными, но нужно масштабировать время, иначе частицы проходят за итерацию расстояния, сильно превышающие их размер.

На видео - арт режим, когда цвета и правило меняются по времени + сделано движение поля по фигуре Лиссажу 1:2.

Приложение на AppStore
Видео на ютубе
#particle
  • 🔥 4
Post #91 221
Прогаем с кенгурой Почему у Андроида такая всратая тула для дебага видюхи? Из официального я нашел только Android GPU Inspector (AGI), и это шайтан-арба мало того, что работает не только лишь на всех девайсах (про симулятор молчу), так еще и на них - через раз, падает, не может…
Подсказали армовскую тулу https://developer.arm.com/Tools%20and%20Software/Graphics%20Analyzer

По сравнению с AGI сильно удобнее и, самое главное, работает на всем моем небольшом зоопарке.
Arm Graphics Analyzer Trace OpenGL ES and Vulkan API calls to identify bottlenecks in application performance.
  • 👍 1
Post #88 240
Почему у Андроида такая всратая тула для дебага видюхи? Из официального я нашел только Android GPU Inspector (AGI), и это шайтан-арба мало того, что работает не только лишь на всех девайсах (про симулятор молчу), так еще и на них - через раз, падает, не может захватить кадры и прочее.

У яблок же отладчик GPU - просто прелесть: работает и на девайсах, и на симуляторе, все захватывает, умеет дебажить и тд. Да, иногда глючит, падает, но в большинстве случаев работает замечательно. И оно правится и развивается от версии к версии!

Если вы знаете, что есть для Андроида кроме AGI - скажите, ибо задолбало меня это чудище.
Android Developers Android GPU Inspector | Android Developers
Post #87 215
  • 😁 9
Post #86 219
Недавно столкнулся с проблемой кодирования 4к видео на Андроиде (на iOS жалобы не поступали) - у него пячится цвет:

Проблема возникает из-за разных цветовых стандартов исходного и экспортируемого видео. На входе у нас BT.470, на выходе BT.709 (зеленоватое) или BT.2020 (красноватое).

Даже если мы выставим руками BT.601 (тот же BT.470 математически), то аппартаный энкодер поставит обратно в BT.709 (или BT.2020 в зависимости от вендора) для 4к видео, потому что BT.601 не поддерживается для таких размеров. Также мы могли бы руками править цвет, но для этого нам нужно знать входной формат, а средствами андроида это получить невозможно - он нули возвращает.

Поэтому будем тащить ffmpeg и ручками пячить цвета.

Немного контекста: эти стандарты по сути определяют матрицу для перехода YUV<->RGB и пришли из телевидения. (вот про 601 например)
  • 👍 3
  • 👀 1
Post #85 208
Автоматизировал постройку коридоров.

Для этого я держу поле с ячейкой 5х5 тайлов, где помечаю, построен там коридор или нет. Это нужно по нескольким причинам:
1. Коридоры всегда выровнены по сетке
2. Не нужно перепердоливать созданнаю ячейку (по крайней мере в данной сессии), то есть если вы там что-то руками поменяете, оно останется
3. Оно мне нужно для постройки границ коридора (блоков вокруг)

Как строятся границы:
- для всех измененных ячеек я беру нулевых соседей
- для каждого соседа строю маску, как расположены соседи вокруг
- в зависимости от маски ставлю блоки

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

Из минусов - после перезапуска игры тула уже не помнит, где что было - карта чистая.
  • 🔥 2
Post #84 203
  • 🔥 4
Post #83 238
Post #82 239
Прогаем с кенгурой Нашел, куда с пользой на практике применить процедурную генерацию - буду пилить мод для Террарии, потому как задолбала меня там рутина типа копания туннелей. Ну и всякие биомы можно нагенерить через SDF необычные. Пока сделал рисование этих самых тоннелей))
Так, вроде получилось привести в стабильное состояние отрисовку, разобраться с системами координат поля и гуи, как что чем рисовать и прочим.

В итоге сделал мод [WdF] Tools - он опубликован и в нем аж целый один инструмент, который крафтится из куска земли и умеет рыть тоннели между двумя точками.

Теперь, когда база отлажена и изучена, можно приступать к более интересным генерациям.
  • ❤ 4
  • 👍 2
  • 🔥 2
Post #81 240
К вопросу liquid ass. Недавно на одном проекте делал такую линзу для просмотра значений пикселей. В данном случае - индексированная гифка
  • 🔥 16
Post #80 258
В дебагере Метала обещают вот такую тулу для отладки нейронок - прям красивое
  • 👍 3
Post #79 255
Metal4

1. Меньше оверхеда и жонглирования энкодерами
- Блит и компьют теперь просто компьют
- У рендер энкодера можно переключать аттачменты (фреймбуферы) на лету в энкодере
- новый MachineLearningEncoder

2. Управление ресурсами в энкодере
- теперь мы можем их выставлять заранее, а не в энкодере
- ресурсы подгружаются по мере необходимости

3. Улучшенная синхронизация (?)

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

5. Интеграция ML наконец
- добавили тензоры (раньше были только буферы и текстуры)
- новый MachineLearningEncoder
- CoreMLPackage -> MetalPackage->энкодер
- расширения для Metal Shading Language для поддержки всего этого

6. В MetalFX добавили плюшек
- апскейл (было и раньше)
- интерполяция кадров
- денойз для рейтрейсинга

7. Можно мешать старый и новый с помощью MTLEvent

Возможно, что-то пропустил. Детали будем смотреть в доках и следующих сессиях.
  • 👍 5
Post #78 236
Foundation model

Выглядит многообещающим. Надеюсь работать будет так же хорошо, как презентовано.

Сделаю однажды на этом полностью процедурно генерированную RPG, если оно будет работать.
  • 🔥 1
Post #77 264
Liquid Glass

Пока три вопроса
1. Сколько оно жрет батареи на все эти эффекты стекла?
2. На эффекты жидкости оно SDF использует или ручками через безье фигуры строит?
3. Сколько теперь страдать дизайнерам и фигме?
  • 😁 5
  • 🤝 3
Post #76 234
Вроде яблоки анонсировали интересного про Metal, AVP и ML. Проснусь - посмотрю, что там.

Пока очень полезной в продуктовом плане видится поддержка контроллеров для очков - можно будет реализовать операции, требующие точности позиционирования.
Post #74 247
Post #73 241
Нашел, куда с пользой на практике применить процедурную генерацию - буду пилить мод для Террарии, потому как задолбала меня там рутина типа копания туннелей.

Ну и всякие биомы можно нагенерить через SDF необычные.

Пока сделал рисование этих самых тоннелей))
  • 🔥 6
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →