mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Added no terrain pop experimental shader
This commit is contained in:
parent
596ae73117
commit
2d7aa1aaa3
@ -56,8 +56,10 @@ void main() {
|
||||
|
||||
// Terrain 'pop-in' effect
|
||||
#ifndef EXPERIMENTAL_BAREMINIMUM
|
||||
f_pos.z -= 250.0 * (1.0 - min(1.0001 - 0.02 / pow(tick.x - load_time, 10.0), 1.0));
|
||||
// f_pos.z -= min(32.0, 25.0 * pow(distance(focus_pos.xy, f_pos.xy) / view_distance.x, 20.0));
|
||||
#ifndef EXPERIMENTAL_NOTERRAINPOP
|
||||
f_pos.z -= 250.0 * (1.0 - min(1.0001 - 0.02 / pow(tick.x - load_time, 10.0), 1.0));
|
||||
// f_pos.z -= min(32.0, 25.0 * pow(distance(focus_pos.xy, f_pos.xy) / view_distance.x, 20.0));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
float pull_down = pow(distance(focus_pos.xy, f_pos.xy) / (view_distance.x * 0.95), 20.0) * 0.7;
|
||||
|
@ -37,7 +37,11 @@ void main() {
|
||||
model_pos = v_pos;
|
||||
|
||||
float pull_down = 1.0 / pow(distance(focus_pos.xy, tree_pos.xy) / (view_distance.x * 0.95), 150.0);
|
||||
f_pos.z -= pull_down;
|
||||
#ifndef EXPERIMENTAL_NOTERRAINPOP
|
||||
f_pos.z -= pull_down;
|
||||
#else
|
||||
f_pos.z -= step(0.1, pull_down) * 10000.0;
|
||||
#endif
|
||||
|
||||
// Hacky, very bad, 50 is ~ tree height
|
||||
f_norm = mix(v_norm, vec3(0, 0, 1), clamp(model_pos.z / 50, 0, 1));
|
||||
|
@ -356,7 +356,7 @@ void main() {
|
||||
|
||||
#ifdef EXPERIMENTAL_NOLODVOXELS
|
||||
f_ao = 1.0;
|
||||
voxel_norm = normalize(mix(side_norm, top_norm, cam_dir.z));
|
||||
voxel_norm = normalize(mix(side_norm, top_norm, max(cam_dir.z, 0.0)));
|
||||
#endif
|
||||
|
||||
// vec3 f_ao_view = max(vec3(dot(f_orig_view_dir.yz, sides.yz), dot(f_orig_view_dir.xz, sides.xz), dot(f_orig_view_dir.xy, sides.xy)), 0.0);
|
||||
|
@ -81,8 +81,10 @@ void main() {
|
||||
|
||||
// Terrain 'pop-in' effect
|
||||
#ifndef EXPERIMENTAL_BAREMINIMUM
|
||||
v_pos.z -= 250.0 * (1.0 - min(1.0001 - 0.02 / pow(tick.x - load_time, 10.0), 1.0));
|
||||
// f_pos.z -= min(32.0, 25.0 * pow(distance(focus_pos.xy, f_pos.xy) / view_distance.x, 20.0));
|
||||
#ifndef EXPERIMENTAL_NOTERRAINPOP
|
||||
v_pos.z -= 250.0 * (1.0 - min(1.0001 - 0.02 / pow(tick.x - load_time, 10.0), 1.0));
|
||||
// f_pos.z -= min(32.0, 25.0 * pow(distance(focus_pos.xy, f_pos.xy) / view_distance.x, 20.0));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef EXPERIMENTAL_CURVEDWORLD
|
||||
|
@ -465,4 +465,6 @@ pub enum ExperimentalShader {
|
||||
LowGlowNearCamera,
|
||||
/// Disable the fake voxel effect on LoD features.
|
||||
NoLodVoxels,
|
||||
// Disable the 'pop-in' effect when loading terrain.
|
||||
NoTerrainPop,
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user