(1 - index) * texture0.Sample(sampler_state, location) + index * texture1.Sample(sampler_state, location)
i never use if statements in a shader
From what I understand, on any modern card that'd be much slower than a series of if statements. In that case every texture would be accessed regardless, at least with multiple if statements every texture would be accessed only when every texture was accessed simultaneously on a given warp.

Find content
Not Telling