Прогаем с кенгурой
229 subscribers
190 photos
190 videos
17 files
156 links
Сидим с кенгурой под горой, запекаем текстуры...

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

https://gostrobrod.dev
Download Telegram
Яблоки релизнули иос26. Теперь телефон будет греться и садиться просто по факту своего существования 🤠
Сегодня в обед таких вот зверей наблюдал на отливе.

Я сейчас с работами разберусь и буду дальше про видео вещать
2👀1
This media is not supported in your browser
VIEW IN TELEGRAM
Сидел наблюдал за физарумом и нашел что он может объединяться вот в такие пузыри и ползать ими
🔥8
Media is too big
VIEW IN TELEGRAM
Сделал еще одну демку про оптику. На сей раз про проекцию через идеализированную физическую абстракцию объектива - pinhole.
👍53
Теперь надо как-то затащить вместо математической точки физическое отверстие (диафрагму), и будет иллюстрация, откуда берется глубина резкости
1
Media is too big
VIEW IN TELEGRAM
Вот теперь наглядно видно, как образуется глубина резкости:
- когда мы открываем диафрагму от каждой точки объекта приходит не один луч, а пучок под немного разными углами
- линзой мы ловим и фокусируем только пучки с определенного расстояния
- остальные накладываются друг на друга и размывают изображение

Причем, как видите, кусок объекта еще не фокусируется, а другой - уже
9
Пользователь нашел правило физарума, которое образует звездочки
4🤯2
Наткнулся на канал про музыку с шикарно оригинальной подачей материала
https://www.youtube.com/@synthet7
2
Джордан Мекнер (автор старого Принца Персии) написал статью, как портироровал игру между платформами 35 лет назад
https://www.jordanmechner.com/en/latest-news/#a-platform-jumping-prince
👍3
Media is too big
VIEW IN TELEGRAM
Итак. Предпоследний заметный эффект на линзах - Flare

Это вот эти вот повторяющиеся пятна-блики от интенсивных источников света.

На примере оно не очень попадает в фонари, потому как пример был собран на коленке
2
Принцип

При прохождении через объектив свет может переотражаться на линзах. Собственно, потому этих пятен так много.

Чтобы такого избежать, на линзы наносят просветляющее покрытие. Но чем дешевле оптика, тем больше эффектов мы насобираем.
👍3
Алгоритм

Будем делать имитацию (иногда тупо маску накладывают просто - но это слишком):
- берем маски этих бликов (чем их больше, тем разнообразнее и естественнее получится эффект)
- берем две точки, между которыми будут висеть блики
- по числу бликов выставляем число инстансов
- в вертексном шейдере по индексу инстанса выставляем на нашем отрезке квад (заодно можно и размер рандомно покрутить)
- во фрагментном тупо рисуем текстуру во весь квад
- не забываем создать металовский пайпалайн с блендингом по типу как ниже, чтобы при наложении засвет усиливался

if let color0 = desc.colorAttachments[0] {
color0.isBlendingEnabled = true
color0.rgbBlendOperation = .add
color0.alphaBlendOperation = .add
color0.sourceRGBBlendFactor = .one
color0.destinationRGBBlendFactor = .one
color0.sourceAlphaBlendFactor = .one
color0.destinationAlphaBlendFactor = .oneMinusSourceAlpha
}


Что можно/нужно добавить
В идеале нужно трекать автоматически самую яркою точку и от нее проводить отрезок для эффекта (у меня анимация захаркожена - потому криво)
1
Прогаем с кенгурой
Естественная виньетка, Принцип: При отклонении луча от оптической оси освещенность падает. Это будет даже на пинхоле, если же говорить про реальную оптику, то сюда добавятся отражения и прочие проблемы.
По оптике осталась еще одна виньетка, которая возникает из-за того, что оптика у нас круглая, а сенсор прямоугольный. То есть если у нас проекция оптики вписана в кадр, то появится еще одна виньетка.

Отдельно расписывать я это не буду - посмотрите предыдущую и, если надо, наложите еще раз.

На этом часть про оптику объявляю закрытой. Дальше будем смотреть на пленку (она выиграла в опросе)
2
Лимон-мутант
5👻1
Вообще я в афиге конечно со своего лимона. Он цвести собрался, хотя все дерево в плодах. И дома все ими завалено.

Может кто знает, что можно делать из лимонов? Мне их девать некуда
4
Внезапно обнаружил, что youtube не только субтитры сам генерит и переводит, но он еще и озвучку делает.