Create a big sphere around your object(s) give it a normalized normals shader. Make it invisible to primary rays.
Put your objects in a partition and give it a 100% transparent shader with the proper refractive index.
Render the pass.
You now have a pass that looks something like a normals pass, but it encodes the refraction vector for every surface/eyeray. You can use something like ReMapper or ShadeShape to apply the vector map to an environment image, but you'll need to fool around with settings, and maybe reorient your environment image.
|
After doing some searching on the subject, I've come across this. I have a question, if the object you want to refract has objects within it, that are refracting, can you still apply this technique ?
Would you render out just the transparent object, then render out each object within the transparent object separate, then composite ?