Универсальный патч Quake 3 Arena для NVIDIA GeForce S3TC.

Многие знают про проблемы с качеством в Quake 3 Arena при использовании S3TC компрессии на видеокартах, основанных на видеочипах NVIDIA, таких как GeForce SDR/DDR и GeForce 2 GTS/MX. Особенно хорошо видны недостатки на текстурах неба. Меня заинтересовал этот вопрос и я начал заниматься изучением проблемы.

Было выяснено, что драйвера или чипы NVIDIA по необъяснимой пока причине не очень хорошо справляются с распаковкой текстур, сжатых без использования альфа-канала (большое спасибо Максиму Морозову, за указание на эту проблему). Я поэкспериментировал с некоторыми OpenGL приложениями и выяснил, что можно модифицировать код, чтобы текстуры сжимались в формат с альфа-каналом вместо других форматов.

Представляю результат своего труда: универсальный патч для Quake 3 Arena.
Он слегка медленноват, но зато универсальный.

Скачать последнюю версию патча.

Скачать усеченную версию патча (без описания).

Патч заставляет Q3 использовать сжатие S3TC только с альфа-каналом. Качество при этом заметно улучшается, а производительность совсем немного падает. На Celeron 450/96Mb/GeForce SDR 140/200 скорость в режиме High Quality при тестировании на demo1 упала с 78,5 до 78,0 FPS, т. е. даже в пределах погрешности. Без сжатия скорость была около 75 FPS.

Скриншоты с качеством неба в Quake 3

До патча

После патча

Вы сами видите - качество увеличилось достаточно сильно! Но небольшие проблемы остались, впрочем, это уже недостатки текстурного сжатия.

Меня также очень удивляет, почему NVIDIA ничего по этому поводу не предпринимала, наверное, хотела скрыть недостатки. Теперь осталось выяснить, аппаратная это проблема или нет.

Используйте патч на свой страх и риск. Автор не отвечает за любую потерю данных, ущерб или любой другой убыток при использовании этого патча.

Если возникнут проблемы - пишите, постараюсь помочь.

Алексей Берилло a.k.a. SomeBody Else

Обновлено 23.10.2000