Добавлен prog,
опубликован
21.05.2014
- день пропущен
22.05.2014
- реализован экранный фильтр.
- пришлось временно отказаться от использования экранного фильтра.
- начата реализация выгрузки дальних фрагментов карты на жесткий диск.
Заметки
Причина временного отказа от экранного фильтра довольно проста - помимо резкого падения фпс, что терпимо, возникла проблема с неправильным наложением текстуры на поверхность. Результат смотрится совершенно неудобоваримо, решение проблемы найдено не было.
Вместо экранного фильтра будет использоваться более громоздкая реализация, объединяющая в один шейдер и наложение текстуры и выбор вариации. Такая реализация позволяет сохранить полную функциональность работы с вариациями текстур, но практически исключает эффекты вроде процедурной подсветки контуров однородных фрагментов поверхности, для которых необходим экранный фильтр.
Для удобства работы текстура-атлас может быть представлена в виде 3D-текстуры или массива текстур вместо множества отдельных текстур-вариаций, каждая из которых содержит все текстуры атласа в одной вариации. Это необходимо т.к. каждому фрагменту карты назначается своя копия шейдерного материала и использование массива или 3D-текстуры позволяет передавать единственную ссылку на атлас в каждую копию шейдерного материала вместо передачи множества ссылок, каждая из которых соответствует одной вариации атласа.
Скриншоты
Перед вами промежуточный этап рендеринга - именно в таком виде кадр передается экранному фильтру, в обязанности которого входит наложение текстуры на эту "поверхность". Синий канал отвечает за смещение по y, а зеленый - по x. Смещение абсолютное в пределах текстуры-атласа.
Перед вами результат работы экранного фильтра в одной из реализаций. Нарекания вызывает наложение текстуры на землю, а отладочная информация там где должно быть небо это так и задумывалось.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
Кет
10 лет назад
0
А что такое 3D-текстура?
0
prog
10 лет назад
0
Кет, считай то-же самое что и массив 2D текстур одинакового размера, только еще со смешиванием между слоями. На практике применяются довольно редко и жрут порядочно ресурсов. Массивы текстур появились позже и не на всем железе поддерживаются, но работают быстрее, да и смешивание между слоями не всегда нужно.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.