29 lines
686 B
GLSL
29 lines
686 B
GLSL
#version 440
|
|
|
|
out vec4 FragColors;
|
|
|
|
in vec3 reflectDir;
|
|
|
|
in vec3 refractDir_R;
|
|
in vec3 refractDir_G;
|
|
in vec3 refractDir_B;
|
|
|
|
in float reflectFactor;
|
|
uniform bool DrawSkyBox;
|
|
uniform samplerCube CubeMapTex;
|
|
|
|
void main()
|
|
{
|
|
vec4 reflectColor = texture(CubeMapTex, reflectDir);
|
|
if (DrawSkyBox == true)
|
|
FragColors = reflectColor;
|
|
else
|
|
{
|
|
float refractColor_R = texture(CubeMapTex, refractDir_R).r;
|
|
float refractColor_G = texture(CubeMapTex, refractDir_G).g;
|
|
float refractColor_B = texture(CubeMapTex, refractDir_B).b;
|
|
vec4 refractColor = vec4(refractColor_R, refractColor_G, refractColor_B, 1);
|
|
FragColors = vec4(mix(refractColor, reflectColor, reflectFactor));
|
|
}
|
|
}
|