Объявления

Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru.
Я оторву свою задницу от всех дел и обязательно Вас активирую! :smile10:
Добро пожаловать на геройский форум! :smile25:

Тени "лесенкой" в исполнении современных видеокарт

Говорим на свободные темы
offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Тени "лесенкой" в исполнении современных видеокарт

Сообщение AlexSpl » 17 июн 2014, 08:34

Тени "лесенкой", "пилой", "зубчатые" тени в исполнении современных видеокарт Nvidia и ATI

Столкнулся с одной очень неприятной проблемой в играх после покупки новой видеокарты Nvidia. Дело в том, что тени на некоторых поверхностях отображаются некорректно, а именно: можно наблюдать раздражающий эффект "лесенки" или "пилы", часто такие кривые тени называют также "зубчатыми".

Я пытался найти решение этой проблемы в Интернете, но так и не нашёл не то чтобы решения, но даже внятного объяснения, почему тени становятся "зубчатыми". Форумные "гуру" с десятком тысяч постов посылают нести видеокарту в сервисный центр, люди поумнее начинают копать глубже. Вот, например, одно из объяснений причины появления теней "лесенкой":

Изображение

При резком падении высоты ромбы, из которых состоят поверхности объектов, разбиваются на два треугольника не по короткой диагонали, а по длинной, в результате чего и получается сей неприятный эффект. Как мне ответили на одном из форумов, лечится такое только правильным подбором углов наклона поверхностей в 3D-редакторе, т.е. вся вина при данном объяснении возникновения "зубчатых" теней лежит на дизайнерах локаций.

Однако, встретив такие тени в разных играх не раз и не два, я начал сомневаться в правдоподобности данного объяснения. Особенно неприятно выглядят тени "лесенкой" в динамике, т.е. когда источник света движется (солнце, луна и т.п.). В этом случае эта "лесенка" приходит в движение и наблюдаются т.н. "мерцающие тени" или эффект "пилы". Обычно этот эффект можно наблюдать на удалённых склонах гор и холмов, но иногда бывает, что "зубчатые" тени оказываются у тебя прямо перед носом: например, на ближайшем дереве.

Ещё одно объяснение теней "лесенкой" сводится к погрешностям Z-буффера. Данная проблема известна как Z-fighting или Z-конфликт. Вот цитата из "Википедии":

"Если два объекта имеют близкую Z-координату, иногда, в зависимости от точки обзора, показывается то один, то другой, то оба полосатым узором. Это называется Z-конфликт (англ. Z fighting). Чаще всего конфликты присущи спецэффектам (декалям), накладывающимся на основную текстуру, например, дырам от пуль. Решаются Z-конфликты сдвигом одного объекта относительно другого на величину, превышающую погрешность Z-буфера."

Изображение

Такая проблема встречается во многих играх. Вот, например, описание проблемы в Skyrim:
"Наверное, многие из вас сталкивались с проблемой Z-Fighting и не только в Скайриме. Z-Fighting возникает из-за ограничения точности вычислений с плавающей точкой в Z-буфере GPU. При этом графический процессор не способен определить, какая поверхность ближе к камере, а какая - дальше. Поэтому создаётся впечатление мерцания текстур."

* * *

Сейчас играю в RPG "Bound by Flame", в которой проблема теней "лесенкой" также присутствует. Сначала не обращаешь внимания, но со временем данный эффект начинает раздражать всё больше. Если кто знает, как решить данную проблему (если она вообще решаема на современных видеокартах), welcome в тему!

В заключение приведу интересную мысль о том, что причиной теней "лесенкой" является жадность производителей Nvidia и ATI, которые в погоне за быстродействием и вычислительной мощностью упрощают многие алгоритмы и ограничивают точность вычислений, из-за чего и появляются такие дефекты как тени "лесенкой" или "зубчатые" тени. Очень похоже на правду, т.к. я не припоминаю, чтобы на моей старенькой GeForce 9600 GT когда-либо наблюдались подобные проблемы. А я бы уж точно такой бросающийся в глаза дефект не пропустил...
Последний раз редактировалось AlexSpl 23 окт 2022, 01:19, всего редактировалось 1 раз.
Вернуться к началу

offlineАватара пользователя
VDV_forever  
имя: Дмитрий
Администратор
 
Сообщения: 3862
Зарегистрирован: 22 мар 2009, 12:36
Пол: Мужчина
Поблагодарили: 986 раз.

Re: Тени "лесенкой" в исполнении современных видеокарт

Сообщение VDV_forever » 17 июн 2014, 11:45

AlexSpl писал(а):

Тени "лесенкой", "пилой", "зубчатые" тени в исполнении современных видеокарт Nvidia и ATI

Столкнулся с одной очень неприятной проблемой в играх после покупки новой видеокарты Nvidia. Дело в том, что тени на некоторых поверхностях отображаются некорректно, а именно: можно наблюдать раздражающий эффект "лесенки" или "пилы", часто такие кривые тени называют также "зубчатыми".


Саша, а ты уверен, что это именно проблемма, а не замысел создателей. По мне так интересно смотрится :P Вот реально ;)
Ведь волны, что ниже, тебя не волнуют. :) А принцип тот же. ;) Мне кажется ты несколько преувеличиваешь, нет? :roll:
***
Хотя присмотрелся там еще на второй скале пила ... да уж, похоже ты прав... :oops:
http://www.handbookhmm.ru- Познай все тонкости игры!
Вернуться к началу

offlineАватара пользователя
Владимир  
Эксперт
Эксперт
 
Сообщения: 1058
Зарегистрирован: 30 окт 2012, 18:37
Пол: Не указан
Награды: 3
Высшая медаль (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (1)
Поблагодарили: 638 раз.

Re: Тени "лесенкой" в исполнении современных видеокарт

Сообщение Владимир » 17 июн 2014, 12:00

Жаль, что на форуме нет возможности вносить отдельные посты в издранное.
Иначе бы я добавил этот - очень познавательно.
Сейчас пишу игровую механику для одной тактической игрушки, всё 3D пока исключительно у меня в голове и в "механических" (в отличие от "рисовальных") алгоритмах. Получается, я счастливый человек?
Вернуться к началу


Вернуться в Поболтаем?

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron