/* Shader description goes here */
surface
flamecl(float Kfb = 1,
flameBegin = 0.35,
flameEnd = 0.55; /* fake brightness */
color col [3] = { color(0.2,0.4,1.0),
color(1,1,1),
color(1.0,0.945,0.725)} )
{
color surfcolor = spline ( s, col [0], col [0], col [0],
col [1],col [1],
col [2],col [2],col [2]);
normal nf = faceforward ( normalize(N), I);
vector i = normalize (-I);
float dot = nf . i;
color dotColor = 1 - dot;
color ramp2 = smoothstep (flameBegin , flameEnd ,s);
color mixColor = mix ( ramp2 , dotColor , s ) ;
Oi = mixColor + (s * s * s * s)/2;
/* STEP 2 - calculate the apparent surface color */
Ci = Oi * Cs * surfcolor * Kfb;
}