Micro-optimization : we don't ever need more than 4 texture samplers
Micro-optimization : use pointer logic to copy over a vector4 array to a float array, and don't copy more than we need
Some user was having trouble with my usage of PopRange, I have NO IDEA WHY, but this should be safe if slightly less efficient