Witam,
mam problem z koordynatami w proceduralnej teksturze napisanej w RSL. Oparta jest o ciag Fibonacciego, tworzy pattern zlozony z kropek.
Kod shadera:
float circle(float centerx, centery, radius)
{
float result;
extern float s,t;
float tt = 2*sqrt(pow(centerx-s,2)+pow(centery-t,2));
if( pow(s-centerx,2) + pow(t-centery,2) // result = 1;
result = abs (smoothstep(0,radius*2,tt)-1);
else
result = 0;
return result;
}
surface tiaDot(float spread_radius = .05; float seed_num = 80; float dot_radius = .02)
{
float i = 0 ,x = 0, y = 0, r =0;
float result = 0;;
for(i=0; i{
x = sqrt(i) * spread_radius * cos (radians(i*137.5));
y = sqrt(i) * spread_radius * sin (radians(i*137.5));
result += circle(x+.5, y+.5, dot_radius);
}
Ci = result;
}
Po nalozeniu na prosty polygon wszystko dziala:
Natomiast po nalozeniu na kule juz nie:
Jakis pomysl jak poprawic dystrybucje punktow?
P.S. Przepraszam za brak polskich diakrytykow, pracuje na linuxie.