Hi, in my scene i only have a background. Its like looking at a 2d wall, but i do have some other 3d objects in front of it.
I want to add a refraction effect to my objects with a shader. Normally i’d have to pass a cubemap. But since there is no sky/environment, it makes it kinda hard to make a cubemap with no images…
I tried to change the shader so that it would work with just one (background) image. But i’m not getting the desired result.
Original image i’m trying to refract:
How can i fix this, so that it does a refraction on a single (background) image?
varying vec3 Reflect;
varying vec3 Refract;
varying float Ratio;
//uniform samplerCube Cubemap;
uniform sampler2D Cubemap;
void main()
{
//vec3 refractColor = vec3(textureCube(Cubemap, Refract));
//vec3 reflectColor = vec3(textureCube(Cubemap, Reflect));
vec3 refractColor = vec3(texture2D(Cubemap, Refract));
vec3 reflectColor = vec3(texture2D(Cubemap, Reflect));
vec3 color = mix(refractColor, reflectColor, Ratio);
gl_FragColor = vec4(color, 1.0);
}