1
0
Fork 0

HDR: Better technique ordering

This commit is contained in:
Fernando García Liñán 2021-08-31 18:42:21 +02:00
parent e505c79618
commit c21951407d
5 changed files with 172 additions and 346 deletions

View file

@ -2,9 +2,9 @@
<PropertyList> <PropertyList>
<name>Effects/glass</name> <name>Effects/glass</name>
<inherits-from>Effects/model-default</inherits-from> <inherits-from>Effects/model-transparent</inherits-from>
<parameters> <parameters>
<texture n="1"> <texture n="1">
<image>Aircraft/Generic/Effects/window_frost.png</image> <image>Aircraft/Generic/Effects/window_frost.png</image>
<type>2d</type> <type>2d</type>
@ -77,9 +77,9 @@
<wrap-t>clamp-to-edge</wrap-t> <wrap-t>clamp-to-edge</wrap-t>
<internal-format>normalized</internal-format> <internal-format>normalized</internal-format>
</texture> </texture>
</parameters> </parameters>
<technique n="4"> <technique n="4">
<predicate> <predicate>
<and> <and>
<property>/sim/rendering/shaders/skydome</property> <property>/sim/rendering/shaders/skydome</property>
@ -441,184 +441,6 @@
</uniform> </uniform>
</pass> </pass>
</technique> </technique>
<!-- fall back to a fixed pipeline technique equivalent to model-transparent otherwise -->
<!-- Rembrandt technique of model-default comes at 10, so we insert before that -->
<technique n="9">
<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>
<unit>0</unit>
<active>
<use>texture[0]/active</use>
</active>
<type>
<use>texture[0]/type</use>
</type>
<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>
<environment>
<mode>modulate</mode>
</environment>
</texture-unit>
</pass>
</technique>
<!-- Don't use the usual scheme because model-combined requires technique
number 7. We need to place this technique before it. -->
<technique n="1">
<scheme>hdr-geometry</scheme>
</technique>
<technique n="2">
<scheme>hdr-forward</scheme>
<pass>
<!-- Reverse floating point depth buffer -->
<depth>
<function>gequal</function>
<near>1.0</near>
<far>0.0</far>
<write-mask>false</write-mask>
</depth>
<texture-unit>
<unit>0</unit>
<type><use>texture[0]/type</use></type>
<image><use>texture[0]/image</use></image>
<filter><use>texture[0]/filter</use></filter>
<mag-filter><use>texture[0]/mag-filter</use></mag-filter>
<wrap-s><use>texture[0]/wrap-s</use></wrap-s>
<wrap-t><use>texture[0]/wrap-t</use></wrap-t>
</texture-unit>
<texture-unit>
<unit>8</unit>
<image><use>texture[8]/image</use></image>
<type><use>texture[8]/type</use></type>
<filter><use>texture[8]/filter</use></filter>
<mag-filter><use>texture[8]/mag-filter</use></mag-filter>
<wrap-s><use>texture[8]/wrap-s</use></wrap-s>
<wrap-t><use>texture[8]/wrap-t</use></wrap-t>
<internal-format><use>texture[8]/internal-format</use></internal-format>
</texture-unit>
<blend>1</blend>
<rendering-hint>transparent</rendering-hint>
<cull-face><use>cull-face</use></cull-face>
<program>
<vertex-shader>Shaders/HDR/geometry-transparent.vert</vertex-shader>
<fragment-shader>Shaders/HDR/geometry-transparent.frag</fragment-shader>
<fragment-shader>Shaders/HDR/gbuffer-include.frag</fragment-shader>
<fragment-shader>Shaders/HDR/shadows-include.frag</fragment-shader>
<fragment-shader>Shaders/HDR/lighting-include.frag</fragment-shader>
<fragment-shader>Shaders/HDR/aerial-perspective-include.frag</fragment-shader>
</program>
<uniform>
<name>color_tex</name>
<type>sampler-2d</type>
<value type="int">0</value>
</uniform>
<uniform>
<name>color_mode</name>
<type>int</type>
<value><use>material/color-mode</use></value>
</uniform>
<uniform>
<name>material_diffuse</name>
<type>float-vec4</type>
<value><use>material/diffuse</use></value>
</uniform>
<!-- Shadows include -->
<uniform>
<name>depth_tex</name>
<type>sampler-2d</type>
<value type="int">7</value>
</uniform>
<uniform>
<name>shadow_tex</name>
<type>sampler-2d-shadow</type>
<value type="int">10</value>
</uniform>
<!-- Lighting include -->
<uniform>
<name>dfg_lut</name>
<type>sampler-2d</type>
<value type="int">8</value>
</uniform>
<uniform>
<name>prefiltered_envmap</name>
<type>sampler-cube</type>
<value type="int">9</value>
</uniform>
<!-- Aerial perspective include -->
<uniform>
<name>aerial_perspective_lut</name>
<type>sampler-2d</type>
<value type="int">11</value>
</uniform>
<uniform>
<name>transmittance_lut</name>
<type>sampler-2d</type>
<value type="int">12</value>
</uniform>
</pass>
</technique>
</PropertyList> </PropertyList>

View file

@ -19,11 +19,15 @@
<alpha-cutoff>-1.0</alpha-cutoff> <alpha-cutoff>-1.0</alpha-cutoff>
</parameters> </parameters>
<technique n="19"> <technique n="108">
<scheme>hdr-geometry</scheme> <scheme>hdr-geometry</scheme>
</technique> </technique>
<technique n="40"> <technique n="118">
<scheme>hdr-shadow</scheme>
</technique>
<technique n="128">
<scheme>hdr-forward</scheme> <scheme>hdr-forward</scheme>
<pass> <pass>
<!-- Reverse floating point depth buffer --> <!-- Reverse floating point depth buffer -->

View file

@ -2,6 +2,7 @@
<PropertyList> <PropertyList>
<name>Effects/model-pbr</name> <name>Effects/model-pbr</name>
<parameters> <parameters>
<!-- Base Color --> <!-- Base Color -->
<texture n="0"> <texture n="0">
@ -34,7 +35,7 @@
<binormal type="int">7</binormal> <binormal type="int">7</binormal>
</generate> </generate>
<technique n="20"> <technique n="109">
<scheme>hdr-geometry</scheme> <scheme>hdr-geometry</scheme>
<pass> <pass>
<!-- Reverse floating point depth buffer --> <!-- Reverse floating point depth buffer -->

View file

@ -15,10 +15,13 @@
</texture> </texture>
</parameters> </parameters>
<technique n="109"> <technique n="108">
<scheme>hdr-geometry</scheme> <scheme>hdr-geometry</scheme>
</technique> </technique>
<technique n="129"> <technique n="118">
<scheme>hdr-shadow</scheme>
</technique>
<technique n="128">
<scheme>hdr-forward</scheme> <scheme>hdr-forward</scheme>
<pass> <pass>
<!-- Reverse floating point depth buffer --> <!-- Reverse floating point depth buffer -->

View file

@ -13,11 +13,7 @@
</pass> </pass>
</technique> </technique>
<technique n="20"> <technique n="109">
<scheme>hdr-geometry</scheme> <scheme>hdr-geometry</scheme>
</technique> </technique>
<technique n="21">
<scheme>hdr-forward</scheme>
</technique>
</PropertyList> </PropertyList>