Well, it's ray tracing innit.
There would be loads of ways to fake it, but you could look up ray tracing on the net and find out some stuff about it there. There are loads of resources. Here's how one might do it:
If it's only one texture you're thinking about (which I guess you could do by reading the pixels off the frame buffer beneath the object), then (assuming the surface is inside the object) at every vertex of your object you could calculate the vector created by a beam of light running perpendicular to the screen's surface (i.e. straight down the Z axis) as it passes into your object at that vertex.
The refractive index of the object will bend the beam of light away from its previous course. You would then project this new vector down onto the texture surface, and map the UV for the vertex you originally passed the beam through to that UV on the texture you read off the frame buffer. If the texture you were looking at wasn't flat you could add calculations to find out where the vector impacted the texture surface. Also if the object is behind the object you'll need to calculate where the beam of light exits the medium and which direction it'll be going in afterwards, and work from there.
I've forgotten the equation for calculating the resultant vector given two refractive indexes. You can probably find it in most A-level (high school?) maths books, or online somewhere. Wolfram maybe, or as I said above at probably any ray tracing website. You could fake the calculations by just using the vertex's normal and projecting that inwards. Might look a bit funny.