1
0
Fork 0
fgdata/Effects/model-transparent.eff
Fernando García Liñán c4d19877cf HDR: Significant update
- New atmosphering rendering technique based on my own work.
- Attempt to fix some remaining transparency issues.
- Use a luminance histogram for auto exposure.
- Add support for clustered shading.
- Add WS 2.0 shaders.
- Add 3D cloud shaders.
- Add orthoscenery support.
2023-04-06 00:18:29 +02:00

157 lines
5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<PropertyList>
<name>Effects/model-transparent</name>
<inherits-from>Effects/model-default</inherits-from>
<parameters>
<render-bin>
<bin-number>111</bin-number>
<bin-name>DepthSortedBin</bin-name>
</render-bin>
<write-depth type="bool">false</write-depth>
<texture n="8">
<image>Textures/PBR/dfg_lut.dds</image>
<type>2d</type>
<filter>linear</filter>
<mag-filter>linear</mag-filter>
<wrap-s>clamp-to-edge</wrap-s>
<wrap-t>clamp-to-edge</wrap-t>
<internal-format>normalized</internal-format>
</texture>
<rendering-hint>transparent</rendering-hint>
<render-bin>
<bin-number>111</bin-number>
<bin-name>DepthSortedBin</bin-name>
</render-bin>
</parameters>
<!-- Place objects in render bin 111 (frontmost transparent objects).
Remark: <render-bin> parameter is not set in Effects/model-default
to allow adjusting the bin based on material alpha. -->
<technique n="5">
<!-- ALS -->
<pass>
<render-bin>
<bin-number><use>render-bin/bin-number</use></bin-number>
<bin-name><use>render-bin/bin-name</use></bin-name>
</render-bin>
</pass>
</technique>
<technique n="11">
<!-- Non-ALS shaders -->
<pass>
<render-bin>
<bin-number><use>render-bin/bin-number</use></bin-number>
<bin-name><use>render-bin/bin-name</use></bin-name>
</render-bin>
</pass>
</technique>
<technique n="13">
<!-- Fallback (no shaders) -->
<pass>
<render-bin>
<bin-number><use>render-bin/bin-number</use></bin-number>
<bin-name><use>render-bin/bin-name</use></bin-name>
</render-bin>
</pass>
</technique>
<technique n="108">
<scheme>hdr-geometry</scheme>
</technique>
<technique n="118">
<scheme>hdr-shadow</scheme>
</technique>
<technique n="128">
<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>