Well its a bit hard to say without knowing what your outcome has to be. Or what the goal is, there are many cheats. For instance. A plane with a displacement mod and water level + a mirrored version underneath:
i think Ashley was suggesting to make a displacement map for your holes, you will get a sharp sided “indent” for each hole. using the “water level” setting you can remove the very bottom of the indent. as long as you only see it from one side it will appear to have thickness, just no back face.
alternatively you could model a small piece with holes and shell it, then use “vraypattern” plugin to replicate that piece across a surface. -this assumes it can be some kind of tiling pattern, and not totally random.
sent my reply before i saw yours. good idea re. duplicating the mesh.. possibly just applying the displacement to a shelled version of the geometry and adjusting displacement depth / water level until the two sides meet in the middle would be a good approach.. should hold up even on curved surfaces, to a degree..
That’s also a possibility I think but in terms of a heavy scene if you need to create 1000s of tiny cylinders it’s going to be quite heavy. I wonder what would be faster to render though.
PFlow > mesher > VRayClipper. not that hard to create 1000s of whatever.
but if the cylinders are to be really tiny than maybe a shortcut like this:
reference the single sided mesh
quadify modifier to subdivide the mesh to polys the size of cylinder diameter
select ~75% of polys
delete mesh modifier
shell modifier
turbosmooth if needed
vray clipper
Sure, I would use forestpack or whatnot instead, but matter of the fact is that they need to be actual meshes in viewport for it to work with VrayClipper or not?