Added no terrain pop experimental shader

This commit is contained in:
Joshua Barretto 2022-05-09 16:39:31 +01:00
parent 596ae73117
commit 2d7aa1aaa3
5 changed files with 16 additions and 6 deletions

View File

@ -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;

View File

@ -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));

View File

@ -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);

View File

@ -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

View File

@ -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,
}