What's the usual way to round the edges on a cube, a rectangular object as in the examples?
The ideal result would look pretty much exactly like these images.
(Naturally, you could literally use a mesh that has carefully rounded edges and corners, but it takes many tris to achieve that.)
Note, of course for a NON-shader approach...
Add two small flat boxes and simply make that new normal halfway, i.e., 45 degrees, between the two sides:
That would be drawn perfectly round ...
GDG below has provided an article where someone asserts that this is indeed the best way, if not using a shader approach.
I'm really wondering how to do this with a shader though.
Note - incredibly detailed tutorial on the non-shader approach
Using deferred shading you may access G-buffer to locate and round edges like it done in this paper. Though it is a post-processing technique so it is able to emulate roundness in a limits of some pixels.
Simple averaged normals (1 pixel width):
Simple averaged normals (2 pixel width):
Simple averaged normals (3 pixel width):