FSAA в Half-Life 2
Юрий Цуканов,
«Так как очень много людей паникуют по поводу проблем с полноэкранным сглаживанием, я подумал что стоит посвятить всех в суть дела.1. Насколько серьезна эта проблема?
Multi-sample anti-aliasing в его настоящем исполнении приводит к отображению текселов (текстурированных пикселов) вне границ соответствующего многоугольника, что может также в некоторых ситуациях приводить к отображению освещения от других многоугольников.2. Каковы потенциальные решения проблемы?
Это традиционно являлось проблемой. Аналогичные проблемы есть в Quake 1, Quake 2, Quake 3, Daikatana, Sin, Elite Force, Half-Life, Counter-Strike на X-Box, и вообще в любой игре использующей упакованные карты освещения.
Эти артефакты можно заметить на границах многоугольников. Так как по краю отображается «неправильная» карта освещения, будет видна тонкая темная или светлая линия.
Гарри МакТаггарт первым привлек внимание к этой проблеме, так как он сильно беспокоится о качестве графики. Эта проблема не нова. Если Вы пробовали играть в игры использующие карты освещения с FSAA, Вы наверняка видели эти артефакты.
Артефакты FSAA показываются чаще в Half-Life 2 потому, что мы убрали большинство прочих артефактов, и потому, что в наших картах есть значительный контраст освещенности.
В целом, это не самая серьезная проблема. Например, отсутствие трёхлинейной фильтрации на мипмапах гораздо серьезнее.
3. Как это будет выглядеть?У метода centroid sampling нет тех проблем, которые есть у метода center sampling при FSAA. Этот метод сглаживания поддерживается видеокартами ATI Radeon 9000 серии. У этого решения есть недостатки. Во-первых, к этим методам нет простого доступа через DirectX. А во-вторых, карты nVidia не поддерживают этот метод. Для этих карт мы можем использовать другой трюк. Мы можем пожертвовать частью пропускной способности пиксельного шейдера с целью «блокирования» текстур. Тогда они не будут вылезать за границы многоугольников. В целом, при использовании этих решений, FSAA не будет проблемой на видеокартах, поддерживающих Pixel Shader 2.0.
- Поддержка centroid sampling;
- Использование пиксельных шейдеров для того, чтобы «зафиксировать» координаты текстур.
Мы выпустим две версии одного из наших демо-роликов с использованием FSAA: с артефактами, и с нашим исправленным кодом. Вы сможете сравнить их самостоятельно.
А аргументировать?
Нет конечно может ты гениальный программист или еще кто в этом роде и из сказанного выявил несоответствия чему-либо!
Ну так ты поясни, а то обругать любой может! в ЧЕМ БРЕД??
правило12
Не стоит пытаться обойти систему бана - этим вы только будете удваивать свой срок наказания (за каждую попытку). Все правила.
- Комментарии модерируются. В процессе модерации мы руководствуемся исключительно собственным чутьем, которое в правилах полностью раскрыть невозможно.
- Падонкаффский язык здесь категорически не приветствуется. Первонахи и прочие пересчётчики - первые кандидаты на бан.
- Оскорбление других комментаторов - последнее что должно приходить вам в голову.
- Вообще оскорбления кого бы то ни было приводят к отстранению от возможности оставлять комментарии.
- Использование ненормативной лексики не запрещается, но сильно не приветствуется - проявите уважение к собеседнику (замена символов в матерных словах не лишает их этого статуса).
- Не отвечайте на провокационные и противоречащие правилам сообщения - иначе ваш пост также будет подлежать уничтожению.
- Поле имени и почты предназначены для вашего имени и почты. Это не место для проявления вашего великого цинизма или остроумия.
- Мы оставляем за собой право как удалять ваши комментарии, так и править их (что впрочем, происходит исключительно редко).
- Односложные комментарии, комментарии состоящие из одного смайлика, написанные транслитом или одними большими буквами - первые кандидаты на удаление.
- В определённых случаях мы можем отключать возможность комментирования какой-то новости для всех посетителей вообще.
- Забанить человека или удалить сообщение - гораздо проще, чем написать его, чистить свои куки и менять прокси. Подумайте над этим.
- Не стоит пытаться обойти систему бана - этим вы только будете удваивать свой срок наказания (за каждую попытку).
- Если вы отправили два одинаковых сообщения - не стоит писать третье типа "ой, я не хотел" или "у вас глючит" - мы сами разберёмся.