Как эффективно генерировать процедурные текстуры в libgdx? - PullRequest
0 голосов
/ 04 декабря 2018

Я работаю над созданием процедурной трехмерной местности в libGDX.Мне удалось создать меш, но теперь у меня возникают проблемы с поиском эффективного способа его текстурирования.

Теперь я делаю это путем создания растрового изображения и перебора всех значений карты высот.Основываясь на каждом значении высоты, я извлекаю один пиксель из соответствующей текстуры (например, если значение <100, извлекаю пиксель из текстуры воды, если> 100 && <150 извлекаю пиксель из текстуры песка и т. Д.) И после выполненияНекоторое смешивание я помещаю в растровое изображение, которое я создал.В конце я просто сгенерирую новую текстуру на основе созданного растрового изображения и назначу ее местности.Это работает и дает удовлетворительные результаты, но итерация каждого пикселя и создание текстуры таким образом приводит к очень плохой производительности и долгому времени запуска моей игры.У меня вопрос: какие еще есть варианты? </p>

Есть ли более эффективный способ создания текстур, чем перебор пиксельных карт по одному пикселю за раз?Есть ли способ эффективно «скопировать одну часть растрового изображения и вставить ее в другую»?

Должен ли я сделать это каким-то совершенно другим способом?Может быть, FBO или шейдеры?Если это так, пожалуйста, укажите мне некоторые ресурсы, у меня нет большого опыта с ними.

Спасибо!

...