Merge branch 'james/fix-shiny-shader-nvidia' into 'master'

Fixed NVidia shiny water shader bug and re-enabled in settings

See merge request veloren/veloren!1319
This commit is contained in:
Joshua Barretto 2020-08-24 07:09:48 +00:00
commit 79ec8c9e22
3 changed files with 11 additions and 11 deletions

View File

@ -132,7 +132,11 @@ void main() {
float wave10 = wave_height(wave_pos + vec3(0.1, 0, 0));
float wave01 = wave_height(wave_pos + vec3(0, 0.1, 0));
float slope = abs(wave00 - wave10) * abs(wave00 - wave01);
// Possibility of div by zero when slope = 0,
// however this only results in no water surface appearing
// and is not likely to occur (could not find any occurrences)
float slope = abs(wave00 - wave10) * abs(wave00 - wave01);
vec3 nmap = vec3(
-(wave10 - wave00) / 0.1,
-(wave01 - wave00) / 0.1,
@ -151,7 +155,7 @@ void main() {
float f_alt = f_pos.z;
#endif
float fluid_alt = max(ceil(f_pos.z), floor(f_alt));// f_alt;//max(f_alt - f_pos.z, 0.0);
float fluid_alt = mix(f_pos.z, f_alt, f_norm.z == 0);
const float alpha = 0.255/*/ / 4.0*//* / 4.0 / sqrt(2.0)*/;
const float n2 = 1.3325;
const float R_s2s0 = pow((1.0 - n2) / (1.0 + n2), 2);

View File

@ -2064,18 +2064,14 @@ impl<'a> Widget for SettingsWindow<'a> {
.color(TEXT_COLOR)
.set(state.ids.fluid_mode_text, ui);
// FIXME: Add shiny water back to the UI once we fix the bug on nVidia cards.
let mode_list = [
FluidMode::Cheap,
// FluidMode::Shiny
];
let mode_list = [FluidMode::Cheap, FluidMode::Shiny];
let mode_label_list = [
&self
.localized_strings
.get("hud.settings.fluid_rendering_mode.cheap"),
/* &self
.localized_strings
.get("hud.settings.fluid_rendering_mode.shiny"), */
&self
.localized_strings
.get("hud.settings.fluid_rendering_mode.shiny"),
];
// Get which fluid rendering mode is currently active

View File

@ -171,7 +171,7 @@ pub enum FluidMode {
}
impl Default for FluidMode {
fn default() -> Self { FluidMode::Cheap }
fn default() -> Self { FluidMode::Shiny }
}
/// Lighting modes