Experimental dissolve VD

This commit is contained in:
Joshua Barretto 2020-11-14 11:53:16 +00:00
parent 6adfa547db
commit 717fd88565
2 changed files with 9 additions and 1 deletions

View File

@ -27,6 +27,7 @@ in vec3 f_pos;
// in vec3 f_chunk_pos;
// #ifdef FLUID_MODE_SHINY
flat in uint f_pos_norm;
flat in float f_load_time;
// #else
// const uint f_pos_norm = 0u;
// #endif
@ -60,6 +61,11 @@ out vec4 tgt_color;
#include <lod.glsl>
void main() {
float nz = abs(hash(vec4(floor((f_pos + focus_off.xyz) * 5.0), 0)));
if (nz > (tick.x - load_time) / 0.5 || distance(focus_pos.xy, f_pos.xy) / view_distance.x + nz * 0.1 > 1.0) {
discard;
}
// discard;
// vec4 f_col_light = textureGrad(t_col_light, f_uv_pos / texSize, 0.25, 0.25);
// vec4 f_col_light = texture(t_col_light, (f_uv_pos) / texSize);

View File

@ -48,6 +48,7 @@ uniform u_locals {
out vec3 f_pos;
// #ifdef FLUID_MODE_SHINY
flat out uint f_pos_norm;
flat out float f_load_time;
// #if (SHADOW_MODE == SHADOW_MODE_MAP)
// out vec4 sun_pos;
@ -73,7 +74,8 @@ void main() {
vec3 f_chunk_pos = vec3(ivec3((uvec3(v_pos_norm) >> uvec3(0, 6, 12)) & uvec3(0x3Fu, 0x3Fu, 0xFFFFu)) - ivec3(0, 0, EXTRA_NEG_Z));
f_pos = f_chunk_pos + model_offs - focus_off.xyz;
// f_pos.z -= 250.0 * (1.0 - min(1.0001 - 0.02 / pow(tick.x - load_time, 10.0), 1.0));
f_load_time = load_time;
//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));
// vec3 light_col = vec3(