Подскажите по модели света

Шейдеры и все-все-все.

Подскажите по модели света

Сообщение bwolf88 12 май 2016, 15:29

Всем привет.
Гуру шейдеров подскажите, почему вот эта модель света дает 2 прохода ?
Честно признаться уже мозг сломал, но так и не могу понять.

Синтаксис:
Используется csharp
inline half4 LightingMyTreeLeaf (SurfaceOutput s, half3 lightDir, half3 viewDir, half atten)
                {
                        fixed4 c;
   
                        half3 h = normalize (lightDir + viewDir);
                        half nl = dot (s.Normal, lightDir);
   
                        half nh = max (0, dot (s.Normal, h));
   
                        // view dependent back contribution for translucency
                        fixed backContrib = saturate(dot(viewDir, -lightDir));
   
                        // normally translucency is more like -nl, but looks better when it's view dependent
                        /////backContrib = lerp(saturate(-nl), backContrib, _TranslucencyViewDependency);
                        backContrib = lerp(saturate(-nl), backContrib, 0.7);
   
                        /////fixed3 translucencyColor = backContrib * s.Translucency * _TranslucencyColor;
                        fixed3 translucencyColor = backContrib * 0.5 * 0.5;
   
                        // wrap-around diffuse
                        nl = max(0, nl * 0.6 + 0.4);
   
                        c.rgb = s.Albedo * (translucencyColor * 2 + nl);
                        c.rgb = c.rgb * _LightColor0.rgb;
   
                        // For directional lights, apply less shadow attenuation
                        #if defined(DIRECTIONAL) || defined(DIRECTIONAL_COOKIE)
                        c.rgb *= lerp(2, atten * 2, 0.8);
                        c.a = 1;
                        #else
                        c.rgb *= 2*atten;
                        c.a = 1;
                        #endif
   
                        return c;
                }
 
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2184
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Подскажите по модели света

Сообщение jetyb 13 май 2016, 07:59

Ну вообще-то surface шейдер дает штук 7 проходов.
Режим рендеринга какой?
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21

Re: Подскажите по модели света

Сообщение bwolf88 13 май 2016, 12:54

jetyb писал(а):Ну вообще-то surface шейдер дает штук 7 проходов.
Режим рендеринга какой?

Да дело не в этом. Если я переключаю в шейдере модель света на Lambert - сразу количество вершин и трисов уменьшается в 2 раза.
А понять где в той модели света второй проход не могу.
Возьмите простейший диффуз и подключите эту модель - сразу увидите. Просто этот свет дает нормальное оттенение для двухсторонних полигонов если ставить Cull off. Может он автоматом рисует вторую сторону, но чет я не увидел где :-?.
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2184
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Подскажите по модели света

Сообщение jetyb 13 май 2016, 15:02

тени отключите
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21


Вернуться в Shader Lab

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

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