You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
691 B
Plaintext
19 lines
691 B
Plaintext
|
9 months ago
|
shader_type fog;
|
||
|
|
|
||
|
|
uniform float density : hint_range(0, 1, 0.0001) = 1.0;
|
||
|
|
uniform vec4 albedo : source_color = vec4(1.0);
|
||
|
|
uniform vec4 emission : source_color = vec4(0, 0, 0, 1);
|
||
|
|
uniform float height_falloff = 0.0;
|
||
|
|
uniform float edge_fade = 0.1;
|
||
|
|
uniform sampler3D density_texture: hint_default_white;
|
||
|
|
|
||
|
|
|
||
|
|
void fog() {
|
||
|
|
float x = mod(UVW.r - TIME*0.1,1.0);
|
||
|
|
vec3 uvw = vec3(x, UVW.g,UVW.b);
|
||
|
|
DENSITY = density * clamp(exp2(-height_falloff * (WORLD_POSITION.y - OBJECT_POSITION.y)), 0.0, 1.0);
|
||
|
|
DENSITY *= texture(density_texture, uvw).r;
|
||
|
|
DENSITY *= pow(clamp(-2.0 * SDF / min(min(SIZE.x, SIZE.y), SIZE.z), 0.0, 1.0), edge_fade);
|
||
|
|
ALBEDO = albedo.rgb;
|
||
|
|
EMISSION = emission.rgb;
|
||
|
|
}
|