From 6b6b5484c0f2faccc34dc791ac3b88061294d631 Mon Sep 17 00:00:00 2001 From: Frederic Bouvier <fredfgfs01@free.fr> Date: Sun, 11 Dec 2011 12:42:48 +0100 Subject: [PATCH] Urban shader doesn't need GL_ARB_shader_texture_lod for quality level below 4.0. If needed, the shader should be split to have different requirements between levels. --- Effects/urban.eff | 65 +++++++++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 36 deletions(-) diff --git a/Effects/urban.eff b/Effects/urban.eff index ef355b43b..1a0123d5d 100644 --- a/Effects/urban.eff +++ b/Effects/urban.eff @@ -48,24 +48,22 @@ <value type="float">4.0</value> <float-property>/sim/rendering/shaders/urban</float-property> </less-equal> - <and> - <or> - <less-equal> - <value type="float">2.0</value> - <glversion/> - </less-equal> - <and> - <extension-supported>GL_ARB_shader_objects</extension-supported> - <extension-supported>GL_ARB_shading_language_100</extension-supported> - <extension-supported>GL_ARB_vertex_shader</extension-supported> - <extension-supported>GL_ARB_fragment_shader</extension-supported> - </and> - </or> - <or> - <extension-supported>GL_ATI_shader_texture_lod</extension-supported> - <extension-supported>GL_ARB_shader_texture_lod</extension-supported> - </or> - </and> + <or> + <less-equal> + <value type="float">2.0</value> + <glversion/> + </less-equal> + <and> + <extension-supported>GL_ARB_shader_objects</extension-supported> + <extension-supported>GL_ARB_shading_language_100</extension-supported> + <extension-supported>GL_ARB_vertex_shader</extension-supported> + <extension-supported>GL_ARB_fragment_shader</extension-supported> + </and> + </or> + <or> + <extension-supported>GL_ATI_shader_texture_lod</extension-supported> + <extension-supported>GL_ARB_shader_texture_lod</extension-supported> + </or> </and> </predicate> <pass> @@ -295,24 +293,19 @@ <value type="float">2.0</value> <float-property>/sim/rendering/shaders/quality-level</float-property> </less-equal> - <and> - <or> - <less-equal> - <value type="float">2.0</value> - <glversion/> - </less-equal> - <and> - <extension-supported>GL_ARB_shader_objects</extension-supported> - <extension-supported>GL_ARB_shading_language_100</extension-supported> - <extension-supported>GL_ARB_vertex_shader</extension-supported> - <extension-supported>GL_ARB_fragment_shader</extension-supported> - </and> - </or> - <or> - <extension-supported>GL_ATI_shader_texture_lod</extension-supported> - <extension-supported>GL_ARB_shader_texture_lod</extension-supported> - </or> - </and> + <or> + <less-equal> + <value type="float">2.0</value> + <glversion/> + </less-equal> + <and> + <extension-supported>GL_ARB_shader_objects</extension-supported> + <extension-supported>GL_ARB_shading_language_100</extension-supported> + <extension-supported>GL_ARB_vertex_shader</extension-supported> + <extension-supported>GL_ARB_fragment_shader</extension-supported> + </and> + </or> + <!-- quality level below 4.0 doesn't require GL_ATI_shader_texture_lod or GL_ARB_shader_texture_lod --> </and> </predicate> <pass>