1
0
Fork 0

Update effect to use modified shader

Signed-off-by: Vivian Meazza <vivian.meazza@lineone.net>
This commit is contained in:
Vivian Meazza 2011-09-22 14:41:08 +01:00
parent 980c1d7926
commit ee01294e6e
3 changed files with 441 additions and 188 deletions

View file

@ -43,6 +43,23 @@ parameters :
<snow-level> <snow-level>
<use>/sim/rendering/snow-level-m</use> <use>/sim/rendering/snow-level-m</use>
</snow-level> </snow-level>
<cloud-cover0>
<use>/environment/clouds/layer[0]/coverage-type</use>
</cloud-cover0>
<cloud-cover1>
<use>/environment/clouds/layer[1]/coverage-type</use>
</cloud-cover1>
<cloud-cover2>
<use>/environment/clouds/layer[2]/coverage-type</use>
</cloud-cover2>
<cloud-cover3>
<use>/environment/clouds/layer[3]/coverage-type</use>
</cloud-cover3>
<cloud-cover4>
<use>/environment/clouds/layer[4]/coverage-type</use>
</cloud-cover4>
<transitions type="float">2.0</transitions> <transitions type="float">2.0</transitions>
<inverse type="float">0.0</inverse> <inverse type="float">0.0</inverse>
</parameters> </parameters>
@ -257,6 +274,46 @@ parameters :
<use>inverse</use> <use>inverse</use>
</value> </value>
</uniform> </uniform>
<uniform>
<name>CloudCover0</name>
<type>float</type>
<value>
<use>cloud-cover0</use>
</value>
</uniform>
<uniform>
<name>CloudCover1</name>
<type>float</type>
<value>
<use>cloud-cover1</use>
</value>
</uniform>
<uniform>
<name>CloudCover2</name>
<type>float</type>
<value>
<use>cloud-cover2</use>
</value>
</uniform>
<uniform>
<name>CloudCover3</name>
<type>float</type>
<value>
<use>cloud-cover3</use>
</value>
</uniform>
<uniform>
<name>CloudCover4</name>
<type>float</type>
<value>
<use>cloud-cover4</use>
</value>
</uniform>
</pass> </pass>
</technique> </technique>
</PropertyList> </PropertyList>

