Отсечение модели в шейдере
Обычно на такие простые вещи "тратится" много математики. Реализовал "отсечение" вершин прямо в шейдере, как вам качество отсечения? :)
Зачем это?
Нужно было сделать реальные волны внури сосуда, а не однородную водную поверхность:
Продюсер франшизы «Дивергент» открыл студию по созданию фильмов и сериалов «почти студийного качества» с помощью ИИ
В компании показали отрывок из своей первой картины — за дизайн персонажей отвечал бывший аниматор из Pixar.
Очень круто, скорее бы уже ии развивалось и мы получали качественный контент раньше и более разнообразный.
А когда-нибудь возможно можно будет получить книгу или фильм, игру просто задав координаты для ии и ориентиры!
Но до того конечно ещё долго наверное
Обновлённая версия GTA V вышла на ПК — в игру добавили трассировку лучей, быстрые загрузки и контент для онлайн-режима
Она бесплатная для владельцев игры.
Продолжаем дальше не играть в гта 5
Комментарий недоступен
Комментарий недоступен
Блин а чо без кода то
Интересно. Реализацию подробнее опишешь?
Я опишу
Передаешь в шейдер точку (центр площади отсечения) и нормализованный вектор (нормаль плоскости отсечения)
В вертексном шейдере находишь позицию точки в мировом пространстве, находишь ее позицию относительно секущей плоскости, и, если она пересекает ее - сплющиваешь о плоскость.
На примере unity
вместо
o.vertex = UnityObjectToClipPos(v.vertex);
делаем
o.vertex = mul(UNITY_MATRIX_M, v.vertex); // находим точку в мировом пространстве
if (o.vertex.y > 0) // если точка пересекает плоскость (простой пример)
o.vertex.y = 0; // плющим ее
o.vertex = mul(UNITY_MATRIX_VP, o.vertex); // домнажаем на проекционно-видовую матрицу, чтобы найти положение точки на экране.
Возможно позже, после того как с работой разберусь :)
Комментарий недоступен