From 2c058f9c1f189437d5af7a1a58ac2bdb454c4d49 Mon Sep 17 00:00:00 2001 From: Emilian Huminiuc <emilianh@gmail.com> Date: Sun, 9 Sep 2012 22:23:35 +0300 Subject: [PATCH] New effect: Effects/model-combined-transparent Switch c172p and concorde glass effects to the new effect. Docs/model-combined.eff/: Updated transparent effect template. From now on Effects/model-combined should not be inherited from directly. Use either Effects/model-combined-deferred or Effects/model-combined-transparent Signed-off-by: Emilian Huminiuc <emilianh@gmail.com> --- Aircraft/c172p/Models/Effects/glass.eff | 2 +- .../README.model-combined.eff | 2 +- .../model-combined-transparent.eff | 4 +- Effects/model-combined-transparent.eff | 113 ++++++++++++++++++ 4 files changed, 117 insertions(+), 4 deletions(-) create mode 100644 Effects/model-combined-transparent.eff diff --git a/Aircraft/c172p/Models/Effects/glass.eff b/Aircraft/c172p/Models/Effects/glass.eff index 2e161d6ef..cbbff718d 100644 --- a/Aircraft/c172p/Models/Effects/glass.eff +++ b/Aircraft/c172p/Models/Effects/glass.eff @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <PropertyList> <name>Aircraft/c172p/Models/Effects/glass</name> - <inherits-from>Effects/model-combined</inherits-from> + <inherits-from>Effects/model-combined-transparent</inherits-from> <parameters> <normalmap-enabled type="int">0</normalmap-enabled> <lightmap-enabled type="int">0</lightmap-enabled> diff --git a/Docs/model-combined.eff/README.model-combined.eff b/Docs/model-combined.eff/README.model-combined.eff index 414d2a8d8..8156eeacf 100644 --- a/Docs/model-combined.eff/README.model-combined.eff +++ b/Docs/model-combined.eff/README.model-combined.eff @@ -14,7 +14,7 @@ To use this on your aircraft model, you are advised to create a local effect tha 2. for automatic Rembrandt support on transparent objects (glass) use this: <name>my-aircraft-glass-effect</name> - <inherits-from>Effects/model-combined</inherits-from> + <inherits-from>Effects/model-combined-transparent</inherits-from> The only modeller-adjustable settings are those found in the parameters section and listed here. There are other entries in the parameters section, but those are for internal use only, please don't mess with them. diff --git a/Docs/model-combined.eff/model-combined-transparent.eff b/Docs/model-combined.eff/model-combined-transparent.eff index cc17ceca7..71a807357 100644 --- a/Docs/model-combined.eff/model-combined-transparent.eff +++ b/Docs/model-combined.eff/model-combined-transparent.eff @@ -7,8 +7,8 @@ Remove unnedeed settings. WARNING: do not remove the Transparency include at the end--> <PropertyList> - <name><!--my/effect/name--></name> - <inherits-from>Effects/model-combined</inherits-from> + <name><!--my/effect/name--></name> + <inherits-from>Effects/model-combined-transparent</inherits-from> <parameters> <!-- Normal Map --> <normalmap-enabled type="int"> 0 </normalmap-enabled> diff --git a/Effects/model-combined-transparent.eff b/Effects/model-combined-transparent.eff new file mode 100644 index 000000000..61fbb1b41 --- /dev/null +++ b/Effects/model-combined-transparent.eff @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Stub effect file for transparent Rembrandt ported model-combined, +to provide glass/transparent surfaces with the ubershader active, +and fallback to plain transparency when the model shader is disabled. +--> +<PropertyList> + <name>Effects/model-combined-transparent</name> + <inherits-from>Effects/model-combined</inherits-from> + + <technique n="7"> + <predicate> + <and> + <equal> + <property>/sim/rendering/shaders/model</property> + <value type="int">0</value> + </equal> + <property>/sim/rendering/rembrandt/enabled</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> + <depth> + <write-mask type="bool">false</write-mask> + </depth> + <material> + <active> + <use>material/active</use> + </active> + <ambient> + <use>material/ambient</use> + </ambient> + <diffuse> + <use>material/diffuse</use> + </diffuse> + <specular> + <use>material/specular</use> + </specular> + <emissive> + <use>material/emissive</use> + </emissive> + <shininess> + <use>material/shininess</use> + </shininess> + <color-mode> + <use>material/color-mode</use> + </color-mode> + </material> + <blend> + <active> + <use>blend/active</use> + </active> + <source> + <use>blend/source</use> + </source> + <destination> + <use>blend/destination</use> + </destination> + </blend> + <shade-model> + <use>shade-model</use> + </shade-model> + <cull-face> + <use>cull-face</use> + </cull-face> + <render-bin> + <bin-number>111</bin-number> + <bin-name>DepthSortedBin</bin-name> + </render-bin> + <texture-unit> + <active> + <use>texture[0]/active</use> + </active> + <unit>0</unit> + <image> + <use>texture[0]/image</use> + </image> + <filter> + <use>texture[0]/filter</use> + </filter> + <wrap-s> + <use>texture[0]/wrap-s</use> + </wrap-s> + <wrap-t> + <use>texture[0]/wrap-t</use> + </wrap-t> + <!-- + <internal-format> + <use>texture[0]/internal-format</use> + </internal-format> + --> + <environment> + <mode>modulate</mode> + </environment> + </texture-unit> + <!-- A two-sided lighting model is set by default near the root + of the scene graph. Perhaps that ought to be set in this + effect? + --> + </pass> + </technique> +</PropertyList> \ No newline at end of file