123 lines
3.9 KiB
Text
123 lines
3.9 KiB
Text
|
<?xml version="1.0" encoding="utf-8"?>
|
||
|
|
||
|
<PropertyList>
|
||
|
<name>Effects/moon</name>
|
||
|
|
||
|
<parameters>
|
||
|
<texture n="1">
|
||
|
<image>Textures/Sky/moon_color.png</image>
|
||
|
<type>2d</type>
|
||
|
<filter>linear-mipmap-linear</filter>
|
||
|
<mag-filter>linear-mipmap-linear</mag-filter>
|
||
|
<wrap-s>clamp-to-edge</wrap-s>
|
||
|
<wrap-t>clamp-to-edge</wrap-t>
|
||
|
<internal-format>normalized</internal-format>
|
||
|
</texture>
|
||
|
<texture n="2">
|
||
|
<image>Textures/Sky/moon_n.png</image>
|
||
|
<type>2d</type>
|
||
|
<filter>linear-mipmap-linear</filter>
|
||
|
<mag-filter>linear-mipmap-linear</mag-filter>
|
||
|
<wrap-s>clamp-to-edge</wrap-s>
|
||
|
<wrap-t>clamp-to-edge</wrap-t>
|
||
|
<internal-format>normalized</internal-format>
|
||
|
</texture>
|
||
|
<!-- exposure.glsl -->
|
||
|
<exposure-compensation>
|
||
|
<use>/sim/rendering/hdr/exposure-compensation</use>
|
||
|
</exposure-compensation>
|
||
|
</parameters>
|
||
|
|
||
|
<!-- Fixed-pipeline fallback -->
|
||
|
<technique n="11">
|
||
|
<pass>
|
||
|
<!--
|
||
|
An empty pass should be fine as we are filling the stateset manually
|
||
|
in simgear/scene/sky/moon.cxx
|
||
|
-->
|
||
|
</pass>
|
||
|
</technique>
|
||
|
|
||
|
<technique n="129">
|
||
|
<scheme>hdr-forward</scheme>
|
||
|
<pass>
|
||
|
<!-- Disable depth testing -->
|
||
|
<depth>
|
||
|
<enabled>false</enabled>
|
||
|
</depth>
|
||
|
<!-- Only render the moon on top of the skydome -->
|
||
|
<stencil>
|
||
|
<function>equal</function>
|
||
|
<value>0</value>
|
||
|
</stencil>
|
||
|
<!-- Make sure we render after the skydome -->
|
||
|
<render-bin>
|
||
|
<bin-number>-5</bin-number>
|
||
|
<bin-name>RenderBin</bin-name>
|
||
|
</render-bin>
|
||
|
<!-- Color map -->
|
||
|
<texture-unit>
|
||
|
<unit>1</unit>
|
||
|
<type><use>texture[1]/type</use></type>
|
||
|
<image><use>texture[1]/image</use></image>
|
||
|
<filter><use>texture[1]/filter</use></filter>
|
||
|
<mag-filter><use>texture[1]/mag-filter</use></mag-filter>
|
||
|
<wrap-s><use>texture[1]/wrap-s</use></wrap-s>
|
||
|
<wrap-t><use>texture[1]/wrap-t</use></wrap-t>
|
||
|
</texture-unit>
|
||
|
<!-- Normal map -->
|
||
|
<texture-unit>
|
||
|
<unit>2</unit>
|
||
|
<type><use>texture[2]/type</use></type>
|
||
|
<image><use>texture[2]/image</use></image>
|
||
|
<filter><use>texture[2]/filter</use></filter>
|
||
|
<mag-filter><use>texture[2]/mag-filter</use></mag-filter>
|
||
|
<wrap-s><use>texture[2]/wrap-s</use></wrap-s>
|
||
|
<wrap-t><use>texture[2]/wrap-t</use></wrap-t>
|
||
|
</texture-unit>
|
||
|
<cull-face>back</cull-face>
|
||
|
<!-- Additive blending to add the sky in-scattering from the skydome -->
|
||
|
<blend>
|
||
|
<active>true</active>
|
||
|
<source>one</source>
|
||
|
<destination>one</destination>
|
||
|
</blend>
|
||
|
<program>
|
||
|
<vertex-shader>Shaders/HDR/moon.vert</vertex-shader>
|
||
|
<fragment-shader>Shaders/HDR/moon.frag</fragment-shader>
|
||
|
<fragment-shader>Shaders/HDR/math.glsl</fragment-shader>
|
||
|
<fragment-shader>Shaders/HDR/color.glsl</fragment-shader>
|
||
|
<fragment-shader>Shaders/HDR/normalmap.glsl</fragment-shader>
|
||
|
<fragment-shader>Shaders/HDR/atmos_spectral.glsl</fragment-shader>
|
||
|
<fragment-shader>Shaders/HDR/exposure.glsl</fragment-shader>
|
||
|
</program>
|
||
|
<uniform>
|
||
|
<name>color_tex</name>
|
||
|
<type>sampler-2d</type>
|
||
|
<value type="int">1</value>
|
||
|
</uniform>
|
||
|
<uniform>
|
||
|
<name>normal_tex</name>
|
||
|
<type>sampler-2d</type>
|
||
|
<value type="int">2</value>
|
||
|
</uniform>
|
||
|
<uniform>
|
||
|
<name>transmittance_tex</name>
|
||
|
<type>sampler-2d</type>
|
||
|
<value type="int">12</value>
|
||
|
</uniform>
|
||
|
<!-- exposure.glsl -->
|
||
|
<uniform>
|
||
|
<name>lum_tex</name>
|
||
|
<type>sampler-2d</type>
|
||
|
<value type="int">14</value>
|
||
|
</uniform>
|
||
|
<uniform>
|
||
|
<name>exposure_compensation</name>
|
||
|
<type>float</type>
|
||
|
<value><use>exposure-compensation</use></value>
|
||
|
</uniform>
|
||
|
</pass>
|
||
|
</technique>
|
||
|
</PropertyList>
|