<!--
Copyright 2013 Autodesk, Inc. All rights reserved.

Use of this software is subject to the terms of the Autodesk
license agreement provided at the time of installation or download,
or which otherwise accompanies this software in either electronic
or hard copy form.
-->
<fragment_graph  name="xgenFacingCameraPhongSurface" ref="xgenFacingCameraPhongSurface" class="FragmentGraph" version="1.0" feature_level="0" >
    <fragments>
            <fragment_ref name="mayaSurfaceShaderOutput" ref="mayaSurfaceShaderOutput" />
            <fragment_ref name="mayaComputeSurfaceFinal" ref="mayaComputeSurfaceFinal" />
            <fragment_ref name="mayaADSRCombiner" ref="mayaADSRCombiner" />
            <fragment_ref name="maya16LightAccum" ref="maya16LightAccum" />
            <fragment_ref name="mayaLambertDiffuse" ref="mayaLambertDiffuse" />
            <fragment_ref name="mayaShaderGeom" ref="mayaShaderGeom" />
            <fragment_ref name="mayaHVector" ref="mayaHVector" />
            <fragment_ref name="mayaPhongSpecular" ref="xgenPhongSpecular" />

            <fragment_ref name="mayaTranslucence" ref="mayaTranslucence" />

            <fragment_ref name="xgenCPVSelector" ref="xgenCPVSelector" />
            <fragment_ref name="xgenTubeNormal" ref="xgenTubeNormal" />
            <fragment_ref name="xgenFacingCamera" ref="xgenFacingCamera" />

    </fragments>
    <connections>
    	<connect from="mayaComputeSurfaceFinal.mayaComputeSurfaceFinal" to="mayaSurfaceShaderOutput.mayaSurfaceShaderOutput" />
        <connect from="mayaADSRCombiner.mayaADSRCombiner" to="mayaComputeSurfaceFinal.input" />
        <connect from="maya16LightAccum.scaledDiffuse" to="mayaADSRCombiner.diffuseIrradIn" />
        <connect from="maya16LightAccum.scaledSpecular" to="mayaADSRCombiner.specularIrradIn" />
        <connect from="mayaTranslucence.mayaTranslucence" to="mayaLambertDiffuse.translucenceIn" />
        <connect from="mayaLambertDiffuse.mayaLambertDiffuse" to="maya16LightAccum.scaledDiffuse" />
        <connect from="mayaPhongSpecular.mayaPhongSpecular" to="maya16LightAccum.scaledSpecular" />
        <connect from="mayaShaderGeom.mayaShaderGeom" to="mayaLambertDiffuse.shaderGeomInput" />
        <connect from="mayaHVector.mayaHVector" to="mayaShaderGeom.Hw" />
        <connect from="mayaShaderGeom.mayaShaderGeom" to="mayaTranslucence.shaderGeomInput" />

        <connect from="xgenCPVSelector.output" to="mayaADSRCombiner.color" />

        <connect from="xgenTubeNormal.Nw" to="mayaShaderGeom.Nw" />
        <connect from="xgenTubeNormal.Nw" to="mayaPhongSpecular.Nw" />
        <connect from="xgenFacingCamera.vertexShader" to="xgenTubeNormal.GPUStage" />

    </connections>
    <properties>
        <float3  name="Pm" ref="xgenFacingCamera.Pm" semantic="Pm" flags="varyingInputParam" />
        <float   name="width" ref="xgenFacingCamera.width" semantic="texcoord0" flags="varyingInputParam" />
        <float3  name="curveVec" ref="xgenFacingCamera.curveVec" semantic="texcoord1" flags="varyingInputParam" />
        <float   name="offsetFlag" ref="xgenFacingCamera.offsetFlag" semantic="texcoord2" flags="varyingInputParam" />
        <float2  name="uvCoord" ref="xgenTubeNormal.uvCoord" semantic="texcoord3" flags="varyingInputParam" />
        <float3  name="Nw" ref="xgenTubeNormal.Nw" semantic="Nw" flags="varyingInputParam" />
      
        <float4x4 name="World" ref="xgenFacingCamera.world" semantic="world" />
        <float3   name="cameraDirection" ref="xgenFacingCamera.viewDirection" semantic="viewdirection" />
        <float3   name="cameraPosition" ref="xgenFacingCamera.worldCameraPosition" semantic="worldcameraposition" />
        <bool     name="camIsOrtho" ref="xgenFacingCamera.camIsOrtho" semantic="isorthographic" />
        <float4x4 name="WorldViewProj" ref="xgenFacingCamera.worldViewProjection" semantic="worldviewprojection" />
        <float    name="DepthPriority" ref="xgenFacingCamera.depthPriority" semantic="depthpriority" />
        <bool     name="overrideColorWithGrey" ref="xgenCPVSelector.overrideColorWithGrey" />

        <bool    name="tubeShade" ref="xgenTubeNormal.tubeShade" />
        <float3  name="Lw" ref="mayaShaderGeom.Lw" />
        <float3  name="HLw" ref="mayaHVector.HLw" />
        <float3  name="diffuseI" ref="mayaLambertDiffuse.diffuseI" />
        <float3  name="specularI" ref="mayaPhongSpecular.specularI" />
        <float3  name="SLw" ref="mayaPhongSpecular.SLw" />
        <float3  name="cosinePower" ref="mayaPhongSpecular.cosinePower" />
        <string  name="selector" ref="maya16LightAccum.selector" />
        <float  name="translucence" ref="mayaTranslucence.translucence" />
        <float  name="translucenceDepth" ref="mayaTranslucence.translucenceDepth" />
        <float  name="translucenceFocus" ref="mayaTranslucence.translucenceFocus" />
        <float3  name="transparency" ref="mayaADSRCombiner.transparency" />
        <float3  name="ambientColor" ref="mayaADSRCombiner.ambientColor" />
        <float3  name="ambientIn" ref="mayaADSRCombiner.ambientIn" />
        <float3  name="incandescence" ref="mayaADSRCombiner.incandescence" />
        <float  name="diffuse" ref="mayaLambertDiffuse.diffuse" />
        <float3  name="specularColor" ref="mayaPhongSpecular.specular1" />
        <float3  name="specularColor2" ref="mayaPhongSpecular.specular2" />
        <float  name="reflectivity" ref="mayaADSRCombiner.reflectivity" />
        <float3  name="reflectedColor" ref="mayaADSRCombiner.reflectedColor" />
        <float  name="glowIntensity" ref="mayaADSRCombiner.glowIntensity" />
        <bool  name="hideSource" ref="mayaADSRCombiner.hideSource" />
        <float  name="matteOpacity" ref="mayaADSRCombiner.matteOpacity" />
        <int  name="matteOpacityMode" ref="mayaADSRCombiner.matteOpacityMode" />
        <float  name="extraOpacity" ref="mayaComputeSurfaceFinal.extraOpacity" />
    </properties>
    <values>
