#version 440 out vec4 FragColors; in vec3 reflectDir; uniform vec3 Ka; uniform float ReflectFactor; uniform bool DrawSkyBox; uniform samplerCube CubeMapTex; float rand(vec2 co){ return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453); } void main() { vec4 texColor = texture(CubeMapTex, reflectDir); if (DrawSkyBox == true) FragColors = texColor; else FragColors = vec4(mix(Ka, texColor.xyz, ReflectFactor), 1); }