Use the following code:
#local sB=sqrt(3)/min(image_height,image_width)/sCamZ; #local pA=< 0, sB*2/3,1>*100000; #local pB=< sB/sqrt(3),-sB/3, 1>*100000; #local pC=<-sB/sqrt(3),-sB/3, 1>*100000; #local S0=seed(4); #local cC=16; #local sC=.5/cC;#while(sC<=1) mesh { #local iI=0; #while (iI<1600/cC*sCamZ*sCamZ) #local vAng=<rand(S0),rand(S0),rand(S0)>*360; #if (vdot(vrotate(z,vAng),vCamD)>sCamZ/vlength(<sCamR/2,sCamU/2,sCamZ>) | AllStars) triangle { vrotate(pA,vAng), vrotate(pB,vAng), vrotate(pC,vAng) } #end #local iI=iI+1; #end no_shadow pigment { rgb <max(0,-(sC-1)*2),min(sC*4,-(sC-1)*4),max(0,(sC-.25)*4)>*.2+.8 } finish { ambient 1 diffuse 0 } // scale Beyond translate pCamL } #local sC=sC+1/cC;#end
A number of parameters are used here that you'll need to define first: