2019-01-11 20:14:37 +00:00
|
|
|
#version 330 core
|
|
|
|
|
2019-05-12 09:10:13 +00:00
|
|
|
#include <globals.glsl>
|
2019-06-05 15:22:06 +00:00
|
|
|
#include <sky.glsl>
|
2019-05-12 09:10:13 +00:00
|
|
|
|
2019-01-11 20:14:37 +00:00
|
|
|
in vec3 f_pos;
|
|
|
|
|
|
|
|
layout (std140)
|
|
|
|
uniform u_locals {
|
2019-01-11 23:18:34 +00:00
|
|
|
vec4 nul;
|
2019-01-11 20:14:37 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
out vec4 tgt_color;
|
|
|
|
|
|
|
|
void main() {
|
2019-11-18 12:02:10 +00:00
|
|
|
vec4 _clouds;
|
2020-01-20 00:48:14 +00:00
|
|
|
|
2020-04-02 04:49:27 +00:00
|
|
|
vec3 cam_dir = normalize(f_pos - cam_pos.xyz);
|
|
|
|
/* vec3 world_pos = cam_pos.xyz + cam_dir * 500000.0;
|
2020-04-02 02:36:21 +00:00
|
|
|
tgt_color = vec4(get_sky_color(normalize(f_pos), time_of_day.x, cam_pos.xyz, world_pos, 1.0, true, _clouds), 1.0); */
|
2020-03-27 15:13:36 +00:00
|
|
|
float fog_level = fog(f_pos.xyz, focus_pos.xyz, medium.x);
|
|
|
|
|
|
|
|
float dist = 100000.0;
|
2020-05-01 20:58:55 +00:00
|
|
|
|
|
|
|
float refractionIndex = medium.x == 1u ? 1.0 / 1.3325 : 1.0;
|
2020-04-28 18:49:03 +00:00
|
|
|
/* if (medium.x == 1u) {
|
2020-03-27 15:13:36 +00:00
|
|
|
dist = UNDERWATER_MIST_DIST;
|
2020-04-28 18:49:03 +00:00
|
|
|
} */
|
2020-04-02 04:49:27 +00:00
|
|
|
vec3 wpos = cam_pos.xyz + /*normalize(f_pos)*/cam_dir * dist;
|
2020-03-27 15:13:36 +00:00
|
|
|
|
2020-05-01 20:58:55 +00:00
|
|
|
tgt_color = vec4(get_sky_color(normalize(f_pos), time_of_day.x, cam_pos.xyz, wpos, 1.0, true, refractionIndex, _clouds), 1.0);
|
2019-01-11 20:14:37 +00:00
|
|
|
}
|