Merge branch 'ripple-tweaks' into 'master'

Ripple shader tweaks

See merge request OpenMW/openmw!4351
pull/3236/head
psi29a 4 months ago
commit 7a6fa45ece

@ -20,7 +20,7 @@ void main()
for (int i = 0; i < positionCount; ++i)
{
float wavesize = wavesizeMultiplier * positions[i].z;
float displace = clamp(2.0 * abs(length((positions[i].xy + offset) - gl_FragCoord.xy) / wavesize - 1.0), 0.0, 1.0);
float displace = clamp(0.2 * abs(length((positions[i].xy + offset) - gl_FragCoord.xy) / wavesize - 1.0) + 0.8, 0.0, 1.0);
color.rg = mix(vec2(-1.0), color.rg, displace);
}

@ -23,7 +23,7 @@ void main()
for (int i = 0; i < positionCount; ++i)
{
float wavesize = wavesizeMultiplier * positions[i].z;
float displace = clamp(2.0 * abs(length((positions[i].xy + offset) - vec2(gl_GlobalInvocationID.xy)) / wavesize - 1.0), 0.0, 1.0);
float displace = clamp(0.2 * abs(length((positions[i].xy + offset) - vec2(gl_GlobalInvocationID.xy)) / wavesize - 1.0) + 0.8, 0.0, 1.0);
color.rg = mix(vec2(-1.0), color.rg, displace);
}

@ -11,9 +11,9 @@ vec4 applySprings(in vec4 samplerData, in vec4 n, in vec4 n2)
vec4 storage = vec4(0.0, samplerData.r, 0.0, 0.0);
// Tweak to look most like water, not a physically accurate simulation
const float a = 0.14;
const float udamp = 0.02;
const float vdamp = 0.02;
const float a = 0.28;
const float udamp = 0.04;
const float vdamp = 0.04;
// Apply 2d wave equation with dampening
// Continous impulse needed to maintain simulation, otherwise ripples will fade
@ -21,7 +21,7 @@ vec4 applySprings(in vec4 samplerData, in vec4 n, in vec4 n2)
storage.r = a * nsum + ((2.0 - udamp - vdamp) - 4.0 * a) * samplerData.r - (1.0 - vdamp) * samplerData.g;
// Calculate normal and store in blue-alpha channel
storage.ba = 2.0 * (n.xy - n.zw) + 0.5 * (n2.xy - n2.zw);
storage.ba = 2.0 * (n.xz - n.yw) + 0.5 * (n2.xz - n2.yw);
return storage;
}

Loading…
Cancel
Save