I would like make translucent materials be effected by refraction, so Object A can distort Object B even if object A is translucent.
I found this:
This is a limitation with the way refraction is implemented - it basically makes a copy of the underlying image and then distorts it. In order to avoid multiple copies so that we get good performance, only opaque materials can be refracted properly. You can implement refraction yourself in a way that works properly with other translucency with SceneColor lookups, but each mesh using that will cause a copy of the entire scene color buffer, which can add up quickly.
Isn’t there still an option for this?
If there isn’t, isn’t it possible to make this work in a more sane way?
What I would like to do is:
1.) render my refraction values to a different render target
2.) create a post process material which uses the scene texture and my own “refraction” texture to create the distortion
Main issue is that I can’t find a way to make 1.) work. Is this even possible? Sounds like a really basic feature, but I just can’t find a way to do it. I hope it is possible without modifying the engine.
It isn’t a must to render the “refraction value”, if I could create a material which renders into a custom render target, that would be cool. But it has to be generic, so it would work with particles and all. So using scene capture component and selecting assets one by one to render isn’t really an option.
Thanks,
Elathan