From a51cb4a28056c6b196435a33c0404158c2eb54ff Mon Sep 17 00:00:00 2001 From: Vivian Meazza Date: Fri, 16 Dec 2011 18:17:59 +0000 Subject: [PATCH 1/2] Add renderbin to technique Signed-off-by: Vivian Meazza --- Effects/bowwave.eff | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Effects/bowwave.eff b/Effects/bowwave.eff index ecd7db865..7af277295 100644 --- a/Effects/bowwave.eff +++ b/Effects/bowwave.eff @@ -88,10 +88,14 @@ /environment/Vinson/hdg-deg - - transparent smooth - + transparent + true + + 6 + DepthSortedBin + + /environment/ground-visibility-m @@ -527,14 +531,14 @@ smooth back - + 0 noise From cfb86efb84c4bdbf081ae9804fdf3a0b57117431 Mon Sep 17 00:00:00 2001 From: Vivian Meazza Date: Sat, 17 Dec 2011 17:07:41 +0000 Subject: [PATCH 2/2] Add 2 more dirt channels - "green" and "blue" Signed-off-by: Vivian Meazza --- Effects/model-combined.eff | 62 +++++++++++++++++++++++++++++++++----- Shaders/ubershader.frag | 24 +++++++++++---- 2 files changed, 72 insertions(+), 14 deletions(-) diff --git a/Effects/model-combined.eff b/Effects/model-combined.eff index 1c0f609d4..cc4b069ab 100644 --- a/Effects/model-combined.eff +++ b/Effects/model-combined.eff @@ -91,8 +91,13 @@ please see Docs/README.model-combined.eff for documentation 0 - 0.0 0.0 0.0 - 0.0 + 0 + 0.0 0.0 0.0 + 0.0 + 0.0 0.0 0.0 + 0.0 + 0.0 0.0 0.0 + 0.0 0.05 @@ -602,20 +607,61 @@ please see Docs/README.model-combined.eff for documentation - dirt_color - float-vec3 + dirt_multi + int - dirt-color + dirt-multi - dirt_factor - float + dirt_r_color + float-vec3 - dirt-factor + dirt-color[0] + + + dirt_r_factor + float + + dirt-factor[0] + + + + + dirt_g_color + float-vec3 + + dirt-color[1] + + + + + dirt_g_factor + float + + dirt-factor[1] + + + + + dirt_b_color + float-vec3 + + dirt-color[2] + + + + + dirt_b_factor + float + + dirt-factor[2] + + + amb_correction diff --git a/Shaders/ubershader.frag b/Shaders/ubershader.frag index fb966290b..31d3b989b 100644 --- a/Shaders/ubershader.frag +++ b/Shaders/ubershader.frag @@ -32,6 +32,7 @@ uniform int lightmap_enabled; uniform int lightmap_multi; uniform int shader_qual; uniform int dirt_enabled; +uniform int dirt_multi; uniform float lightmap_r_factor; uniform float lightmap_g_factor; @@ -42,14 +43,18 @@ uniform float refl_fresnel; uniform float refl_rainbow; uniform float refl_noise; uniform float amb_correction; -uniform float dirt_factor; +uniform float dirt_r_factor; +uniform float dirt_g_factor; +uniform float dirt_b_factor; uniform vec3 lightmap_r_color; uniform vec3 lightmap_g_color; uniform vec3 lightmap_b_color; uniform vec3 lightmap_a_color; -uniform vec3 dirt_color; +uniform vec3 dirt_r_color; +uniform vec3 dirt_g_color; +uniform vec3 dirt_b_color; ///fog include////////////////////// uniform int fogType; @@ -151,10 +156,17 @@ void main (void) //begin DIRT ////////////////////////////////////////////////////////////////////// if (dirt_enabled > 0.0){ - vec3 dirtColor = dirt_color * noisevec.rgb; - float dirtFactor = reflmap.r * dirt_factor; - dirtFactor = smoothstep(0.0, 1.0, dirtFactor); - fragColor.rgb = mix(fragColor.rgb, dirtColor, dirtFactor); + float dirtFactorR = reflmap.r * dirt_r_factor; + dirtFactorR = smoothstep(0.0, 1.0, dirtFactorR); + fragColor.rgb = mix(fragColor.rgb, dirt_r_color, dirtFactorR); + if (dirt_multi > 0) { + float dirtFactorG = reflmap.g * dirt_g_factor; + float dirtFactorB = reflmap.b * dirt_b_factor; + dirtFactorG = smoothstep(0.0, 1.0, dirtFactorG); + dirtFactorB = smoothstep(0.0, 1.0, dirtFactorB); + fragColor.rgb = mix(fragColor.rgb, dirt_g_color, dirtFactorG); + fragColor.rgb = mix(fragColor.rgb, dirt_b_color, dirtFactorB); + } } ////////////////////////////////////////////////////////////////////// //END Dirt