NVIDIA представляет текстуры «бесконечного разрешения»

В описании патента компания сообщила, что, часто играя в старые игры пользователи сталкиваются с артефактами изображений при интерполяции текстур, и метод IRT разработан именно для борьбы с ними. «Несмотря на то, что 3D геометрия может быть воспроизведена в любом масштабе, текстурная карта привязана к геометрии в определённом масштабе (или масштабах в случае mip-текстур). Отображение этих текстур в разрешениях сильно отличающихся от предоставленного масштаба приводит к артефактам, когда размер текселя становится заметно крупнее пикселя».

NVIDIA
NVIDIA

Для решения проблемы NVIDIA предлагает использовать векторные текстуры вместо растровых. Как известно, векторные изображения можно масштабировать бесконечно без потери качества, и именно таким образом строятся объекты в некоторых средствах иллюстрации (Adobe Illustrator) и почти всех САПР. Некоторые старые игры также были векторными.

Пример описания IRT
Пример описания IRT

При этом в патенте NVIDIA предлагает не создавать текстуры с нуля, а преобразовывать их из растровой формы в векторную. Вся необходимая математика для этого также приведена в патенте.

Конечно, предлагаемая идея звучит блестяще, но на наш взгляд, выглядит она не очень. Компьютер не умеет создавать и додумывать, поэтому увеличивая векторную текстуру мы получим лишь чёткие края и плавные цветовые переходы, но никак не больше деталей. Достаточно посмотреть на приведённое изображение глаза с этапами преобразования из растра в вектор, чтобы понять, что NVIDIA IRT далека от идеала, к тому же более требовательна к ресурсам.

Преобразование из растровой графики в векторную
Преобразование из растровой графики в векторную

На самом деле идея процедурной графики не нова. Геймеры со стажем легко вспомнят трёхмерный шутер .kkrieger (с рендером DirectX 9.0b) размером менее 100 кБ. Хотя текстуры там и растровые, они создавались на лету на основании математического описания.