Я вспоминаю некоторое время назад, что процедурно сгенерированные текстуры стали большой проблемой, в которой многие люди / компании действительно интересовались некоторыми серьезными преимуществами (небольшие развертывания, потенциально более быстрая загрузка, более высокое качество, масштабируемые текстуры, потенциально более дешевые в производстве и т. Д.). ).
Из того, что я могу сказать, гудение мертвое, и никакие игры на моем радаре не используют их. Что произошло?
Я надеялся, что процедурные текстуры будут такими же, как и у NaturalMotion (медленное, но устойчивое принятие).
источник
Потеря художественного контроля и увеличение размеров хранилищ затрудняют продажу. Кроме того, вам придется переучивать художников, пока вы нанимаете их для того, что у них хорошо получается при традиционном текстурировании. Если размер или уникальное текстурирование на самом деле не являются проблемой, в целом мало желания идти по процедурному пути.
источник
По сути, большие орудия не поддерживают его, поэтому он мало используется. Там были классные вещи (хотя и немного старые), например .kkrieger, но время загрузки (назад в тот день) было слишком медленным, так как пришлось генерировать все текстуры во время загрузки.
Мы могли бы видеть то или иное в движках следующего поколения (Unreal 4 и т. Д.), Но я не думаю, что выигрыш по сравнению с разработкой достаточно велик.
В мире ААА есть примеры, например, Spore процедурно генерировал текстуры и анимацию для созданных вами существ.
источник
Процедурная текстура страдает от проблемы, заключающейся в том, что художественный руководитель не может надежно указать на работу художника и сказать: «Пожалуйста, сделайте эту часть немного больше X». потому что процедурная система затенения может не поддерживать X дешево или вообще.
Например, шейдер кирпича может поддерживать чистый коричневый кирпич, но может не поддерживать кирпич, который был окрашен рекламой 80 лет назад и граффити 10 лет назад. Или это может не поддерживать наличие одного фиолетового кирпича из 1000 коричневых кирпичей. Именно в этом месте, потому что это место нравится вкусу арт-директора.
Конечно, настоящая текстура может поддерживать все эти вещи, и в этом смысле настоящая текстура превосходит процедурную текстуру.
Процедурная текстура обеспечивает художественный контроль в силу того, что она предпочитает одни варианты использования другим. Настоящая текстура оказывает мало такого контроля.
Однако аппаратные средства графического процессора сильно предпочитают процедурность, поскольку память текстур находится на очень большом расстоянии от блоков АЛУ, которые выполняют затенение.
источник
ну, это все еще кажется отличной идеей специально для игр. Поскольку вы можете процедурно генерировать текстуры на лету, чтобы мир вокруг игрока выглядел более естественным. Большие данные не нужны. Это может быть использовано для увеличения даже разрешения
источник
У вас есть типичный обмен памяти времени . Ну, как ни крути, процедурная генерация тратит процессорное время на сохранение памяти. На самом деле, поскольку хранилище дешевеет, а люди всегда хотят сократить время загрузки, тенденция заключается в том, чтобы наоборот: предварительно сгенерированные или сфотографированные ресурсы потребляют память в обмен на скорость.
Jpg загружается быстрее, чем процедурно сгенерированная версия? Скорее всего, да . Если размер файла jpg составляет 2 МБ, и вы загружаете его один раз, почему вы должны беспокоиться о процедурном? Во время выполнения текстура все равно занимает одинаковое количество оперативной памяти (без сжатия и загружается в память графического процессора)
источник