Текстуры поиска все еще используются для чего-либо?

14

Я не так давно (5-10 лет?) Знал, что было популярно / эффективно запекать данные в текстуры, а затем считывать данные из текстур, часто используя встроенную интерполяцию текстур, чтобы получить линейную интерполяцию запеченных. данные.

Теперь, когда время вычислений дешевле по сравнению со временем поиска текстур, эта практика определенно уменьшилась, если не все вместе исчезло.

Мой вопрос, испеченные текстуры все еще используются для чего-либо? У кого-нибудь есть варианты использования для них в современной архитектуре? Кажется ли вероятным, что они когда-нибудь вернутся? (скажем, если технология памяти или базовая архитектура GPU изменятся)

Алан Вульф
источник
Это полностью зависит от варианта использования. Представьте, что ваши расчеты занимают час. Разве не было бы неплохо просто сгенерировать текстуру поиска с результатами и использовать ее на вашем GPU во время выполнения? В настоящее время некоторые более простые вещи могут быть быстрее выполняются с инструкциями ALU (например, для преобразования определенных цветов), но все, что требует сложных вычислений, всегда будет быстрее с использованием текстур поиска.
Тара

Ответы:

17

Да, текстуры поиска все еще используются. Например, предварительно интегрированные BRDF (скажем, для окружающего освещения), или произвольно сложные кривые, запеченные до одномерной текстуры, или трехмерную текстуру поиска для градации цвета, или шумовую текстуру вместо PRNG в шейдере.

АЛУ обычно дешевле, чем образец текстуры, правда, но у вас все еще ограниченное количество АЛУ на кадр. Графические процессоры хорошо скрывают задержку, и небольшие кешированные текстуры, вероятно, будут в кеше. Если ваша функция достаточно сложна, возможно, все же стоит использовать текстуру поиска.

Джон Калсбек
источник