Step 1 plain cube subdivided 15 times (use the tool, not the modifier!), no smoothing.
step 2 I used circle from the Looptools addon to circularize the selected verts in step 2 (can’t Blend anymore without Looptools!).
step 3 selected the center verts and moved them along the normal orientation.
step 4 shows the soft subdivision without any supporting loops,
step 5 shows supporting loops added by selecting the existing circle and doing ALT V (rip fill) followed by edge slide (twice, to add two loops). Remove doubles and recalculate normals should be like breathing whenever you are adding geometry.
Step 6: the loops can be edge slid out and in to sharpen or soften the edge.
After all is done you can delete 8 loops per face that are probably not going to be used (each dot only requires six loops), and you might add some loops at the outside edges to sharpen them.
Thought about using a nice transparent material for the render but I don’t have all that high powered a computer and I had already let this post slide too long so here it is. No UV unwrap and no image texture here (but I recommend their use), only face assigned materials not quite matching up to the edge of the depression.