<float3 name="Lw" value="0.000000,0.000000,0.000000"  />
<float3 name="HLw" value="0.000000,0.000000,0.000000"  />
<float3 name="diffuseI" value="0.000000,0.000000,0.000000"  />
<float3 name="specularI" value="0.000000,0.000000,0.000000"  />
<float3 name="SLw" value="0.000000,0.000000,0.000000"  />
<float3 name="cosinePower" value="20.000000,10.000000,5.0"  />
<string name="selector" value="mayaLightSelector16"  />
<float name="translucence" value="0.000000"  />
<float name="translucenceDepth" value="0.500000"  />
<float name="translucenceFocus" value="0.500000"  />
<float3 name="transparency" value="0.000000,0.000000,0.000000"  />
<float3 name="ambientColor" value="0.000000,0.000000,0.000000"  />
<float3 name="ambientIn" value="0.000000,0.000000,0.000000"  />
<float3 name="incandescence" value="0.000000,0.000000,0.000000"  />
<float name="diffuse" value="0.800000"  />
<float3 name="specularColor" value="0.000000,0.000000,0.000000"  />
<float3 name="specularColor2" value="0.000000,0.000000,0.000000"  />
<float name="reflectivity" value="0.500000"  />
<float3 name="reflectedColor" value="0.000000,0.000000,0.000000"  />
<float name="glowIntensity" value="0.000000"  />
<bool name="hideSource" value="false"  />
<float name="matteOpacity" value="1.000000"  />
<int name="matteOpacityMode" value="2"  />
<float name="extraOpacity" value="1.000000"  />
<bool name="tubeShade" value="true"  />
<bool name="camIsOrtho" value="false"  />
    </values>
    <outputs>
        <struct  name="mayaSurfaceShaderOutput" ref="mayaSurfaceShaderOutput.mayaSurfaceShaderOutput" />
    </outputs>
</fragment_graph>
