Hi
Can you print it with the details the shader would add?
While I never used shaders in icesl I think it might be more practical to use a bump map to create the grooves between the bricks and then print them using a different color. If you'd be printing single stones it might work, but a full castle won't have too much details on the stones. Evaluating the normal vector you could even apply different bump maps per side. As far as I understood you can't load textures or bump maps at the moment, so maybe add it to the wish list. Or can you?
Looking at your current castle it looks like the random function is doing too much, resulting in too many narrow bricks and in too small interlock areas between bricks in different layers. And it looks like the towers are build with giant stones. Well, I like buildings with giant stones, and there are towers constructed with giant irregular stones (
https://en.wikipedia.org/wiki/Nuraghe), as well as walls constructed with giant irregular stones on the Easter Island, Egypt and South America (
https://www.youtube.com/watch?v=66x9VLwZaDQ shows a nice wall) and maybe on a few other places (
http://www.bibliotecapleyades.net/arqueologia/worldwonders/geom2.htm). It's obvious that an advanced tools and computer programs would have been really helpful to calculate the optimal use the these random stones, going off-topic. Anyway, each stone is rather individual, so a generic shader won't do it. Maybe you could randomly add bumps/dents/edges within the function to generate the stones, it'll make it look much more real.
Maze