Я использую текстуры для передачи огромного количества данных в мой вершинный шейдер, и он работает (необходимо преобразовать каждый пиксель rgba в 32-битный float). дело в том, что в последнее время я пытался использовать формат dds вместо jpg (гораздо быстрее загружать). Он работает для всех моих цветов/нормальных текстур (просто нужно вертикально инвертировать изображения), но это приводит к ошибкам всех моих карт данных. Я пробовал несколько вещей, например, отключение альфов, которые работают на jpg, но не на dds. Я думаю, что это вызвано интерполяцией пикселей, которая, по-видимому, отличается между jpg/png/bmp и dds.openGL: как отключить интерполяцию пикселей на текстурах dds
Есть ли способ отключить эту интерполяцию?
Если проблема не интерполяция, вы знаете, что это может быть?
Если вы не указали какой-либо код, невозможно сказать, что происходит не так. – BDL
Спасибо, но показывать код довольно сложно для этого. Моя точка зрения состоит в том, чтобы знать, правильно ли я прав, когда пиксельная интерполяция отличается между jpg и dds, и если это правильно, как отключить ее. – MCphylyss
Форматы изображений не определяют интерполяцию, только параметры сэмплера. Также, если вы полагаетесь на потерю DXT-сжатия (как я понял, вы это делаете) для «карт данных» (каковы они?), Это нормально, чтобы получить неточные/неправильные значения. – pleluron