Progetto - RimLight
Posted by Xabaras on 13-07-2008 13:11
Visto che e' da gennaio che ci provo, ma nessuno sembra darmi una mano, posto quello che ho fatto, cosi' qualcuno spero lo implementi / mi dia dei consigli:
surface rimlight (float Ka = 1, Kd = 0.5, Ks = 0.5, roughness = 0.3; color specColor = 1)
{
// Vettore che identifica la luce fittizia
vector FLight = (-2.6,-1.5,-1);
color cWhite = color(1,1,1);
normal Nf = faceforward (normalize(N),I);
vector In = -normalize(I);
normal LightN = -normalize(FLight);
float cosAngle = Nf.LightN;
if( cosAngle < 0.75) // USA LA LUCE NUORMALE
{
Ci = Cs * (Ka * ambient() + Kd * diffuse(Nf)) + Ks * specColor * specular (Nf, In, roughness);
}
else //USA IL VETTORE FITTIZIO
{
Ci = cWhite * Ka * ambient();
}
Oi = Os = 1;
}
Powered by: vbHome (lite) v3.8 and vBulletin v2.3.1
Copyright © 2000 - 2002 Jelsoft Enterprises Limited