mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Fixed rain clipping issue
This commit is contained in:
parent
4b738c8b8f
commit
90d2ceab2e
@ -92,9 +92,9 @@ void main() {
|
||||
vec3 rorigin = cam_pos.xyz + focus_off.xyz + 0.5;
|
||||
vec3 rpos = vec3(0.0);
|
||||
float t = 0.0;
|
||||
for (int i = 0; i < 8; i ++) {
|
||||
while (t < 64.0) {
|
||||
const float PLANCK = 0.01;
|
||||
float scale = min(pow(2, ceil(t / 3.0)), 32);
|
||||
float scale = min(pow(2, ceil(t / 2.0)), 32);
|
||||
vec2 deltas = (step(vec2(0), dir2d) - fract(rpos.xy / scale + 100.0)) / dir2d;
|
||||
float jump = max(min(deltas.x, deltas.y) * scale, PLANCK);
|
||||
t += jump;
|
||||
@ -105,7 +105,7 @@ void main() {
|
||||
wall_pos.xz *= vec2(4, 0.3);
|
||||
wall_pos.z += hash(fract(vec4(floor(wall_pos.xy + vec2(0, 0.5)), 1000, 0) * 0.1));
|
||||
|
||||
float depth_adjust = abs(hash(vec4(floor(wall_pos.xyz), 2000)));
|
||||
float depth_adjust = fract(hash(vec4(floor(wall_pos.xyz), 2000)));
|
||||
float wpos_dist = t - jump * depth_adjust;
|
||||
vec3 wpos = cam_pos.xyz + dir * wpos_dist;
|
||||
|
||||
@ -115,8 +115,8 @@ void main() {
|
||||
if (wpos_dist > dist) { break; }
|
||||
if (length((fract(wall_pos.xz) - 0.5)) < 0.1 + pow(max(0.0, wpos_dist - (dist - 0.25)) / 0.25, 4.0) * 0.2) {
|
||||
float alpha = 0.5 * clamp((wpos_dist - 1.0) * 0.5, 0.0, 1.0);
|
||||
float light = sqrt(dot(color.rgb, vec3(1))) + (get_sun_brightness() + get_moon_brightness()) * 0.01;
|
||||
color.rgb = mix(color.rgb, vec3(0.2, 0.3, 0.5) * light, alpha);
|
||||
float light = dot(color.rgb, vec3(1)) + 0.1 + (get_sun_brightness() + get_moon_brightness()) * 0.3;
|
||||
color.rgb = mix(color.rgb, vec3(0.1, 0.2, 0.5) * light, alpha);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user