Wow! nice rendering. Are you using Hart's method?
I was rendering this grey thing with polygons, really
and it took a very long time (with geometry instancing though).
I now plan to calculate procedural bounding volumes and use it for a sphere tracing based method (with distance field).
As far as I quickly looked at Hart's old paper (interestingly he wrote a paper on sphere tracing later),
he basically maintains a stack of procedural bounding volumes that interesects the ray.
I guess it is good for general IFS, but a bit unecessary for KIFS, is there any advantage for KIFS rendering ?
Anyway, I would actually need it to for my special class of IFS (it's not KIFS, but it's not a general IFS either),
but I plan to use both stack and sphere tracing somehow.
Previously (i.e. in my caves) I was using weird rasterization (depth-first search on a procedural octree)
It suffered from obvious lighting problems (no fake GI, no true shadows, only with shadow maps etc..).
Just to clarify things: In KIFS the folding planes can be arbitrary. Abs() is just for the implementation of special cases where the planes are centered at (0,0,0) and are axis aligned.
Sure.
Although I was thinking about even more fancy generalizations.
Not only introducing new set of folding planes at every iteration (like I did with slightly randomized fundamental axes and Tglad with his double-folding planes),
but it could be interesting to also change the number of folding planes for every iteration (maybe somebody already suggested it in KIFS thread?)
This way you could for example generate a fractal tree with 2 branches at the begining and 3 branches at the end etc...
The one problem I noticed with KIFS (for my applications) is that you need to use the same folding planes for "everything" at the same iteration level,
otherwise distance function will get corrupted.
You just cannot use L-system like grammars, i.e. first divide space into rule A and B,
and each rule have different set of folding planes that divides subspaces into BBA and AAB etc..
And that's key to achieve aperiodic fractals. In my 2d renderings I have additional variable besides coordinates = rule number.
But actually maybe with Hart's method it could be possible !
Will think about it more...