|
/* */
#pragma hint c1 color
#pragma label c1 "color 1"
#pragma hint c2 color
#pragma label c2 "color 2"
#pragma hint s_center float
#pragma label s_center "centerS"
#pragma hint t_center float
#pragma label t_center "centerT"
#pragma hint freq float
#pragma label freq "frequency"
#pragma hint Kd float
#pragma label Kd "Diffuse Intensity"
#pragma hint texname image
#pragma label texname "Texture Map"
#pragma hint Ks float
#pragma label Ks "Specular Intensity"
#pragma hint roughness float
#pragma label roughness "Hilite Size"
#pragma hint hilitecolor color
#pragma label hilitecolor "Hilite color"
surface
Mixcolorvex1( vector c1 = {1,1,0};
vector c2 = {1,0,1};
float s_center = 0.5;
float t_center = 0.5;
float freq = 2;
float Km = 0.1;
float Kd = 1,
Ks = 0.7,
roughness = 0.1;
vector hilitecolor = {1,1,1};
string texname ="")
{
vector n = normalize(N),
nf = frontface(n, I);
// adding Specular
vector diffusecolor;
diffusecolor = Kd * diffuse(nf);
vector i = normalize(-I);
vector speccolor = Ks * specular(nf, i , roughness) * hilitecolor;
vector texcolor = colormap(texname, s ,t);
float r = sqrt( pow(s-s_center, 2) + pow(t-t_center, 2) );
float wave = (sin(r * 6.83 * freq) + 1) * 0.5;
vector mix = lerp(c1, c2, wave);
//fade_off--------------------
// float radius = -0.1;
// float fadeout = sqrt(pow(s-0.5,2) + pow(t-0.5,2));
// float fade_off = smoothstep( radius, fade, fadeout);
// vector R1 = mix(c1, c2, blend*wave*1-fade_off);
// Result for color
Cf = Of * speccolor * (mix + texcolor);
}
|