Rain layer effect to ALS filtering
This commit is contained in:
parent
5134fa2a61
commit
f3d79f18e3
2 changed files with 61 additions and 4 deletions
|
@ -12,6 +12,14 @@
|
||||||
<lightning-pos-y><use>/environment/lightning/lightning-pos-y</use></lightning-pos-y>
|
<lightning-pos-y><use>/environment/lightning/lightning-pos-y</use></lightning-pos-y>
|
||||||
<lightning-range><use>/environment/lightning/lightning-range</use></lightning-range>
|
<lightning-range><use>/environment/lightning/lightning-range</use></lightning-range>
|
||||||
<is-lightning type="bool">0</is-lightning>
|
<is-lightning type="bool">0</is-lightning>
|
||||||
|
<use_filtering><use>/sim/rendering/als-filters/use-filtering</use></use_filtering>
|
||||||
|
<gamma><use>/sim/rendering/als-filters/gamma</use></gamma>
|
||||||
|
<brightness><use>/sim/rendering/als-filters/brightness</use></brightness>
|
||||||
|
<delta_T><use>/environment/surface/delta-T-cloud</use></delta_T>
|
||||||
|
<use_night_vision><use>/sim/rendering/als-filters/use-night-vision</use></use_night_vision>
|
||||||
|
<use_IR_vision><use>/sim/rendering/als-filters/use-IR-vision</use></use_IR_vision>
|
||||||
|
<display_xsize><use>/sim/startup/xsize</use></display_xsize>
|
||||||
|
<display_ysize><use>/sim/startup/ysize</use></display_ysize>
|
||||||
</parameters>
|
</parameters>
|
||||||
<technique n="9">
|
<technique n="9">
|
||||||
<predicate>
|
<predicate>
|
||||||
|
@ -61,6 +69,8 @@
|
||||||
<program>
|
<program>
|
||||||
<vertex-shader>Shaders/rain-layer-ALS.vert</vertex-shader>
|
<vertex-shader>Shaders/rain-layer-ALS.vert</vertex-shader>
|
||||||
<fragment-shader>Shaders/rain-layer-ALS.frag</fragment-shader>
|
<fragment-shader>Shaders/rain-layer-ALS.frag</fragment-shader>
|
||||||
|
<fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
|
||||||
|
<fragment-shader>Shaders/noise.frag</fragment-shader>
|
||||||
</program>
|
</program>
|
||||||
<uniform>
|
<uniform>
|
||||||
<name>baseTexture</name>
|
<name>baseTexture</name>
|
||||||
|
@ -107,6 +117,46 @@
|
||||||
<type>bool</type>
|
<type>bool</type>
|
||||||
<value><use>is-lightning</use></value>
|
<value><use>is-lightning</use></value>
|
||||||
</uniform>
|
</uniform>
|
||||||
|
<uniform>
|
||||||
|
<name>gamma</name>
|
||||||
|
<type>float</type>
|
||||||
|
<value><use>gamma</use></value>
|
||||||
|
</uniform>
|
||||||
|
<uniform>
|
||||||
|
<name>brightness</name>
|
||||||
|
<type>float</type>
|
||||||
|
<value><use>brightness</use></value>
|
||||||
|
</uniform>
|
||||||
|
<uniform>
|
||||||
|
<name>use_filtering</name>
|
||||||
|
<type>bool</type>
|
||||||
|
<value><use>use_filtering</use></value>
|
||||||
|
</uniform>
|
||||||
|
<uniform>
|
||||||
|
<name>use_night_vision</name>
|
||||||
|
<type>bool</type>
|
||||||
|
<value><use>use_night_vision</use></value>
|
||||||
|
</uniform>
|
||||||
|
<uniform>
|
||||||
|
<name>use_IR_vision</name>
|
||||||
|
<type>bool</type>
|
||||||
|
<value><use>use_IR_vision</use></value>
|
||||||
|
</uniform>
|
||||||
|
<uniform>
|
||||||
|
<name>delta_T</name>
|
||||||
|
<type>float</type>
|
||||||
|
<value><use>delta_T</use></value>
|
||||||
|
</uniform>
|
||||||
|
<uniform>
|
||||||
|
<name>display_xsize</name>
|
||||||
|
<type>int</type>
|
||||||
|
<value><use>display_xsize</use></value>
|
||||||
|
</uniform>
|
||||||
|
<uniform>
|
||||||
|
<name>display_ysize</name>
|
||||||
|
<type>int</type>
|
||||||
|
<value><use>display_ysize</use></value>
|
||||||
|
</uniform>
|
||||||
<!--<vertex-program-two-side>true</vertex-program-two-side>-->
|
<!--<vertex-program-two-side>true</vertex-program-two-side>-->
|
||||||
</pass>
|
</pass>
|
||||||
</technique>
|
</technique>
|
||||||
|
|
|
@ -3,6 +3,8 @@ varying float fogFactor;
|
||||||
varying vec3 hazeColor;
|
varying vec3 hazeColor;
|
||||||
varying vec3 relVector;
|
varying vec3 relVector;
|
||||||
|
|
||||||
|
vec3 filter_combined (in vec3 color) ;
|
||||||
|
|
||||||
uniform bool is_lightning;
|
uniform bool is_lightning;
|
||||||
|
|
||||||
vec3 rainbow (in float index)
|
vec3 rainbow (in float index)
|
||||||
|
@ -31,7 +33,7 @@ void main(void)
|
||||||
vec4 base = texture2D( baseTexture, gl_TexCoord[0].st);
|
vec4 base = texture2D( baseTexture, gl_TexCoord[0].st);
|
||||||
vec4 finalColor = base * gl_Color;
|
vec4 finalColor = base * gl_Color;
|
||||||
|
|
||||||
|
vec4 fragColor;
|
||||||
|
|
||||||
|
|
||||||
if (is_lightning==false)
|
if (is_lightning==false)
|
||||||
|
@ -49,9 +51,14 @@ void main(void)
|
||||||
finalColor.rgb = mix(finalColor.rgb, rainbow_color, 0.5* rainbow_shape);
|
finalColor.rgb = mix(finalColor.rgb, rainbow_color, 0.5* rainbow_shape);
|
||||||
|
|
||||||
|
|
||||||
gl_FragColor.rgb = mix(hazeColor, finalColor.rgb, fogFactor );
|
fragColor.rgb = mix(hazeColor, finalColor.rgb, fogFactor );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{gl_FragColor.rgb = finalColor;}
|
{fragColor.rgb = finalColor;}
|
||||||
gl_FragColor.a = mix(0.0, finalColor.a, fogFactor);
|
fragColor.a = mix(0.0, finalColor.a, fogFactor);
|
||||||
|
|
||||||
|
fragColor.rgb = filter_combined(fragColor.rgb);
|
||||||
|
|
||||||
|
gl_FragColor = fragColor;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue