How can I make my ice cubes look real? I can model ice cubes as slightly misshapen transparent cubes with the refractive index of water, but they don't look convincing. They look like lumps of glass rather than ice.

Looking at real ice cubes I can intuitively describe some differences but I don't know what physical properties to change to match them:


Ice cubes are wet. Mine look like dry glass.
Ice cubes are transparent in places and not in others.
Ice cubes often have cracks that are visible despite not separating.


In this instance I am trying to model ice cubes on a surface (in air, not floating in water).

What techniques do I need to include in order to increase the realism?

I am not looking for real time techniques, just to produce still images. I would like the ice to be photorealistic even close up, and to cast realistic caustics and shadows.

I've tried using curved edges and coating my ice cubes with a thin layer of transparent material to simulate a melted layer of water, but it doesn't seem to give the impression of being wet. I've also tried embedding a transparent sphere half the size of the cube at its centre, with a fog effect, but it doesn't blend into the cube naturally - it just looks embedded. Even a series of nested spheres with gradually increasing fog still doesn't look right.
Two big ones you're missing:


Angle-dependent reflection.  This is one possible cause of your "transparent in places and not in others" effect, and the most likely cause of the missing wetness.
Ice cubes usually have air bubbles trapped inside.  This shows up as a white volumetric haze denser in the center of the cube (for small bubbles) or distinct bubbles (for large ones).  This is the other likely cause of your "transparent in places and not in others".


The techniques for modeling these depend on what rendering method you're using.