Jump to content

ФХТ1

FXT1 — это схема сжатия текстур для 3D-графики , изобретенная поставщиком оборудования 3dfx Interactive и предложенная в качестве конкурента S3TC стандарта с открытым исходным кодом в сентябре 1999 года, через год после того, как S3TC был принят Microsoft как часть DirectX . Ограниченная поддержка оборудования со стороны поставщиков стала препятствием для его принятия. Примечательно, что, несмотря на открытый исходный код, FXT1 не был принят Nintendo для GameCube и Sony для PlayStation 3, в обоих случаях проигрывая установленному стандарту S3TC. Другая возможная причина отсутствия его распространения заключается в том, что режим CC_MIXED (см. ниже), вероятно, нарушает патент S3TC ( US 5956431   Система и способ блочного сжатия изображений с фиксированной скоростью и выведенными значениями пикселей).

FXT1 использует четыре различных алгоритма сжатия, выбранных на уровне блоков для оптимизации качества изображения. Необходимость выбора оптимального пути для каждой текстуры приводила к тому, что FXT1 работал относительно медленно при сжатии, что делало его непригодным для сжатия в реальном времени в приложениях.

Оригинальный официальный документ не соответствовал известным научным правилам и фактически представлял собой коммерческую презентацию. Отсутствие теоретического руководства со стороны изобретателей могло быть причиной плохо оптимизированного кода выбора схемы сжатия, и, несмотря на потенциально лучшую производительность за счет четырех доступных схем сжатия вместо одной (как в S3TC), FXT1 не показал каких-либо улучшений качества по сравнению с S3TC. , уступая ему в большинстве тестовых случаев.

Оглядываясь назад, FXT1 мог бы оказаться более успешным, если бы 3dfx потратила больше усилий на изучение оптимизации режима сжатия CC_MIXED, более похожего на S3TC , и исключила три других кодека из стандарта. Впоследствии 3dfx перешла к Nvidia , которая продолжала поддерживать S3TC в качестве предпочтительного инструмента сжатия.

Алгоритмы сжатия

[ редактировать ]

В оригинальном техническом документе изложены четыре различных алгоритма сжатия:

CC_MIXED (аналогично другим S3TC)
4x4 Блок текселей представлен двумя битами на тексель для непрозрачных текстур. Кроме того, каждый блок имеет два 16-битных цвета, хранящихся в формате RGB 565. Два цвета RGB 565 и два дополнительных цвета (созданные путем интерполяции между двумя цветами RGB 565) образуют основные цвета для этого блока текселей и связанной с ним четырехцветной таблицы поиска. 2-битный индекс используется для определения того, какой цвет из таблицы поиска будет использоваться для каждого текселя в блоке 4x4. Прозрачные текстуры создаются путем создания прозрачного одного из четырех цветов.
CC_HI (лучше всего для пространственного разрешения)
Блок текселей 4×8 представлен тремя битами на тексель для непрозрачных и прозрачных текстур. Каждый блок хранит два 15-битных цвета в формате RGB 555. Два цвета RGB 555 и пять дополнительных цветов (созданных путем интерполяции между двумя цветами RGB 555) образуют основные цвета для этого блока текселей. Кроме того, восьмой цвет определен как прозрачный. 3-битный индекс используется для определения того, какой цвет из таблицы поиска из 8 записей будет использоваться для каждого текселя в блоке 4x8.
CC_CHROMA (хорошо подходит для сложных цветовых областей)
Блок текселей 4×8 представлен двумя битами на тексель для непрозрачных текстур. Каждый блок хранит четыре 15-битных цвета в формате RGB 555. Все четыре цвета используются напрямую, без интерполяции, для формирования справочной таблицы из 4 записей. 2-битный индекс, присвоенный каждому текселу в блоке, используется для определения того, какой из четырех цветов назначен каждому отдельному текселу. Обратите внимание, что Colors4 применяется только к непрозрачным текстурам, поскольку не поддерживает прозрачность.
CC_ALPHA (даёт лучший контроль над сложной альфа-прозрачностью при четырёх битах на тексель)
Блок текселей 4×8 представлен двумя битами на тексель для непрозрачных и прозрачных текстур. Каждый блок хранит три 20-битных цвета в формате 5555. Первый и второй 20-битные цвета используются в качестве основных цветов левого блока 4x4, а второй и третий цвета используются в качестве основных цветов правого блока 4x4. Два дополнительных цвета создаются в каждом блоке путем интерполяции между двумя основными цветами этого блока. Каждому текселу в блоке назначается 2-битный индекс, а для определения того, какой цвет применяется к каждому текселу, используется таблица поиска.

См. также

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3ac1933a2763eb2f6c4e15c07781b896__1691615820
URL1:https://arc.ask3.ru/arc/aa/3a/96/3ac1933a2763eb2f6c4e15c07781b896.html
Заголовок, (Title) документа по адресу, URL1:
FXT1 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)