mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-10 13:31:49 +00:00
add 'sky_tint', 'clouds_tint', 'min_sky_light' weather parameters
This commit is contained in:
parent
1194379f99
commit
e037462615
22 changed files with 80 additions and 31 deletions
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"clouds": 1.0
|
||||
"clouds": 1.0,
|
||||
"clouds_tint": [0.6, 0.7, 0.8],
|
||||
"sky_tint": [1.5, 1.5, 1.5],
|
||||
"min_sky_light": [0.05, 0.07, 0.1]
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,5 +2,6 @@
|
|||
"fog_opacity": 0.98,
|
||||
"fog_dencity": 3.6,
|
||||
"fog_curve": 0.25,
|
||||
"clouds": 0.9
|
||||
"clouds": 0.9,
|
||||
"min_sky_light": [0.0, 0.0, 0.0]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,5 +19,8 @@
|
|||
"fog_opacity": 0.5,
|
||||
"fog_dencity": 1.7,
|
||||
"fog_curve": 0.5,
|
||||
"clouds": 0.9
|
||||
"clouds": 0.96,
|
||||
"sky_tint": [2.0, 2.0, 2.0],
|
||||
"clouds_tint": [0.6, 0.7, 0.8],
|
||||
"min_sky_light": [0.05, 0.07, 0.1]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,5 +11,8 @@
|
|||
"fog_opacity": 0.8,
|
||||
"fog_dencity": 2.5,
|
||||
"fog_curve": 0.5,
|
||||
"clouds": 0.5
|
||||
"clouds": 1.0,
|
||||
"sky_tint": [1.9, 1.9, 1.9],
|
||||
"clouds_tint": [0.7, 0.8, 0.9],
|
||||
"min_sky_light": [0.05, 0.07, 0.1]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,5 +19,7 @@
|
|||
"fog_dencity": 2.0,
|
||||
"fog_curve": 0.5,
|
||||
"clouds": 0.7,
|
||||
"thunder_rate": 0.1
|
||||
"thunder_rate": 0.1,
|
||||
"clouds_tint": [0.3, 0.4, 0.5],
|
||||
"min_sky_light": [0.0, 0.0, 0.0]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ void main() {
|
|||
a_texCoord = v_texCoord;
|
||||
|
||||
a_dir = a_modelpos.xyz - u_cameraPos;
|
||||
vec3 skyLightColor = pick_sky_color(u_skybox, u_dayTime);
|
||||
vec3 skyLightColor = pick_sky_color(u_skybox, u_dayTime, u_minSkyLight);
|
||||
a_skyLight = skyLightColor.rgb*v_light.a;
|
||||
|
||||
mat4 viewmodel = u_view * u_model;
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ void main() {
|
|||
a_texCoord = v_texCoord;
|
||||
|
||||
a_dir = a_modelpos.xyz - u_cameraPos;
|
||||
vec3 skyLightColor = pick_sky_color(u_skybox, u_dayTime);
|
||||
vec3 skyLightColor = pick_sky_color(u_skybox, u_dayTime, u_minSkyLight);
|
||||
a_color.rgb = max(a_color.rgb, skyLightColor.rgb * v_light.a) * v_color;
|
||||
a_color.a = u_opacity;
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@
|
|||
// lighting
|
||||
#define SKY_LIGHT_MUL 2.5
|
||||
#define SKY_LIGHT_TINT (vec3(1.0, 0.75, 0.6) * 2.0)
|
||||
#define MIN_SKY_LIGHT vec3(0.2, 0.25, 0.33)
|
||||
|
||||
// fog
|
||||
#define FOG_POS_SCALE vec3(1.0, 0.2, 1.0)
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@
|
|||
|
||||
#include <constants>
|
||||
|
||||
vec3 pick_sky_color(samplerCube cubemap, float dayTime) {
|
||||
vec3 pick_sky_color(samplerCube cubemap, float dayTime, vec3 minSkyLight) {
|
||||
float elevation = sin(dayTime * PI2) * 0.2;
|
||||
vec3 skyLightColor = texture(cubemap, vec3(0.0f, elevation, -0.4f)).rgb;
|
||||
skyLightColor *= SKY_LIGHT_TINT;
|
||||
skyLightColor = min(vec3(1.0f), skyLightColor * SKY_LIGHT_MUL);
|
||||
skyLightColor = max(MIN_SKY_LIGHT, skyLightColor);
|
||||
skyLightColor = max(minSkyLight, skyLightColor);
|
||||
return skyLightColor;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,5 +11,6 @@ uniform float u_timer;
|
|||
uniform samplerCube u_skybox;
|
||||
uniform vec3 u_torchlightColor;
|
||||
uniform float u_torchlightDistance;
|
||||
uniform vec3 u_minSkyLight;
|
||||
|
||||
#endif // GLSL_WORLD_UNIFORMS_
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ void main() {
|
|||
a_texCoord = v_texCoord;
|
||||
|
||||
a_dir = a_modelpos.xyz - u_cameraPos;
|
||||
vec3 skyLightColor = pick_sky_color(u_skybox, u_dayTime);
|
||||
vec3 skyLightColor = pick_sky_color(u_skybox, u_dayTime, u_minSkyLight);
|
||||
a_skyLight = skyLightColor.rgb*v_light.a;
|
||||
|
||||
mat4 viewmodel = u_view * u_model;
|
||||
|
|
|
|||
|
|
@ -241,6 +241,8 @@ uniform vec3 u_xaxis;
|
|||
uniform vec3 u_yaxis;
|
||||
uniform vec3 u_zaxis;
|
||||
uniform vec3 u_lightDir;
|
||||
uniform vec3 u_tint;
|
||||
uniform vec3 u_hightlight;
|
||||
uniform int u_quality;
|
||||
uniform float u_mie;
|
||||
uniform float u_fog;
|
||||
|
|
@ -295,5 +297,5 @@ void main() {
|
|||
col = 1.0 - exp(-col);
|
||||
col = min(col, vec3(1.0));
|
||||
// Output to screen
|
||||
f_color = vec4(col, 1.0);
|
||||
f_color = vec4(col * u_tint + u_hightlight, 1.0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ void main() {
|
|||
a_texCoord = v_texCoord;
|
||||
|
||||
a_dir = a_modelpos.xyz - u_cameraPos;
|
||||
vec3 skyLightColor = pick_sky_color(u_skybox, u_dayTime);
|
||||
vec3 skyLightColor = pick_sky_color(u_skybox, u_dayTime, u_minSkyLight);
|
||||
a_skyLight = skyLightColor.rgb*v_light.a;
|
||||
|
||||
mat4 viewmodel = u_view * u_model;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue