Какой размер текстуры я должен использовать для передачи функции?

#javascript #webgl #textures #webgl2

Вопрос:

Я использую 2D-текстуру, такую как 1D-текстура (с 1 высотой), для кодирования передаточной функции. Диапазон значений может составлять от 5 тыс., от 15 тыс. до 64 тыс. в зависимости от изображения. На самом деле я создаю текстуру размером, равным диапазону всех возможных значений, но и я получаю доступ в шейдере с поиском между 0 и 1. Проблема в том, что если у меня есть значения диапазона 10k, а maxTextureSize равен 8k, я не смогу создать текстуру.

Возможный обходной путь-разделить передаточную функцию, чтобы использовать больше размеров 2D-текстуры, но я замечаю, что если я создам текстуру меньшего размера, но пропорционально заполню данные передаточной функции, я смогу выполнить поиск между 0 и 1, а остальное сделает линейная интерполяция. С текстурой передаточной функции размером 1 тыс. У меня те же результаты, что и с текстурой 10 тыс.

Эти две текстуры дают мне одинаковые результаты:

введите описание изображения здесь

Я сомневаюсь, как я могу рассчитать минимальный размер текстуры, чтобы не потерять качество?

Любые предложения будут высоко оценены!