Как стать автором
Обновить

Комментарии 17

Шейдеры типа warframe (где требуется понимание барицентрических координат)

Игру такую знаю, а вот шейдер — нет. Можно больше информации?
Спасибо. Опечатался. Конечно wireframe. Вот такой эффект www.youtube.com/watch?v=v38qwLCPZjQ

Это правда его упрощённая вариация. Можно написать версию по замороченнее, когда меш будет разбиваться не на трианглы, а на квады. Круто смотрится в визуализациях инженерных. Машины и их детали. Когда сначала у тебя появляется wire, а потом через dissolve появляется сама машина скажем на этом wire. И wire уходит в альфу.
Ну, это как-то сильно надмозгово для шейдера на мой взгляд.
Сам Wireframe рисовали ещё до того, как стали закрашивать треугольники одним цветом.
В OpenGL для этого есть glPolygonOffset, например, чтобы рисовать сетку поверх.
Зависит. Я его последний раз юзал (только другую версию) в мобильном AR на каком-то калькуляторе для красивого VFX с появлением зданий. В целом по сути wireframe является хорошим примером, что в vertex color (и других параметрах вершин) можно хранить, что хочешь. Вопрос как ты потом это будешь обрабатывать в шейдере.
Крайне полезно для начинающих, спасибо! Тема очень интересна и именно для Unity.
Проблема ветвления в том, что может случиться ситуация, когда в одной группе шейдеров, шейдеры должны вызывать разные операции. Что в свою очередь приводит к созданию нового волнового фронта, копированию в него данных и т.п. А это очень дорого.

Каша-малаша в терминологии, и враки: из-за бранчинга новый wavefront не создается. Как по-вашему это работает? Кто и в какой момент определяет что нужно запустить еще один wavefront?

к картезианским координатам

декартовым

Не хочу показаться грубым, но не пишите продолжение, хорошие туториалы УЖЕ есть, а начать писать серию по сложной теме где сразу же смешались в кучу кони, люди… Мне кажется это медвежья услуга для читателей.
Зависит от графического апи и оборудования. Забудем про как минимум три случая (и это тоже зависит от графического апи, так как на OpenGL ES 2.0 всё прям грустно), когда стоимость — это просто условие. То что выше, это условное упрощение, чуть лучше чем «выполняются обе ветки ифа», на мой взгляд. tangentvector.wordpress.com/2013/04/12/a-digression-on-divergence

То как оно себя конкретно поведёт и упростится на этапе компиляции — зависит от компилятора и графического апи. Новый волновой фронт понятное дело не создастся во время исполнения, а это всё будет решено на этапе компиляции. Но это доп. исполнение и доп. копия данных. Может в этом я конечно ошибаюсь, так как я опираюсь на то, что я изучал. Если можете объяснить на пальцах по простому, как оно работает в комментарии, было бы круто.
Новый волновой фронт понятное дело не создастся во время исполнения, а это всё будет решено на этапе компиляции.

Воу, на этапе компиляции шейдера создается волновой фронт?

Не волновой фронт, а то как поведёт себя if. Но может хватит выпендриваться, и объясните на пальцах, если знаете объяснение лучше? :)

давайте по-честному: Вы пришли со статьей, в продолжении расскажите и ошибки в этой заодно исправите. А я мимо проходил
И я не вижу ничего плохого в том, чтобы в комментариях исправлялись неточности, которые появились в ходе изучения, либо неправильных материалов, либо неправильного восприятия материала. Это и мне, и аудитории полезно.

Про то, в чём я себя чувствую неуверенно, я и не собираюсь углубляться. Но учитывая сколько задач мы решаем шейдерами почти каждый день, есть много вещей которые можно делать чисто на уровне практики. Почему-то те, кто во всём разбираются, пишут сразу статьи про какой-то космос. А не практические статьи для новичков, которым тоже надо учиться, как даже банальный dissolve просто написать (хз, что придумать даже проще). Можете посмотреть мою серию по математике. Мои статьи — это в большинстве своём простая практика с примерами. Так как это основное, что нужно новичкам. А не «как сделать физичную верёвку с помощью FEM». Или любой другой сложной математической модели, где нужно знать диффуры достаточно хорошо, чтобы вкурить, что происходит. Я только за, чтобы люди делились экспертизой и исправляли неточности источников, так как я сам опираюсь на какие-то. Но почему-то большинство специалистов этого не делает :)

На тему уже написано. Каждый пишет своим языком, и каждый вопринимает информацию по своему. Я пока встречаю больше страха шейдеров, чем «да это просто нужно прочитать X, Y, Z» с точки зрения найма сотдрудников.
декартовым

Про координаты я говорил именно про картезианские. Так как решал такую задачу, когда мне нужно было морфировать вертексы плейна, чтобы получить картографическую проекцию. Собственно я пробовал разные способы.
извините, действительно Декартову систему координат по-русски еще называют «картезианской» меня как-то это покоробило — поэтому подумал — ошибка. Не понял почему Вы говорите о них как о разных системах координат
спасибо за статью! очень хорошо получается объяснять у автора. ждем новых статей на тему!

Добрый день, продолжайте, пожалуйста.

НЛО прилетело и опубликовало эту надпись здесь

Да есть. Начиная с Substance Painter, заканчивая Open source решениями, типа Armor Paint, Material Maker, Tex Graph. Второй кстати сделан на основе движка Godot, в котором есть свой редактор шейдеров Visual Shader. По своему опыту скажу: даже в визуальном редакторе понятней не становится. Всё равно прийдётся понять, как это вообще работает.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории