TS MaterialFunctions
TS MaterialFunctions
struct TurboSequenceEncodeFunctions_Lf
{
// Might Change to Non Bit Shifting Version if compiler <= ES3.2
int EncodeUInt16ToUInt32_Int(in uint XValue, in uint YValue)
{
return YValue * 0xFFFF + XValue;
}
struct TurboSequenceVSFunctions_Lf
{
int3 GetDimensionsFromIndex3D(in int Index, in int TextureSizeX, in int
TextureSizeY, in int TexPow)
{
//int TexPow = TextureSizeX * TextureSizeY;
// #if FEATURE_LEVEL <= FEATURE_LEVEL_ES3_1
// int SliceBase = GetModulus(Index, TexPow);
// return int3(GetModulus(SliceBase, TextureSizeX),
SliceBase / TextureSizeY, Index / TexPow);
// #else
int SliceBase = Index % TexPow;
return int3(SliceBase % TextureSizeX, SliceBase / TextureSizeY, Index /
TexPow);
// #endif
}
//float4 CustomData =
SkinWeightTexture[GetDimensionsFromIndex3D(VertexBaseIndex + 6,
MaterialSettings0.x, MaterialSettings0.y, SkinTexPow)];
}
}
}
};