#javascript #webgl #textures #webgl2
Вопрос:
Я использую 2D-текстуру, такую как 1D-текстура (с 1 высотой), для кодирования передаточной функции. Диапазон значений может составлять от 5 тыс., от 15 тыс. до 64 тыс. в зависимости от изображения. На самом деле я создаю текстуру размером, равным диапазону всех возможных значений, но и я получаю доступ в шейдере с поиском между 0 и 1. Проблема в том, что если у меня есть значения диапазона 10k, а maxTextureSize равен 8k, я не смогу создать текстуру.
Возможный обходной путь-разделить передаточную функцию, чтобы использовать больше размеров 2D-текстуры, но я замечаю, что если я создам текстуру меньшего размера, но пропорционально заполню данные передаточной функции, я смогу выполнить поиск между 0 и 1, а остальное сделает линейная интерполяция. С текстурой передаточной функции размером 1 тыс. У меня те же результаты, что и с текстурой 10 тыс.
Эти две текстуры дают мне одинаковые результаты:
Я сомневаюсь, как я могу рассчитать минимальный размер текстуры, чтобы не потерять качество?
Любые предложения будут высоко оценены!