Показать сообщение отдельно
Старый 03.02.2013, 16:00   #28
tirarex
Бывалый
 
Аватар для tirarex
 
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений
(для 866 пользователей)
Ответ: много шейдерного света

cN = normalize(tex2D(TexNormal,IN.TexCoords)*2.0f-1.0f);

for(int i=0;i<100;i++)
{
RngLight[i] = pow(saturate(1.0f-(distance(IN.pWorld,PosLight[i])/RngLight[i])),DotLight[i]);
PosLight[i] = normalize(PosLight[i]-IN.pWorld);
nLight[i] = float3(dot(PosLight[i],IN.Tangent),
dot(PosLight[i],IN.Binormal),dot(PosLight[i],IN.Normal));
nLight[i] = pow(max(dot(cN,nLight[i]),0.0f),0.8f);
Color += cD.rgb*nLight[i]*LightClr[i]*LightInt[i]*RngLight[i];
}

так ??

сори за нубство , просто никогда раньше с шейдерами не сталкивался и вот только начел учится
(Offline)
 
Ответить с цитированием