View file

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<PropertyList> <PropertyList>
<name>Effects/water-inland</name> <name>Effects/water</name>
<inherits-from>Effects/terrain-default</inherits-from> <inherits-from>Effects/terrain-default</inherits-from>
<parameters> <parameters>
<texture n="0"> <texture n="0">
<image>Textures/Water/water-reflection-inland.dds</image> <image>Textures/Water/water-reflection-inland.dds</image>
@ -26,14 +24,32 @@
<wrap-t>repeat</wrap-t> <wrap-t>repeat</wrap-t>
<internal-format>normalized</internal-format> <internal-format>normalized</internal-format>
</texture> </texture>
<texture n="4">
<image>Textures/Water/water-reflection-grey.png</image>
<filter>linear-mipmap-linear</filter>
<wrap-s>repeat</wrap-s>
<wrap-t>repeat</wrap-t>
<internal-format>normalized</internal-format>
</texture>
<saturation> <saturation>
<use>/rendering/scene/saturation</use> <use>/rendering/scene/saturation</use>
</saturation> </saturation>
<rain-norm> <cloud-cover0>
<use>/environment/rain-norm</use> <use>/environment/clouds/layer[0]/coverage-type</use>
</rain-norm> </cloud-cover0>
<cloud-cover1>
<use>/environment/clouds/layer[1]/coverage-type</use>
</cloud-cover1>
<cloud-cover2>
<use>/environment/clouds/layer[2]/coverage-type</use>
</cloud-cover2>
<cloud-cover3>
<use>/environment/clouds/layer[3]/coverage-type</use>
</cloud-cover3>
<cloud-cover4>
<use>/environment/clouds/layer[4]/coverage-type</use>
</cloud-cover4>
</parameters> </parameters>
<technique n="8"> <technique n="8">
<predicate> <predicate>
<and> <and>
@ -141,6 +157,24 @@
<use>texture[3]/internal-format</use> <use>texture[3]/internal-format</use>
</internal-format> </internal-format>
</texture-unit> </texture-unit>
<texture-unit>
<unit>4</unit>
<image>
<use>texture[4]/image</use>
</image>
<filter>
<use>texture[4]/filter</use>
</filter>
<wrap-s>
<use>texture[4]/wrap-s</use>
</wrap-s>
<wrap-t>
<use>texture[4]/wrap-t</use>
</wrap-t>
<internal-format>
<use>texture[4]/internal-format</use>
</internal-format>
</texture-unit>
<program> <program>
<vertex-shader>Shaders/water.vert</vertex-shader> <vertex-shader>Shaders/water.vert</vertex-shader>
<fragment-shader>Shaders/water-inland.frag</fragment-shader> <fragment-shader>Shaders/water-inland.frag</fragment-shader>
@ -160,25 +194,54 @@
<type>sampler-2d</type> <type>sampler-2d</type>
<value type="int">3</value> <value type="int">3</value>
</uniform> </uniform>
<uniform>
<name>water_reflection_grey</name>
<type>sampler-2d</type>
<value type="int">4</value>
</uniform>
<uniform> <uniform>
<name>saturation</name> <name>saturation</name>
<type>float</type> <type>float</type>
<!--<value>0.4</value>--> <value>0.4</value>
<!--<value><use>saturation</use></value>-->
</uniform>
<uniform>
<name>CloudCover0</name>
<type>float</type>
<value> <value>
<use>saturation</use> <use>cloud-cover0</use>
</value> </value>
</uniform> </uniform>
<uniform> <uniform>
<name>RainNorm</name> <name>CloudCover1</name>
<type>float</type> <type>float</type>
<!--<value>0.0</value>--> <value>
<value> <use>cloud-cover1</use>
<use>rain-norm</use> </value>
</value> </uniform>
<uniform>
<name>CloudCover2</name>
<type>float</type>
<value>
<use>cloud-cover2</use>
</value>
</uniform>
<uniform>
<name>CloudCover3</name>
<type>float</type>
<value>
<use>cloud-cover3</use>
</value>
</uniform>
<uniform>
<name>CloudCover4</name>
<type>float</type>
<value>
<use>cloud-cover4</use>
</value>
</uniform> </uniform>
</pass> </pass>
</technique> </technique>
<technique n="9"> <technique n="9">
<predicate> <predicate>
<and> <and>

View file

