min*_*der 7 opengl shader glsl
我正在glsl中实现折射.我正在使用frag着色器中提供的折射功能来获得所需的效果.但是我得到的折射,它的颠倒.我认为这是错误的......任何想法为什么会如此?
这是我在顶点着色器中所做的:
vec3 worldView = normalize(vec3(WorldCameraPosition-worldPos));
refractor = refract(-worldView, worldNorm, Eta); // eta = 0.66;
Run Code Online (Sandbox Code Playgroud)
然后我做的碎片着色器:
vec4 refractColor = textureCube(cubeMap, refractor);
Run Code Online (Sandbox Code Playgroud)
Tim*_*Tim 25
如果你在谈论这些领域的折射,我很确定你得到的是正确的结果,它应该是颠倒的.由于光线折射球面的方式,您在球体中看到的图像是相反的:

现实世界的例子: