Download

Why can't we have simple IOR driven refraction

Hi,

I’ve been constantly confused by being able to do some essential things in UE4 very easily, while other absolutely essential things being unnecessarily overcomplicated, without any clearly defined “default” way of doing it. And the way refraction is handled in material is one of them. Some time ago, I’ve created a thread about creating a simple glass material, and I has taken me over 2 days of experimentation of reading several different suggestion before I came across something at least plausible.

Now I have always thought that not having something as essential as simple IOR based formula in the material is some sort of realtime technical implementation, yet recently, Blender guys implemented it in their realtime viewport tech in upcoming version of the open source 3D package - within 3 days!
https://youtube.com/watch?v=rwSVzm6Nh10
So I am left here wondering, if we have almost complete Disney PBR based material in UE, why can’t we have simple, physically based, one IOR parameter-driven refraction?

I still, to this day, have no idea how to do simple IOR 1.52 glass material in UE4. The documentation is not really helpful on the matter either, as it describes only fake approach, which slightly distorts the background towards grazing angle surfaces, rather than providing us with something that actually looks like refraction: https://docs.unrealengine.com/latest…ialNodes/1_14/

UE4 renderer is not raytracer but rasterization based so refraction has to be based on screen image. It’s also can’t depend on inner reflections because current pixel don’t have any clue about object polygons.

Well obviously neither is Blender’s Eevee, it’s a realtime rasterizer too. And I am absolutely aware of the screen space limitation, but having IOR based refraction working at least for spherical scene captures would be a lot better than what we have now.