aren't you guys all getting tons of internal error's as soon as you combine dynamic arrays with static arrays? It seems as if these things are completely seperate things, but their syntax sugests a more closely related connection. I really find it confusing...
seeing as this is pure d, am I right in assuming there should never be any memory leaks when using this?
The reduced loop that only generates images is here :
TrueColorImage i= new TrueColorImage(width,height);
PNG* png;
double[][4] curtrans;
while(true){
curtrans=generateTransformationMatrix();
for(int y=0;y<height;y++)
for(int x=0;x<width;x++)
i.data[(y*width+x)*4..y*width+x)*4+4]=colorify(applyTransformation(transformXY(x,y),curtrans)).dup[0..3] ~ 255;
// and finally write the data to a png file
png = pngFromImage(i);
//std.file.write("images/"~toHexString(md5Of(curtrans))~".png", writePng(png));
}
if you comment out "png = pngFromImage(i)" the program appears to not blow up over time. I think the ice come from assiging a slice of a dynamic array to a slice of a static array (hence the .dup). (I'll try reducing it with dustmite)