Jump to content

Draw a sphere: Difference between revisions

m
→‎Pure Perl 6: fix whitespace
(→‎Pure Perl 6: modernize a bit, add concurrency)
m (→‎Pure Perl 6: fix whitespace)
Line 2,873:
my @row[$width];
@range.map: -> $y {
if (my $x2 = $x * $x) + (my $y2 = $y * $y) < $r2 {
my @vector = normalize([$x, $y, ($r2 - $x2 - $y2).sqrt]);
my $intensity = dot(@light, @vector) ** $k + $ambient;
my $pixel = (0 max ($intensity * $depth).Int) min $depth;
@row[$y+$rad] = $pixel;
}
else {
@row[$y+$rad] = 0;
}
}
@pixels[$x+$rad] = @row;
}
10,343

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.