22 lines
646 B
Plaintext
22 lines
646 B
Plaintext
varying vec3 uvs;
|
|
varying vec2 uv;
|
|
uniform sampler2D detail;
|
|
uniform samplerCube skybox;
|
|
|
|
const float starsToggle = #{{bSkycubeStars}} ? 1.0 : 0.0;
|
|
|
|
void main() {
|
|
vec3 dir = uvs;
|
|
|
|
vec3 color = textureCube(skybox, uvs, 0.0).rgb;
|
|
float variation = texture2D(detail, uv * vec2(4.0, 2.0)).a;
|
|
float density = dot(color, color);
|
|
vec4 details = texture2D(detail, uv * vec2(10.0, 5.0)) * density * 4.0;
|
|
details += texture2D(detail, uv * vec2(14.0, 7.0)) * (1.0 - pow(density, 2.0)) * variation;
|
|
|
|
color *= variation * details.a * 0.15 + 0.85;
|
|
color += details.rgb * starsToggle;
|
|
|
|
gl_FragColor = vec4(vec3(color.rgb), 1.0);
|
|
}
|