@ -1,176 +1,309 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<PropertyList> <PropertyList>
<name>Effects/water</name> <name>Effects/water</name>
<inherits-from>Effects/terrain-default</inherits-from> <inherits-from>Effects/terrain-default</inherits-from>
<parameters> <parameters>
<texture n="0"> <texture n="0">
<image>Textures/Water/water-reflection.png</image> <image>Textures/Water/water-reflection.png</image>
<filter>linear-mipmap-linear</filter> <filter>linear-mipmap-linear</filter>
<wrap-s>repeat</wrap-s> <wrap-s>repeat</wrap-s>
<wrap-t>repeat</wrap-t> <wrap-t>repeat</wrap-t>
<internal-format>normalized</internal-format> <internal-format>normalized</internal-format>
</texture> </texture>
<texture n="2"> <texture n="2">
<image>Textures/Water/water-normalmap.png</image> <image>Textures/Water/water-normalmap.png</image>
<filter>linear-mipmap-linear</filter> <filter>linear-mipmap-linear</filter>
<wrap-s>repeat</wrap-s> <wrap-s>repeat</wrap-s>
<wrap-t>repeat</wrap-t> <wrap-t>repeat</wrap-t>
<internal-format>normalized</internal-format> <internal-format>normalized</internal-format>
</texture> </texture>
<texture n="3"> <texture n="3">
<image>Textures/Water/water-dudv.png</image> <image>Textures/Water/water-dudv.png</image>
<filter>linear-mipmap-linear</filter> <filter>linear-mipmap-linear</filter>
<wrap-s>repeat</wrap-s> <wrap-s>repeat</wrap-s>
<wrap-t>repeat</wrap-t> <wrap-t>repeat</wrap-t>
<internal-format>normalized</internal-format> <internal-format>normalized</internal-format>
</texture> </texture>
<saturation> <texture n="4">
<use>/rendering/scene/saturation</use> <image>Textures/Water/water-reflection-grey.png</image>
</saturation> <filter>linear-mipmap-linear</filter>
</parameters> <wrap-s>repeat</wrap-s>
<technique n="8"> <wrap-t>repeat</wrap-t>
<predicate> <internal-format>normalized</internal-format>
<and> </texture>
<property>/sim/rendering/water-shader</property> <saturation>
<property>/sim/rendering/shader-effects</property> <use>/rendering/scene/saturation</use>
<less-equal> </saturation>
<value type="float">2.0</value> <cloud-cover0>
<float-property>/sim/rendering/quality-level</float-property> <use>/environment/clouds/layer[0]/coverage-type</use>
</less-equal> </cloud-cover0>
<or> <cloud-cover1>
<less-equal> <use>/environment/clouds/layer[1]/coverage-type</use>
<value type="float">2.0</value> </cloud-cover1>
<glversion/> <cloud-cover2>
</less-equal> <use>/environment/clouds/layer[2]/coverage-type</use>
<and> </cloud-cover2>
<extension-supported>GL_ARB_shader_objects</extension-supported> <cloud-cover3>
<extension-supported>GL_ARB_shading_language_100</extension-supported> <use>/environment/clouds/layer[3]/coverage-type</use>
<extension-supported>GL_ARB_vertex_shader</extension-supported> </cloud-cover3>
<extension-supported>GL_ARB_fragment_shader</extension-supported> <cloud-cover4>
</and> <use>/environment/clouds/layer[4]/coverage-type</use>
</or> </cloud-cover4>
</and> </parameters>
</predicate> <technique n="8">
<pass> <predicate>
<lighting>true</lighting> <and>
<material> <property>/sim/rendering/water-shader</property>
<ambient><use>material/ambient</use></ambient> <property>/sim/rendering/shader-effects</property>
<diffuse><use>material/diffuse</use></diffuse> <less-equal>
<specular><use>material/specular</use></specular> <value type="float">2.0</value>
<color-mode>ambient-and-diffuse</color-mode> <float-property>/sim/rendering/quality-level</float-property>
</material> </less-equal>
<blend><use>transparent</use></blend> <or>
<alpha-test><use>transparent</use></alpha-test> <less-equal>
<shade-model>smooth</shade-model> <value type="float">2.0</value>
<cull-face>back</cull-face> <glversion/>
<render-bin> </less-equal>
<bin-number><use>render-bin/bin-number</use></bin-number> <and>
<bin-name><use>render-bin/bin-name</use></bin-name> <extension-supported>GL_ARB_shader_objects</extension-supported>
</render-bin> <extension-supported>GL_ARB_shading_language_100</extension-supported>
<texture-unit> <extension-supported>GL_ARB_vertex_shader</extension-supported>
<unit>0</unit> <extension-supported>GL_ARB_fragment_shader</extension-supported>
<image><use>texture[0]/image</use></image> </and>
<filter><use>texture[0]/filter</use></filter> </or>
<wrap-s><use>texture[0]/wrap-s</use></wrap-s> </and>
<wrap-t><use>texture[0]/wrap-t</use></wrap-t> </predicate>
<internal-format> <pass>
<use>texture[0]/internal-format</use> <lighting>true</lighting>
</internal-format> <material>
</texture-unit> <ambient>
<texture-unit> <use>material/ambient</use>
<unit>2</unit> </ambient>
<image><use>texture[2]/image</use></image> <diffuse>
<filter><use>texture[2]/filter</use></filter> <use>material/diffuse</use>
<wrap-s><use>texture[2]/wrap-s</use></wrap-s> </diffuse>
<wrap-t><use>texture[2]/wrap-t</use></wrap-t> <specular>
<internal-format> <use>material/specular</use>
<use>texture[2]/internal-format</use> </specular>
</internal-format> <color-mode>ambient-and-diffuse</color-mode>
</texture-unit> </material>
<texture-unit> <blend>
<unit>3</unit> <use>transparent</use>
<image><use>texture[3]/image</use></image> </blend>
<filter><use>texture[3]/filter</use></filter> <alpha-test>
<wrap-s><use>texture[3]/wrap-s</use></wrap-s> <use>transparent</use>
<wrap-t><use>texture[3]/wrap-t</use></wrap-t> </alpha-test>
<internal-format> <shade-model>smooth</shade-model>
<use>texture[3]/internal-format</use> <cull-face>back</cull-face>
</internal-format> <render-bin>
</texture-unit> <bin-number>
<program> <use>render-bin/bin-number</use>
<vertex-shader>Shaders/water.vert</vertex-shader> </bin-number>
<fragment-shader>Shaders/water.frag</fragment-shader> <bin-name>
</program> <use>render-bin/bin-name</use>
<uniform> </bin-name>
<name>water_reflection</name> </render-bin>
<type>sampler-2d</type> <texture-unit>
<value type="int">0</value> <unit>0</unit>
</uniform> <image>
<uniform> <use>texture[0]/image</use>
<name>water_normalmap</name> </image>
<type>sampler-2d</type> <filter>
<value type="int">2</value> <use>texture[0]/filter</use>
</uniform> </filter>
<uniform> <wrap-s>
<name>water_dudvmap</name> <use>texture[0]/wrap-s</use>
<type>sampler-2d</type> </wrap-s>
<value type="int">3</value> <wrap-t>
</uniform> <use>texture[0]/wrap-t</use>
<uniform> </wrap-t>
<name>saturation</name> <internal-format>
<type>float</type> <use>texture[0]/internal-format</use>
<value>0.4</value> </internal-format>
<!--<value><use>saturation</use></value>--> </texture-unit>
</uniform> <texture-unit>
</pass> <unit>2</unit>
</technique> <image>
<technique n="9"> <use>texture[2]/image</use>
<predicate> </image>
<and> <filter>
<property>/sim/rendering/water-shader</property> <use>texture[2]/filter</use>
<property>/sim/rendering/shader-effects</property> </filter>
<or> <wrap-s>
<less-equal> <use>texture[2]/wrap-s</use>
<value type="float">2.0</value> </wrap-s>
<glversion/> <wrap-t>
</less-equal> <use>texture[2]/wrap-t</use>
<and> </wrap-t>
<extension-supported>GL_ARB_shader_objects</extension-supported> <internal-format>
<extension-supported>GL_ARB_shading_language_100</extension-supported> <use>texture[2]/internal-format</use>
<extension-supported>GL_ARB_vertex_shader</extension-supported> </internal-format>
<extension-supported>GL_ARB_fragment_shader</extension-supported> </texture-unit>
</and> <texture-unit>
</or> <unit>3</unit>
</and> <image>
</predicate> <use>texture[3]/image</use>
<pass> </image>
<lighting>true</lighting> <filter>
<material> <use>texture[3]/filter</use>
<ambient><use>material/ambient</use></ambient> </filter>
<diffuse><use>material/diffuse</use></diffuse> <wrap-s>
<specular><use>material/specular</use></specular> <use>texture[3]/wrap-s</use>
<color-mode>ambient-and-diffuse</color-mode> </wrap-s>
</material> <wrap-t>
<blend><use>transparent</use></blend> <use>texture[3]/wrap-t</use>
<alpha-test><use>transparent</use></alpha-test> </wrap-t>
<shade-model>smooth</shade-model> <internal-format>
<cull-face>back</cull-face> <use>texture[3]/internal-format</use>
<render-bin> </internal-format>
<bin-number><use>render-bin/bin-number</use></bin-number> </texture-unit>
<bin-name><use>render-bin/bin-name</use></bin-name> <texture-unit>
</render-bin> <unit>4</unit>
<texture-unit> <image>
<unit>0</unit> <use>texture[4]/image</use>
<type>noise</type> </image>
</texture-unit> <filter>
<program> <use>texture[4]/filter</use>
<vertex-shader>Shaders/water-orig.vert</vertex-shader> </filter>
<fragment-shader>Shaders/water-orig.frag</fragment-shader> <wrap-s>
</program> <use>texture[4]/wrap-s</use>
<uniform> </wrap-s>
<name>texture</name> <wrap-t>
<type>sampler-3d</type> <use>texture[4]/wrap-t</use>
<value type="int">0</value></uniform> </wrap-t>
</pass> <internal-format>
</technique> <use>texture[4]/internal-format</use>
</internal-format>
</texture-unit>
<program>
<vertex-shader>Shaders/water.vert</vertex-shader>
<fragment-shader>Shaders/water.frag</fragment-shader>
</program>
<uniform>
<name>water_reflection</name>
<type>sampler-2d</type>
<value type="int">0</value>
</uniform>
<uniform>
<name>water_normalmap</name>
<type>sampler-2d</type>
<value type="int">2</value>
</uniform>
<uniform>
<name>water_dudvmap</name>
<type>sampler-2d</type>
<value type="int">3</value>
</uniform>
<uniform>
<name>water_reflection_grey</name>
<type>sampler-2d</type>
<value type="int">4</value>
</uniform>
<uniform>
<name>saturation</name>
<type>float</type>
<value>0.4</value>
<!--<value><use>saturation</use></value>-->
</uniform>
<uniform>
<name>CloudCover0</name>
<type>float</type>
<value>
<use>cloud-cover0</use>
</value>
</uniform>
<uniform>
<name>CloudCover1</name>
<type>float</type>
<value>
<use>cloud-cover1</use>
</value>
</uniform>
<uniform>
<name>CloudCover2</name>
<type>float</type>
<value>
<use>cloud-cover2</use>
</value>
</uniform>
<uniform>
<name>CloudCover3</name>
<type>float</type>
<value>
<use>cloud-cover3</use>
</value>
</uniform>
<uniform>
<name>CloudCover4</name>
<type>float</type>
<value>
<use>cloud-cover4</use>
</value>
</uniform>
</pass>
</technique>
<technique n="9">
<predicate>
<and>
<property>/sim/rendering/water-shader</property>
<property>/sim/rendering/shader-effects</property>
<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>
</and>
</predicate>
<pass>
<lighting>true</lighting>
<material>
<ambient>
<use>material/ambient</use>
</ambient>
<diffuse>
<use>material/diffuse</use>
</diffuse>
<specular>
<use>material/specular</use>
</specular>
<color-mode>ambient-and-diffuse</color-mode>
</material>
<blend>
<use>transparent</use>
</blend>
<alpha-test>
<use>transparent</use>
</alpha-test>
<shade-model>smooth</shade-model>
<cull-face>back</cull-face>
<render-bin>
<bin-number>
<use>render-bin/bin-number</use>
</bin-number>
<bin-name>
<use>render-bin/bin-name</use>
</bin-name>
</render-bin>
<texture-unit>
<unit>0</unit>
<type>noise</type>
</texture-unit>
<program>
<vertex-shader>Shaders/water-orig.vert</vertex-shader>
<fragment-shader>Shaders/water-orig.frag</fragment-shader>
</program>
<uniform>
<name>texture</name>
<type>sampler-3d</type>
<value type="int">0</value>
</uniform>
</pass>
</technique>
</PropertyList> </PropertyList>