void FetchInterpolator( MasterNode masterNode = null )
{
FetchMultiPassTemplate( masterNode );
if( m_multiPassMode )
{
if( m_templateMPData != null )
{
m_inVarName = m_templateMPData.SubShaders[ SubShaderIdx ].Passes[ PassIdx ].FragmentFunctionData.InVarName + ".";
m_interpolatorData = m_templateMPData.SubShaders[ SubShaderIdx ].Passes[ PassIdx ].InterpolatorDataContainer.RawInterpolators;
m_fetchDataId = true;
}
}
else
{
if( masterNode == null )
masterNode = m_containerGraph.CurrentMasterNode;
TemplateData currentTemplate = ( masterNode as TemplateMasterNode ).CurrentTemplate;
if( currentTemplate != null )
{
m_inVarName = currentTemplate.FragFunctionData.InVarName + ".";
m_interpolatorData = currentTemplate.InterpolatorData.RawInterpolators;
FetchDataId();
}
else
{
m_interpolatorData = null;
m_currentDataIdx = -1;
}
}
}