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
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 wave10 = wave_height(wave_pos + vec3(0.1, 0, 0));
float wave01 = wave_height(wave_pos + vec3(0, 0.1, 0)); float wave01 = wave_height(wave_pos + vec3(0, 0.1, 0));
// 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); float slope = abs(wave00 - wave10) * abs(wave00 - wave01);
vec3 nmap = vec3( vec3 nmap = vec3(
-(wave10 - wave00) / 0.1, -(wave10 - wave00) / 0.1,
-(wave01 - wave00) / 0.1, -(wave01 - wave00) / 0.1,
@ -151,7 +155,7 @@ void main() {
float f_alt = f_pos.z; float f_alt = f_pos.z;
#endif #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 alpha = 0.255/*/ / 4.0*//* / 4.0 / sqrt(2.0)*/;
const float n2 = 1.3325; const float n2 = 1.3325;
const float R_s2s0 = pow((1.0 - n2) / (1.0 + n2), 2); 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) .color(TEXT_COLOR)
.set(state.ids.fluid_mode_text, ui); .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 = [ let mode_label_list = [
&self &self
.localized_strings .localized_strings
.get("hud.settings.fluid_rendering_mode.cheap"), .get("hud.settings.fluid_rendering_mode.cheap"),
/* &self &self
.localized_strings .localized_strings
.get("hud.settings.fluid_rendering_mode.shiny"), */ .get("hud.settings.fluid_rendering_mode.shiny"),
]; ];
// Get which fluid rendering mode is currently active // Get which fluid rendering mode is currently active

View File

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