Используйте инструкцию pow
(или эквивалентную встроенную функцию в HLSL). Требуется 3 слота инструкций, что указывает на то, что это достаточно быстро .
Я не сел и не выяснил точную стоимость создания таблицы поиска. Но вам будет трудно найти полезную реализацию в меньшем количестве слотов инструкций. И, очевидно, для этого требуется чтение текстуры (которое само по себе не является бесплатным, и есть большая вероятность, что чтение будет зависеть от текстуры и будет довольно медленным).
(Дополнительно: если бы текстуру поиска было лучшим выбором, то графический процессор мог бы просто реализовать инструкцию pow
, подобную этой.)
Причина, по которой обычно используется текстура, заключается в том, что инструкция pow
не существует ни для вершин , ни пиксельных шейдеров в шейдерной модели 1.x. В 2.x и всё более новом оно доступно ( больше наборов инструкций ).