NVIDIA представляет текстуры «бесконечного разрешения»
Компания NVIDIA получила подтверждение патента США на метод создания игровых текстур, который получил название «Текстуры бесконечного разрешения» (Infinite Resolution Textures), или сокращённо — IRT.
В описании патента компания сообщила, что, часто играя в старые игры пользователи сталкиваются с артефактами изображений при интерполяции текстур, и метод IRT разработан именно для борьбы с ними. «Несмотря на то, что 3D геометрия может быть воспроизведена в любом масштабе, текстурная карта привязана к геометрии в определённом масштабе (или масштабах в случае mip-текстур). Отображение этих текстур в разрешениях сильно отличающихся от предоставленного масштаба приводит к артефактам, когда размер текселя становится заметно крупнее пикселя».
Для решения проблемы NVIDIA предлагает использовать векторные текстуры вместо растровых. Как известно, векторные изображения можно масштабировать бесконечно без потери качества, и именно таким образом строятся объекты в некоторых средствах иллюстрации (Adobe Illustrator) и почти всех САПР. Некоторые старые игры также были векторными.
При этом в патенте NVIDIA предлагает не создавать текстуры с нуля, а преобразовывать их из растровой формы в векторную. Вся необходимая математика для этого также приведена в патенте.
Конечно, предлагаемая идея звучит блестяще, но на наш взгляд, выглядит она не очень. Компьютер не умеет создавать и додумывать, поэтому увеличивая векторную текстуру мы получим лишь чёткие края и плавные цветовые переходы, но никак не больше деталей. Достаточно посмотреть на приведённое изображение глаза с этапами преобразования из растра в вектор, чтобы понять, что NVIDIA IRT далека от идеала, к тому же более требовательна к ресурсам.
На самом деле идея процедурной графики не нова. Геймеры со стажем легко вспомнят трёхмерный шутер .kkrieger (с рендером DirectX 9.0b) размером менее 100 кБ. Хотя текстуры там и растровые, они создавались на лету на основании математического описания.