Jump to content

[SOLVED] Как отключить швы SSAO для материала?


photo

Recommended Posts

Posted (edited)

Добрый день.

Мой тривиальный ssao.frag выглядит так:

MAIN_BEGIN(FRAGMENT_OUT, FRAGMENT_IN)
    
    OUT_COLOR = 1.0f;
MAIN_END

Но SSAO содержит серые полосы по швам.

Spoiler

seam.jpg.6339720ce61da603b41d7582aa16ae98.jpg


Я не нашёл, откуда они возникают. Возможно ли и как сделать для конкретного материала чтобы эти швы не возникали в буфере?

Upd: это cavity, но опять же - как сделать чтобы на моём материале он не возникал, при этом вся остальная сцена строилась с настройками cavity из едитора?

Ещё upd: я пошаманил в ssrtgi.frag с bent_normals и в моём частном случае проблема (от которой я пришёл к данному вопросу) решилась, так что не актуально прямо сейчас.
Но для общего развития и для будущих форумных поколений не откажусь узнать правильный ответ, так как похоже оно меня потом ещё догонит.

Edited by Vladimir.Semenov
Posted

Cavity это же часть SSAO, поэтому если включен SSAO, то на всех объектах с битом SSAO будет рисоваться эффект одинаково. Нельзя для конкретного материала выключить Cavity при этом тут же для другого его включить.

Если очень сильно надо, то можно попробовать создать материал, который будет писать gbuffer.material_mask с нужным битом и в composite_deferred.frag сделать проверку на этот бит и переписать SSAO шейдер, чтобы Cavity эффект учитывал (или не учитывал) этот бит у материала.

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Posted

Да, не нашёл ранее сам что полоса cavity отрисовывается в composite_deferred.frag.
Спасибо, про это это и спрашивал! Решено)))

  • Like 1
  • silent changed the title to [SOLVED] Как отключить швы SSAO для материала?
×
×
  • Create New...