Ответ: много шейдерного света
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];
}
так ??
сори за нубство , просто никогда раньше с шейдерами не сталкивался и вот только начел учится
|