Подобные косяки с освещением лечатся попиксельным освещением(как-нибудь еще но тоже шейдером) или нужно ковырять модель?
|
проверь попиксельное - делов то. если не пофиксится, то хз.
Ambientcolor надо так учитывать или по другому?
|
так у тебя пересветится всё может.
мне больше нравится такой вариант:
lit = saturate(dot(normal,lightDir));
float4 color = diffuse * lerp(ambientColor,lightColor,lit) * 2;
"*2" позволяет делать цвета диффуза ярче оригинала. собстсвенно, формула diff*lit*2, это бленд Multiply2, который есть в блице например, и юзается во всех играх для лайтмапов.