#unity3d #shader #fragment-shader #texture-mapping #cg
#unity3d #шейдер #фрагмент-шейдер #отображение текстур #cg
Вопрос:
Есть несколько идей, которые я хотел бы реализовать в шейдере, которые требуют от меня создания странной топологии текстур, например, упаковки текстурного атласа. Они не могут быть обернуты с помощью режима common wrap, это приведет к сбою или кровотечению на краю УФ-шва
И вот я думаю, что, если я просто использую tex2D()
or tex2Dlod()
для поиска текстур с фильтрацией точек, а затем перепишу всю логику выборки и наложения в самом шейдере, отыщу много точек с помощью пользовательской оболочки и смешаю их с кодом шейдера
Возможно ли это и в чем может быть проблема или недостаток этого метода?
Ответ №1:
Да, это возможно и распространено. Вам нужно будет установить фильтр и / или режим переноса самого текстурного ресурса в проекте. (при использовании shader graph у вас есть возможность указать пользовательское состояние выборки внутри самого шейдера). Вы, конечно, можете изменить UV-координаты, переданные вашему шейдеру, и использовать эти измененные значения для выборки текстур.