<?xml version="1.0" encoding="utf-8"?>
<PropertyList>
	<name>Effects/skydome</name>
	<parameters>
		<mie>
			<use>/sim/rendering/mie</use>
		</mie>
		<rayleigh>
			<use>/sim/rendering/rayleigh</use>
		</rayleigh>
		<density>
			<use>/sim/rendering/dome-density</use>
		</density>
		<overcast>
			<use>/rendering/scene/overcast</use>
		</overcast>
		<saturation>
			<use>/rendering/scene/saturation</use>
		</saturation>
		<scattering>
			<use>/rendering/scene/scattering</use>
		</scattering>
		<visibility>
			<use>/environment/ground-visibility-m</use>
		</visibility>
		<avisibility>
			<use>/environment/visibility-m</use>
		</avisibility>
		<lthickness>
			<use>/environment/ground-haze-thickness-m</use>
		</lthickness>
		<terminator>
			<use>/environment/terminator-relative-position-m</use>
		</terminator>
	</parameters>
	<technique n="8">
		<predicate>
			<and>
				<property>/sim/rendering/shaders/skydome</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>
			<shade-model>smooth</shade-model>
			<cull-face>back</cull-face>
			<program>
				<vertex-shader>Shaders/skydome.vert</vertex-shader>
				<fragment-shader>Shaders/skydome.frag</fragment-shader>
			</program>
			<uniform>
				<name>mK</name>
				<type>float</type>
				<value>
					<use>mie</use>
				</value>
			</uniform>
			<uniform>
				<name>rK</name>
				<type>float</type>
				<value>
					<use>rayleigh</use>
				</value>
			</uniform>
			<uniform>
				<name>density</name>
				<type>float</type>
				<value>
					<use>density</use>
				</value>
			</uniform>
			<uniform>
				<name>overcast</name>
				<type>float</type>
				<value>
					<use>overcast</use>
				</value>
			</uniform>
			<uniform>
				<name>saturation</name>
				<type>float</type>
				<value>
					<use>saturation</use>
				</value>
			</uniform>
			<uniform>
				<name>scattering</name>
				<type>float</type>
				<value>
					<use>scattering</use>
				</value>
			</uniform>
			<uniform>
				<name>visibility</name>
				<type>float</type>
				<value>
					<use>visibility</use>
				</value>
			</uniform>
			<uniform>
				<name>hazeLayerAltitude</name>
				<type>float</type>
				<value>
					<use>lthickness</use>
				</value>
			</uniform>
			<uniform>
				<name>terminator</name>
				<type>float</type>
				<value>
					<use>terminator</use>
				</value>
			</uniform>
			<uniform>
				<name>avisibility</name>
				<type>float</type>
				<value>
					<use>avisibility</use>
				</value>
			</uniform>
		</pass>
	</technique>

	<!-- fall back without shaders -->
	<technique n="11">
		<pass>
			<lighting>false</lighting>
			<shade-model>smooth</shade-model>
			<cull-face>back</cull-face>
		</pass>
	</technique>

</PropertyList>