Here is some of the .sl file:

 

if (texname != "") {
reda = float texture(texname[0],s,t);
greena = float texture(texname[1],s,t);
bluea = float texture(texname[2],s,t);
aAvg = (reda + greena + bluea) / 3;

redb = float texture(texname[0],s,t+var);
greenb = float texture(texname[1],s,t+var);
blueb = float texture(texname[2],s,t+var);
bAvg = (redb + greenb + blueb) / 3;

redc = float texture(texname[0],s+var,t);
bluec = float texture(texname[2],s+var,t);
cAvg = (redc + greenc + bluec) / 3;

redd = float texture(texname[0],s+var,t+var);
greend = float texture(texname[1],s+var,t+var);
blued = float texture(texname[2],s+var,t+var);
dAvg = (redd + greend + blued) / 3;

rede = float texture(texname[0],s-var,t);
greene = float texture(texname[1],s-var,t);
bluee = float texture(texname[2],s-var,t);
eAvg = (rede + greene + bluee) / 3;

redf = float texture(texname[0],s,t-var);
greenf = float texture(texname[1],s,t-var);
bluef = float texture(texname[2],s,t-var);
fAvg = (redf + greenf + bluef) / 3;

redg = float texture(texname[0],s-var,t-var);
greeng = float texture(texname[1],s-var,t-var);
blueg = float texture(texname[2],s-var,t-var);
gAvg = (redg + greeng + blueg) / 3;

redg = float texture(texname[0],s+var,t-var);
greeng = float texture(texname[1],s+var,t-var);
blueg = float texture(texname[2],s+var,t-var);
gAvg = (redg + greeng + blueg) / 3;

redh = float texture(texname[0],s-var,t+var);
greenh = float texture(texname[1],s-var,t+var);
blueh = float texture(texname[2],s-var,t+var);
hAvg = (redh + greenh + blueh) / 3;

redi = float texture(texname[0],s-var,t-var);
greeni = float texture(texname[1],s-var,t-var);
bluei = float texture(texname[2],s-var,t-var);
iAvg = (redi + greeni + bluei) / 3;

if ((abs(aAvg - bAvg) > thick) || (abs(aAvg - cAvg) > thick) || (abs(aAvg - dAvg) > thick) ||
(abs(aAvg - eAvg) > thick) || (abs(aAvg - fAvg) > thick) || (abs(aAvg - gAvg) > thick) ||
(abs(aAvg - hAvg) > thick) || (abs(aAvg - iAvg) > thick))
surfcolor = 1;
else
surfcolor = 0;
}

Edge Detection Example


This page shows examples of pictures that have been altered by an edge detection program written in RSL.