averages are now stored in a 1d texture to bypass uniform limits