<?xml version="1.0" encoding="utf-8"?> <!-- The 'Classic' Compositor pipeline imitates the rendering pipeline that was used before multi-pass rendering was introduced, with the added feature of optional shadow mapping. The precision of the Z-buffer deteriorates with huge near-far spreads, so two passes with different depth ranges are used to avoid Z-fighting and other unpleasantness. --> <PropertyList> <name>Classic</name> <buffer> <name>sun-shadowmap-atlas</name> <type>2d</type> <width><property>/sim/rendering/shadows/sun-atlas-size</property></width> <height><property>/sim/rendering/shadows/sun-atlas-size</property></height> <format>depth16</format> <wrap-s>clamp-to-border</wrap-s> <wrap-t>clamp-to-border</wrap-t> <wrap-r>clamp-to-border</wrap-r> <min-filter>linear</min-filter> <mag-filter>linear</mag-filter> <border-color type="vec4d">1.0 1.0 1.0 1.0</border-color> <shadow-comparison>true</shadow-comparison> <condition> <property>/sim/rendering/shadows/enabled</property> </condition> </buffer> <pass n="0" include="csm-pass.xml"> <name>csm0</name> <near-m>0.1</near-m> <far-m>3.0</far-m> <viewport> <x>0.0</x> <y>0.0</y> <width>0.5</width> <height>0.5</height> </viewport> </pass> <pass n="1" include="csm-pass.xml"> <name>csm1</name> <near-m>3.0</near-m> <far-m>70.0</far-m> <viewport> <x>0.5</x> <y>0.0</y> <width>0.5</width> <height>0.5</height> </viewport> </pass> <pass n="2" include="csm-pass.xml"> <name>csm2</name> <near-m>70.0</near-m> <far-m>300.0</far-m> <viewport> <x>0.0</x> <y>0.5</y> <width>0.5</width> <height>0.5</height> </viewport> </pass> <pass n="3" include="csm-pass.xml"> <name>csm3</name> <near-m>300.0</near-m> <far-m>1000.0</far-m> <viewport> <x>0.5</x> <y>0.5</y> <width>0.5</width> <height>0.5</height> </viewport> </pass> <pass n="10" include="common-scene.xml"> <name>far</name> <clear-mask>color depth</clear-mask> <z-near>100.0</z-near> </pass> <pass n="11" include="common-scene.xml"> <name>near</name> <cull-mask>0xfff7ff</cull-mask> <!-- Cull the sky (bit 11 off) --> <!-- Only clear the depth buffer so color information isn't overwritten --> <clear-mask>depth</clear-mask> <z-far>100.0</z-far> </pass> </PropertyList>