Var * ShaderConnectorHLSL::getElement( RegisterType type, U32 numElements, U32 numRegisters ) { Var *ret = NULL; if ( type == RT_BLENDINDICES ) { ret = getIndexedElement( mCurBlendIndicesElem, type, numElements, numRegisters ); } else if ( type == RT_BLENDWEIGHT ) { ret = getIndexedElement( mCurBlendWeightsElem, type, numElements, numRegisters ); } else { ret = getIndexedElement( mCurTexElem, type, numElements, numRegisters ); } // Adjust texture offset if this is a texcoord type if( type == RT_TEXCOORD ) { if ( numRegisters != -1 ) mCurTexElem += numRegisters; else mCurTexElem += numElements; } else if ( type == RT_BLENDINDICES ) { if ( numRegisters != -1 ) mCurBlendIndicesElem += numRegisters; else mCurBlendIndicesElem += numElements; } else if ( type == RT_BLENDWEIGHT ) { if ( numRegisters != -1 ) mCurBlendWeightsElem += numRegisters; else mCurBlendWeightsElem += numElements; } return ret; }
Var * ShaderConnectorHLSL::getElement( RegisterType type, U32 numElements, U32 numRegisters ) { Var *ret = getIndexedElement( mCurTexElem, type, numElements, numRegisters ); // Adjust texture offset if this is a texcoord type if( type == RT_TEXCOORD ) { if ( numRegisters != -1 ) mCurTexElem += numRegisters; else mCurTexElem += numElements; } return ret; }