Здравствуйте, друзья!
Я столкнулся с неприятной проблемой при использовании шадовмап. В некоторых западных источниках эту проблему называют thin walls, и проявляется она в дырах в тенях от тонких стенок на границе их пересечения с другими объектами. Под тонкими стенками подразумеваются стенки, не имеющие объема, то есть состоящие из двустороннего полигона.
Полагаю, что всему виной отсутствие консервативной растеризации. И, судя по всему, проблема эта весьма распространённая. Пример её проявления на примере первого уровня из Паранойи вы можете увидеть на приведенных скриншотах: на одном - рендер 3дмаксовским менталреем, на другом - моей запекалочкой освещения.
Известны ли вам способы борьбы с этими дырами? Городить консервативную растеризацию совсем не хочется.
ncuxonaT писал: Сколько суток Элбер Паранойю запекал?
Правильно понимаю, у тебя уже есть мега-крутая игра, которая будет запекаться год, поэтому ты ищешь пути решения этой проблемы?
GPU-лайтмапперы всегда артефачат, я еще ни одного нормального не видел.
Дядя Миша писал: поэтому ты ищешь пути решения этой проблемы?
Я заранее готовлюсь.
Цитата:
Дядя Миша писал: GPU-лайтмапперы всегда артефачат, я еще ни одного нормального не видел.
Я вообще живьем ни одного не видел. Но знаю, что некоторые (например, square enix) их успешно используют.
Но вообще эта проблема у любых шадовмап присутствует, не только при запекании же. Если ты включишь свои каскадные тени от солнца на интерьерной карте, то будут такие же полосы по углам.
Что-то я разочаровался в шадовмапах.
Вопрос к знатокам. Правильно ли я понимаю, что стенсильные тени не получится использовать при рендере в текстурные координаты? То есть когда в вершинном шейдере у меня gl_Position = gl_TexCoord[0] - vec4(0.5);