<fragment  uiName="QuadListDrawPass" name="QuadListDrawPass" type="sceneEffect" class="ScriptFragment" version="1.0" feature_level="0" >
    <description>
<![CDATA[
Draw Quad List on top of shaded items]]>
</description>
    <properties>
        <world  name="quadDrawUIList" />
        <countedObject  name="quadDrawShadedList" />
        <countedObject  name="opaqueList" />
        <target  name="final" />
        <target  name="finalDesc" />
        <camera  name="camera" />
        <float4  name="viewport" />
        <bool  name="quadDrawAlwaysOnTop" />
    </properties>
    <values>
    </values>
    <outputs>
        <target  name="output" />
    </outputs>
    <parametershare>
    </parametershare>
    <implementation render="OGS" language="ScriptInterpreter" version="0.1" >
        <scriptCommands>
            <AcquireTarget name="localQuadDraw" format="@finalDesc.format" size="@finalDesc.size" relSize="1.0,1.0" msaa="@finalDesc.NumMSAASamples" />
            <SetTarget index="0" value="localQuadDraw" />
            <Clear color="0,0,0,0" depth="1.0" stencil="0" />
            <Declare name="QuadDrawListPassRenderer" type="ScriptPipeRenderer" value="::StdDrawAgents" />
            <SetRenderer name="QuadDrawListPassRenderer" />
            <SetCamera value="@camera" />
            <SetViewport value="@viewport" />
            <SetRenderParameter renderer="QuadDrawListPassRenderer" name="EnableComputeMissingChannel" value="false" />
            <Call name="SetPassSemantic" arg0="quadDrawListDepthPass" arg1="TRUE" />
            <Declare name="localState" type="stateSetter" />
            <SetStateCommand commandName="SetStateParameter" name="localState" parameter="SetBlendEnable" value="false" index="0" />
            <SetStateCommand commandName="SetStateParameter" name="localState" parameter="AlphaTestEnabled" value="false" />
            <SetStateCommand commandName="SetStateParameter" name="localState" parameter="SetWriteMask" value="None" />
            <SetStateCommand commandName="SetStateParameter" name="localState" parameter="DepthEnable" value="true" />
            <SetStateCommand commandName="SetStateParameter" name="localState" parameter="DepthWriteEnable" value="true" />
            <SetStateCommand commandName="CommitNewState" name="localState" />
            <SetFragmentEffect name="quadDrawDepthEffect" path="mayaLinearDepthSurface" />
            <IfNot value="@quadDrawAlwaysOnTop" />
            <Declare name="localState2" type="stateSetter" />
            <SetStateCommand commandName="SetStateParameter" name="localState2" parameter="CullMode" value="ECullFront" />
            <SetStateCommand commandName="CommitNewState" name="localState2" />
            <Render name="@opaqueList" />
            <SetStateCommand commandName="RestorePreviousState" name="localState2" />
            <EndIf />
            <Render name="@quadDrawShadedList" />
            <RestoreOverrideEffect />
            <SetStateCommand commandName="RestorePreviousState" name="localState" />
            <Call name="SetPassSemantic" arg0="quadDrawListDepthPass" arg1="FALSE" />
            <Call name="SetPassSemantic" arg0="quadDrawListBeautyPass" arg1="TRUE" />
            <Declare name="localState3" type="stateSetter" />
            <SetStateCommand commandName="SetStateParameter" name="localState3" parameter="CullMode" value="ECullBack" />
            <SetStateCommand commandName="CommitNewState" name="localState3" />
            <Render name="@quadDrawShadedList" />
            <SetStateCommand commandName="RestorePreviousState" name="localState3" />
            <Render name="@quadDrawUIList" />
            <Call name="SetPassSemantic" arg0="quadDrawListBeautyPass" arg1="FALSE" />
            <Call name="SetPassSemantic" arg0="quadDrawListBlendPass" arg1="TRUE" />
            <SetEffect name="BlendEffect" path="Blend" technique="AlphaBlend" />
            <SetTexture effect="BlendEffect" name="gSourceTex" value="" texture="localQuadDraw" />
            <SetEffectParameter effect="BlendEffect" name="gSourceSamp" value="PointClamp" />
            <SetTexture effect="BlendEffect" name="gSourceTex2" value="" texture="@final" />
            <SetEffectParameter effect="BlendEffect" name="gSourceSamp2" value="PointClamp" />
            <AcquireTarget name="localBlendTarget" format="@finalDesc.format" size="@finalDesc.size" relSize="1.0,1.0" msaa="@finalDesc.NumMSAASamples" />
            <SetTarget index="0" value="localBlendTarget" />
            <SetViewport value="0.0,0.0,1.0,1.0" />
            <Render name="Quad" />
            <SetParameter name="@output" value="localBlendTarget" />
            <Call name="SetPassSemantic" arg0="quadDrawListBlendPass" arg1="FALSE" />
        </scriptCommands>
    </implementation>
</fragment>

