Модератор: Mikle
Mikle писал(а):...вместо этого используется фрагмент затайленной текстуры.
Old_Maple писал(а):сам фрагмент был создан изначально и потом подгружался
Mikle писал(а):Сам фрагмент, точнее не фрагмент, а вся текстура, генерируется при старте новой игры и сохраняется в PNG файл, чтобы можно было продолжить старую игру и не ждать каждый раз перегенерации.
Mikle писал(а):Шейдер - это просто замена FFP, позволяющая более тонко управлять текстурированием, считать свет, туман и т. п. Это не инструмент доступа к текстуре, рендер в текстуру делается с одинаковым успехом и шейдерами, и FFP. Единственное, чем шейдер превосходит FFP в плане твоих задач - это VTF (vertex texture fetch) - это возможность читать текстуру в вертексном шейдере, то есть возможно использование текстуры в качестве массива данных вертексов. Я это использовал в игре Школа пилотов для реализации бесконечного ландшафта, то есть у меня там вообще нет меша с сеткой ландшафта, вместо этого используется фрагмент затайленной текстуры. Но это доступно только начиная с SM_3_0.
The trick писал(а):Майкл, а разве в шейдере нельзя сгенерировать текстуру?
Old_Maple писал(а):не пробовал реализовать алгоритм постройки ландшафта на шейдерах? Причем, бесконечный... Но, чтобы вернувшись в любую точку, где был ранее, ландшафт был в точности такой же?
Mikle писал(а):а вот генерацию практически всех примеров из TFScript на шейдер будет очень сложно перенести.
Old_Maple писал(а):генерация шума и прочие фильтры, которые применяются в TFScript наоборот будет проще реализовывать в вертексном шейдере, поочередные проходы
Mikle писал(а):Когда я говорю о трудностях, я в первую очередь имею ввиду отсутствие глобальных переменных, которые можно использовать и менять из шейдера. В моих примерах TFScript примерно треть команд - это обычная нормализация. Нужно пробежаться по массиву, найти наибольшее и наименьшее значение, затем домножить и прибавить ко всем элементам вычисленные значения, чтобы привести диапазон значений к нужным границам. На шейдере это простейшее действие - тупик. И это не единственная проблема, просто это наиболее удачный пример проблем, которые тянут за собой шейдеры.
Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 12