Nasal-Interpreter/test/ppmgen.nas

24 lines
556 B
Plaintext

var RD=func(i,j){
return bits.u32_and(255,j/255*255.999);
}
var GR=func(i,j){
return bits.u32_and(255,i/255*255.999);
}
var BL=func(i,j){
return bits.u32_and(255,0.25*255.999);
}
var pixel_write=func(fd,i,j){
var color=RD(i,j)~" "~GR(i,j)~" "~BL(i,j)~" ";
io.write(fd,color);
}
var fd=io.open("a.ppm","wb");
# P3 use ASCII number
# P6 use binary character
io.write(fd,"P3\n256 256\n255\n");
for(var i=255;i>=0;i-=1){
for(var j=0;j<256;j+=1)
pixel_write(fd,i,j);
io.write(fd,"\n");
}
io.close(fd);