it gives the same result as earlier …
closest to the desired:
but this is not a complete transformation,
to get the full need something like this:
it gives the same result as earlier …
closest to the desired:
but this is not a complete transformation,
to get the full need something like this:
this version is not bad
http://i.imgur.com/7oR6y49.mp4
This is a good starting point but it does not work on very high FOVs. My version is not correct, too (because I suck at math):
I looked at the UV channels of spheres: They get distorted to ellipses and their axis rotate, but the UV gradient stays top-bottom/left-right which leads to wrong values (e.g. the “bottom” in the ellipse is not it’s lowest point (I guess)). So my basic idea was to “modify” the UV gradient to the correct position and luckily the B channel of your version is exactly what we need:
So here is my expansion of your version:
1.) Just mixing the B channel into U and V does only work for half the screen. The other half needs an inverted B channel.
2.) The effect needs to fade or scale somehow. It’s too strong. This is what I try to do in the center area. Basically I make a exponential radial gradient which I “zoom” in and out based on FoV.
Well, this is all trial and error and not perfect.
I’m sure someone can find a more elegant solution.
[Here are all nodes of the material function on pastebin][4]
And here are some images:
Also: It is super cheap! But it looks like a very complex material (at the first glance). This might be useful for mobile