| texture A=init_attractor_estimate(); |
| texture D; destination texture |
| do { iterative attractor refinement |
| set_framebuffer(D); render to D |
| clear_framebuffer(); |
| for (int i=…) { loop over IFS maps |
| mesh m=new mesh(v,v); v×v vertices |
| for (int j=…) { loop over vertices |
| vec2 texcoord=Vj; fixed source |
| vec2 geometry=wi(Vj); destination |
| m.add_vertex(texcoord,geometry); |
| } |
| texture the map’s geometry using A |
| draw_textured_mesh(A,m); |
| } |
| A=D; copy out our new estimate |
| } until (… attractor converged …); |